[자바][JAVA][프로그래밍언어]자바(JAVA)와 컴퓨터시스템, 자바(JAVA)의 개념, 자바(JAVA)의 특성, 자바(JAVA)의 장단점, 자바(JAVA)의 문자편집, 자바(JAVA)의 이벤트편집, 자바(JAVA)의 Thread처리 심층 분석
본 자료는 5페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
해당 자료는 5페이지 까지만 미리보기를 제공합니다.
5페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[자바][JAVA][프로그래밍언어]자바(JAVA)와 컴퓨터시스템, 자바(JAVA)의 개념, 자바(JAVA)의 특성, 자바(JAVA)의 장단점, 자바(JAVA)의 문자편집, 자바(JAVA)의 이벤트편집, 자바(JAVA)의 Thread처리 심층 분석에 대한 보고서 자료입니다.

목차

Ⅰ. 서론

Ⅱ. 자바(JAVA)와 컴퓨터시스템

Ⅲ. 자바(JAVA)의 개념

Ⅳ. 자바(JAVA)의 특성
1. 간단하다, 객체 지향이다, 친숙하다
2. 신뢰성과 보안성이 있다
3. 아키텍쳐 중립적이며 이식성이 높다
4. 높은 수행성능
5. 인터프리터형이다, 쓰레드를 지원한다, 동적 연결에 기반하여 수행한다

Ⅴ. 자바(JAVA)의 장단점
1. 자바스크립트의 장점
1) 신속한 개발
2) 배우기 쉬움
3) 환경에 독립적
4) 적은 시스템 부하
2. 자바스크립트의 단점
1) 내장 메소드의 한계성
2) 코드의 숨김이 불가능
3) 디버깅 및 개발 도구의 부족

Ⅵ. 자바(JAVA)의 문자편집
1. 주석문과 문자열 출력
2. If문
3. For문
4. 명령행 인자 받아들이기
5. 사용자로부터 키보드 입력받기

Ⅶ. 자바(JAVA)의 이벤트편집
1. 이벤트란
2. 이벤트 핸들러(event handler)
3. 이벤트 흉내내기(event emulating)
4. onLoad 및 onUnload 이벤트 핸들러 활용
5. window.open()의 활용
6. 이벤트와 폼
1) 일반적인 폼 이벤트
2) 기타 폼 이벤트
3) 폼 태그를 이용한 이벤트 핸들러 활용

Ⅷ. 자바(JAVA)의 Thread처리
1. Thread란 무엇인가
2. Thread의 속성값
3. Thread의 Body
1) 간단한 thread 예제
2) Thread의 상태, 단계.
4. Multithreaded Progmrams
5. 동기화

Ⅸ. 결론

참고문헌

본문내용

