java/자바 (68) 썸네일형 리스트형 [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이 오류내면서 멈춤 멀티 캐치 구문 [Chap14] - 01 예외 및 예외처리 일반 예외: 문법을 체크한다: 예외처리가 필수 --> 문법에러 : 실행이 안됨 실행 예외: 문법을 체크 안한다 발생하면 프로그램이 종료된다 일반 예외 5가지 반드시 예외 처리한다 인터럽트입셉셥 클래스 못찾음. 동적으로 클래스 가져옴 입력받음 -> 오류 발생할 수 있음 4.파일이 없을 수 도 있음 5.객체가 클론을 제공안하면 예외처리해라 실행 예외 5가지 계산 못함 부모로 선언하고 자식으로 형을 변경 안됨 배열 인덱스 없음 4.문자는 숫자로 변경 안됨 5.null 을 가리키는데 무슨 charAt이여 예외 처리 일반 예외: 문법을 체크한다: 예외처리가 필수 --> 문법에러 : 실행이 안됨 실행 예외: 문법을 체크 안한다 발생하면 프로그램이 종료된다 ====> 예외처리 가능 캐치 구문 여러개로 선언 가능 효율.. ch13 익명 이너 클래스 익명 : 클래스 이름이 없다 이너 클래스 : 클래스 안에 클래스 있다 인터페이스로 객체 만드는 법 2개 자식 클래스 생성 익명 클래스 사용 자식 클래스는 인터페이스를 상속받으면 미완성 메소드를 완성시켜야한다. 익명클래스는 인터페이스 타입으로 만 만들수 있다. 왼쪽은 new B(); 오른쪽은 new C(); 인 것과 같다. 또한 추가로 cde() 함수를 추가할 수 없다. 1번처럼 매개변수로 인터페이스를 달라고 하면? 인터페이스는 객체를 못 만든다. 인터페이스로 객체 만드는 법 2개 자식 클래스 생성 익명 클래스 사용 문제가 되는 cde(a);함수를 호출하려면 방법1) 자식 클래스를 만든다. 1) 클래스 C의 객체를 생성한다. C객체를 호출하기 이전에 매개 변수로 전달할 객체를 생성한다. 2) 인터페이스 A.. Ch13 이너 클래스, 이너 인터페이스 클래스 안에 4가지 들어갈 수 있다 필드 (멤버) 메서드 (멤버) 생성자 이너클래스 (멤버) 멤버: 클래스 중괄호 안에 정의됨, 생성자는 멤버가 아니다. 클래스 내부에 있는 클래스의 종류 3가지 1. 인스턴트 멤버(이너) 클래스 : 클래스 바로 아래 클래스 2. 정적 멤버(이너) 클래스 클래스 바로 아래 정적 클래스 3. 지역 이너 클래스 클래스 안에 함수 안에 클래스 int a 를 예시로 들자 클래스 내부에 정의하면 필드라고 한다. 함수 내부에 정의하면 지역변수라고 한다. 멤버변수는 객체가 생성되어야 사용할 수 있다. 반면 static은 클래스가 생성되면서 바로 사용할 수 있다. 1. 이너클래스를 사용하고싶으면? 객체를 먼저 생성해야한다! 2. 이너 클래스의 존재 이유 => 객체를 만든다. 클래스는 붕.. Ch12 인터페이스 인터페이스를 콘센트라고 생각해라 그러면 input output이 상관없다 인터페이스는 객체 생성 못함 인터페이스는 두 개가 적용되어야 한다 public static final -> 필드 public abstract -> 함수 public 모든 내용물에 공유 + static 객체 생성 안 해도 사용할 수 있다 + final 값을 변경할 수 없다 생략이 가능하다. public static final 진짜로 안 넣어도 붙을까? ㅇㅇ 자동으로 넣어준다. 증거? 값을 변경이 안됨 final 특징떄문에 a, b변수 둘다 변경 안되잖아. 오버라이딩 완성 --> 완성 재정의 함: 오버라이딩 미완성 --> 완성 재정의 함: 오버라이딩 + 구현하기 (implements) implements ==> 구현을 해야한다 다중 상.. 이전 1 2 3 4 5 6 7 ··· 9 다음