쓰레드 실행 중인 프로그램 을 프로세스라 한다. 프로세스 내부에 둘 이상의 쓰레드가 존재할 수 있다. 어떤 프로세스든 간에 쓰레드가 하나 이상 수행된다. 아무런 쓰레드를 생성하지 않아도 JVM을 관리하기 위한 여러 쓰레드가 존재한다. 왜 쓰레드라는 것을 만들었을까. 하나의 작업을 동시에 수행하려고 할 때 여러 개의 프로세스를 띄워서 실행하려면 각각 메모리를 할당해 주어야만 한다. 그에 반해, 쓰레드를 하나 추가하면 더 적은 메모리를 점유하게 된다. 어떤 작업을 할 때 단일 쓰레드로 실행하는 것보다는 다중 쓰레드로 실행하는 것이 더 시간이 적게 걸린다. 자바에서는 쓰레드도 하나의 인스턴스로 정의한다. 쓰레드는 쓰레드만의 main메소드를 지닌다. 단 이름은 main이 아니라 run이다. 쓰레드를 생성하는 방..
ReflectionWhat? 객체를 통해 클래스의 정보를 분석해 내는 프로그래밍 기법을 말한다. 구체적인 클래스 타입을 알지 못해도, 컴파일된 바이트 코드를 통해 역으로 클래스의 정보를 알아내어 클래스를 사용할 수 있다는 것이다. 리플렉션 기법을 통해서 형을 모르는 상태에서 객체의 메서드를 호출할 수 있다. 동적 바인딩이 되지 않던 자바에서 리플렉션이라는 프로그래밍 기법을 통해 동적 바인딩을 제공하는 것이다. Why? Composition 과 함께 사용되어 다형성을 구현하기 위해 사용된다. 조합을 사용하여 교체할 수 있는 위임 클래스를 리플렉션을 통해 동적/정적으로 생성하고 교체하는 방식으로 사용된다. 프레임워크에서 유연성을 위해 자주 사용되는 방식이다. 자바의 모든 타입은 연관된 Class 객체를 갖고..
Chapter 14 - 1. Collection Framework - List데이터의 저장, 그리고 이와 관련 있는 알고리즘을 구조화 해 놓은 프레임워크이다.자료구조 알고리즘을 클래스로 구현해 놓은 것이다. 컨테이너 클래스라고도 한다. 모든 인터페이스가 제네릭으로 정의되어있다.컬렉션 프레임워크 분류자바의 컬렉션 프레임워크에서는 크게 3가지 타입이 존재한다고 인식하고 3개의 인터페이스를 정의하였다.List < CollectionSet < CollectionMap그리고, List와 Set의 공통부분을 다시 뽑아, Collection 이라는 인터페이스를 정의하였다.List | 동일한 인스턴스의 중복을 허용한다| 인스턴스 저장 순서가 유지된다.ex> ArrayList, LinkedList, Stack etc....
Chapter 13. Enum 열거형final로 지정한 상수가 이름이 중복되는 경우가 발생한다.열거형이란,자바의 열거형은 C언어의 열거형보다 더 향상된 것으로 열거형이 갖는 값뿐만 아니라 타입까지 관리한다. JAVA에서 상수는 어떻게 정의하는가?1. public static final 을 이용하여 123public static final FRUIT_APPLE = 1;public static final FRUIT_ORANGE = 2;public static final COMPANY_APPLE = 3;cs 2. interface를 이용한다.(public static final 을 생략할 수 있다.) 1234interface FRUIT { FRUIT.APPLE COMPANY.APPLE}cs(FRUIT.APPL..
Chapter 12. Generics Java는 안전성을 가장 우선시한다.그런 점에서 지네릭스는 안전성을 높이기 위한 Java가 제공하는 수단 중 하나가 되겠다.사전적 정의로는 '포괄적인', '일반적인' 이란 뜻이다.클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법으로, 매개변수와 비슷하게 작동한다.매개변수가 어떠한 변수에 들어갈 값과 관련되어있는 것이라면 제네릭은 어떠한 변수의 데이터 타입과 관련되어있는 것이라고 볼 수 있다. Generics란,다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능을 말한다. 문 법 꺽쇠로 시작해서 꺽쇠로 끝나는 문자가 있다.12345class Person { public T info;}Person p1 = new Per..
- Total
- 1,569,011
- Today
- 217
- Yesterday
- 366