join과 sleep 메소드를 이용해서 대기 및 스레드 중단에 대한 구문을 해석할 수 있다
스레드와 동기화 및 Object 클래스의 메소드를 이용해서 스레딩의 원리를 해석할 수 있다.
네트워크 구문에 대한 전반적인 이해를 할 수 있다.
UDP / TCP의 작동원리를 구분할 수 있다.
java.net의 클래스들을 이해하고 설명할 수 있으며 소켓에 대한 개념을 설명할 수 있다.
Tread의 메소드인 join은 final 메소드이고 오버라이드 하지않는다.
join() : 다른 스레드의 처리가 끝날때 까지 대기 시키고 싶을 때 처리하는 경우에 사용된다.
sleep() : 스레드 중단
다이어그램을 보고 Stack의 기능을 살펴보고 갔다.
Stack은 바닥부터 값을 쌓고 위에서 부터 추출한다.
pop() = 값을 stack에서 제거(추출)한다.
push() = 값을 stack에 추가(쌓는다)한다.
TCP와 UDP의 작동원리 및 흐름도
둘다 socket을 통해 통신하고
TCP = ftp,http,telent,smpt 등에 사용한다.
UDP = NFS,TFPT 등에 사용한다.
톰캣 설치 후 conf폴더의 파일들에 대한 설명
설치와 연동하는 법은 따로 글을 작성하으니 참고하기 바랍니다.
톰캣 설치후 연동
연동 후 Myweb이라는 서버를 만들고 Webcontant폴더 아래 test폴더를 만든 후 웹 생성 (로컬 호스트로 들어간다.)
html을 사용할 수 있다.
img폴더를 만들고 사과 이미지파일을 넣었다.
img src="../img/apple2.jpg" 코드를 추가하여 이미지 파일을 웹으로 불러왔다.
좌측에 Servers 빨간박스는 톰캣이 설치된 폴더의 conf폴더의 복사본이다.
콘솔창에 Servers는 bin 폴더와 연동한다.
-com.test : join / sleep 메소드 활용
join() : 다른 스레드의 처리가 끝날때 까지 대기 시키고 싶을 때 처리하는 경우에 사용된다.
sleep() : 스레드 중단
주의할 점 : 교착 상태
- Join(long millis)로 시간을 지정하게 되면 지정된 시간이 지나면
스레드가 실행 중 이더라도 다음 작업을 수행하게 된다.
-만일 두개의 스레드가 동일한 시간을 대기로 구현한다면 서로 지정된 시간이 끝날 때까지
스레드가 실행 되지 않은 "교착 상태" 가 된다.
com.test01 : 동기화 확인 << 스레드 간의 약속>>
Object : wait () [현재 스레드를 대기상태로 pool]
-> notify() -> notifyAll() [대기상태 pool에 있는 스레드를 실행으로]
synchronized : 메소드 선언부분 , 메소드안에서 synchronized{this} 안에 코드를 작성한다.
ex) public synchronized void push(char c) {}
ex) public void push(char c) {synchronized {this} }
com.test02 : java.net 클래스를 이용해서 URL 탐색
com.test03 : UDP / TCP