본문 바로가기

java

(97)
[Chap17] - Set(HashSet, LinkedHashSet, TreeSet) [Chap17] - Set(HashSet, LinkedHashSet, TreeSet) 1. Set 컬렉션 2. HashSet 3. LinkedHashSet 4. TreeSet 크기 비교 5. Set 요약
[Chap17] 컬렉션 List (ArrayList, Vector, LinkedList) 컬렉션: 동일한 타입을 묶는다 프레임 워크: 클래스와 인터페이스를 설계함 라이브러리: 클래스와 인터페이스의 조합 컬렉션의 5가지 1. List. (인터페이스) 2. Set (인터페이스) 3. Map (인터페이스) 4. Queue (인터페이스) 5. Stack (클래스.. 이미 구현 됨) 1. List. (인터페이스) 1) ArrayList 2) Vector 3) LinkedList ArrayList vs LinkedList 정리
Ch16 제네릭
[Chap15] - 06 쓰레드의 상태 #2 t1이 사용하고나면 기다리고 있던 t2,t3,t4와 반환된 t1 다시 블록을 차지하기 위해 자유경쟁 한다. 키를 얻으면 run nable 된다 쓰레드 3개가 모두 같은 mc 클래스객체를 사용한다. 쓰레드 실행하고 1억초 실행함 경쟁하지만 동시에 안되고, 하나씩만 됨. 웨이트 메서드 조인 메서드 ---> 인터럽트 하면 웨이팅에서 벗어나서 런어블됨 일시정지 상태는 두개로 나뉜다. 둘다 인스턴스 메서드다. 객체 안에서만 사용할 수 있는 메서드다. set 스레드 get 스레드 동기화: 공유 객체 있을 때만 쓴다. 동기화 안하는 경우: 셋하고 있지만 겟을 할수 있다. 파일이 안열림 동기화만 하는 경우: 겟이 먼저하는 경우-> null, 셋이 먼저하는 경우-> 값 있음 => 값이 계속 변함 싱크로나이즈가 동기화가 ..
[Chap15] - 05 쓰레드의 상태 #1 [Chap15] - 05 쓰레드의 상태 #1 이넘 타입 객체를 만들음 객체를 실행시킴 양보를 하는 메소드는 있으나, 내가 쓸래 메소드는 없다. 객체 끝나면 끝. 다시 실행안됨. 모든 쓰레드는 일회용이다. 이렇게 Tread.State 타입으로 변수를 선언하고, thread.getState() 함수 호출 뒤, print를 하면 변경되는 상태를 확인할 수 있다. main 쓰레드가 thread.join()을 호출했으므로 main 쓰레드는 멈춘다. 그리고 thread 가 실행된다. 1억번을 돌리는데 0.5초가 걸려서 thread1 실행이 2번 나온거다. 왜냐면 1초마다 상태를 변경하기 때문에 yield는 실행대기 실행을 왔다갔다 이 쓰레드는 생성되자마자 3초동안 잠만 잔다. 만약에 interrupted Excep..
[Chap15] - 04 쓰레드 동기화 [Chap15] - 04 (이론) 쓰레드 동기화 쓰레드1 끝나고 쓰레드2 진행해라.. 동기화! 멀티쓰레드와 대치된다. 동기화는 성능면에서 무거워진다. 동기화: 한 번에 두가지 일을 동시에 하지 않겠다. 이 블록을 두개의 쓰레드가 사용하지 않게 하겠다 메서드 동기화 하는 방법: 메소드 앞에 syncronized 붙이면 동기화 메소드된다. 메소드 동기화 첫번째 메서드가 끝날때까지 2번이 기다린다. 블록 동기화 임의의 객체 == 아무 객체나 넣어도 된다 쓰레드2는 다 접근 못함 3개는 this 라서 동시에 실행안된다
[Chap14] - 03 예외(Exception) 클래스 사용자 정의 상속 종류에 따라 내 마음대로 예외를 만들 수 있다. 일반 예외: 컴파일 전 단계에서 필터링 가능 실행 예외: 실행하면서 예외 가능 커스텀 예외 만드는 방법 1) 생성자 2개 만들어야 함!!! (1) 기본 생성자 (2) 문자열 생성자 2)객체 생성 3) throw로 예외 발생시키기 예외 메세지 전달 getMessage()함수로 메세지를 가져올 수 있다. printStackTrace() 함수는.. 스택 쌓이는데로 출력해라
[Chap14] - 02 예외(Exception)의 전가(throws) throw로 함수를 호출한 부분에게 에러 처리를 전가한다. 왜 트라이 캐치가 필요했을까? 바로 throw했었기 때문에 무조건 처리해줘야함 계속해서 throw할수 있음 계속 throw하면 결국에는 jvm이 오류내면서 멈춤 멀티 캐치 구문