g philosopher)를 예로 들어 설명하며, deadlock을 피하는 방법을 보이겠다.
Java monitor는 re-entrant이다.
5. 동기화
동시에(concurrently) 실행되는 thread는 data를 공유하기 위해서 서로 다른 thread의 상태(state)와 행동(activities)을 고려햐야하는 재미있는 상황이 자주 발행한다. 일반적으로 생산자/소비자(Procuder/Consumer)의 예를 많이 들어 설명하듯이 이곳에서도 그러한 방식으로 설명하겠다. 예를 들어서, Java application에서 file에 data를 write하는 thread(producer)가 있고, file에서 data를 읽어 오는 thread(consumer)가 있다고 가정하자. 또는, keyboard에서 key입력을 기다릴 때 producer가 key event를 queue에 쓰고, consumer는 같은 queue에서 event를 읽어오는 경우가 있다. 이 모든 예는 common resource를 공유하는 concurrent thread이다. 그리고 이 thread는common resource를 공유하기 때문에, 어떠한 방법으로든 동기화 되어야 한다.
Producer/Consumer Example
다음은 0~9가지 세면서 \"CubbyHole\" object에 값을 저장하고, 값을 출력하는 Producer이다. 그리고 0~100 millisecond동안 불규칙하게 sleep한다.
class Producer extends Thread
private CubbyHole cubbyhole;
private int number;
public Producer(CubbyHole c, int number)
cubbyhole = c;
this.number = number;
public void run()
for (int i = 0; i < 10; i++)
cubbyhole.put(i);
System.out.println(\"Producer #\" + this.number + \" put: \" + i); try
sleep((int)(Math.random() * 100));
catch (InterruptedException e)
다음은 CubbyHole에서 모든 integer를 소모하는 Consumer이다.
class Consumer extends Thread
private CubbyHole cubbyhole;
private int number;
public Consumer(CubbyHole c, int number)
cubbyhole = c;
this.number = number;
public void run()
int value = 0;
for (int i = 0; i < 10; i++)
value = cubbyhole.get();
System.out.println(\"Consumer #\" + this.number + \" got: \" + value);
위의 예에서, Producer와 Consumer는 \"CubbyHole\" object를 통해서 data를 공유한다. 그러나 위의 예에서 Producer가 값을 쓰고, Consumer가 값을 하나 읽는 부분을 명시한 부분은 CubbyHole에서 get(), put() method를 사용하여 내부적으로 표현되었다. 그러나 주위할 점은 이 두 thread의 동기화에 관한 부분은 없다.
그러면 발생되는 첫번째 문제를 고려해본다. Producer가 Consumer보다 빨라서 Producer가 2개를 처리했는데, Cunsumer는 하나밖에 처리하지 못해서, Consumer는 하나를 건너뛰게 되었다. 따라서 다음과 같은 결과가 나올 수 있다.
. . .
Consumer #1 got: 3
Producer #1 put: 4
Producer #1 put: 5
Consumer #1 got: 5
. . .
또 다른 문제점이 발생할 수 있다. Consumer가 Producer보다 빨라서 Cunsumer는 같은 값을 두 번 읽어갔다. 따라서 다음과 같은 결과가 나올 수 있다.
. . .
Producer #1 put: 4
Consumer #1 got: 4
Consumer #1 got: 4
Producer #1 put: 5
. . .
위의 두 경우는 모두 잘못되었다. 우리는 Producer가 정확히 하나를 write하면 Consumer는 정확히 하나를 읽어가기를 바란다. 위와 같이, 하나의 object를 사용하여 여러 개의 thread가 동시에 비동기적(asynchronously)으로 실행되어 잘못된 결과를 초래하는 것을 \"race condition\"이라고 한다. 위와 Producer/Consumer예제에서 race condition을 방지하기 위해, Producer와 Consumer는 동기화(synchronized)가 되어야 한다. 또한, CubbyHole과 같은 object는 동시에 두개의 thread에 의해서 동기화 되면서 접근되는데, 이러한 object를 \"condition variable\"이라고 한다. Java language는 \'monitors\'를 이용하여 condition variable을 이용하는 thread를 동기화 시킨다.
Ⅸ. 결론
자바 프로그래밍 언어를 사용하면, 애프릿-HTML 문서에 포함되는 네트워크 소프트웨어-과 독립형애플리케이션 모두를 잎가성할 수 있다. C나 C++ 프로그래밍 작성에서와 마찬가지로 이 두 종류의 자바프로그램은 텍스트 편집기에서 자바 소스 코드를 작성해야 한다. 그런 다음 자바 컴파일러를 이용해서, 이 프로그램들을 플랫폼에 맞춰 자바 실행 시간 환경에서 실행할 수 있는 이진 바이트코드 포맷으로 컴파일한다. 자바에 대한 의도가 무엇이든 간에 자바 프로그래밍 언어의 구조와 구문을 이해해야한다.
참고문헌
김석주, 김석주와 함께하는 자바2
김희천·정재헌, 완벽 자바 프로그래밍, 생능출판사, 2005
고일석, 예제로 배우는 JAVA programming, 혜지원
윤성우, 열혈강의 C++ 프로그래밍
자바배움터, 생능 출판사, 2001
케이시 시에라·버트 베이츠, HeadFirst Java, 한빛 미디어
  • 가격6,500
  • 페이지수17페이지
  • 등록일2009.05.06
  • 저작시기2021.3
  • 파일형식한글(hwp)
  • 자료번호#533810
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니