java

· Java
쓰레드의 동기화(synchronization) 쓰레드의 동기화(synchronization)란 한 쓰레드가 진행중인 작업을 다른 쓰레드가 간섭하지 못하게 막는 것을 말한다. 싱글 쓰레드 프로세스라면 공유 데이터에 단 하나의 쓰레드 만이 접근하므로 문제가 되지 않는다. 하지만 멀티 쓰레드 프로세스의 경우 두 개 이상의 여러 쓰레드가 자원을 공유하기 때문에 데이터에 동시에 접근하게 된다면 다른 쓰레드에 영향을 미칠 수 있기 때문에 동기화가 필요하다. 동기화를 하지 않을 경우 class Main { public static void main(String args[]) { Runnable r = new RunnableEx13(); // RunnableEx13의 객체 r 생성 new Thread(r,"쓰레드1")..
· Java
프로세스와 쓰레드 (process & thread) 프로세스 : 실행중인 프로그램, 자원(resources)과 쓰레드로 구성 자원이란 메모리, Cpu와 같은 것을 말함 쓰레드 : 프로세스 내에서 실제 작업을 수행, 모든 프로세스는 최소한 하나의 쓰레드를 가지고 있다. 하나의 새로운 프로세스를 생성하는 것보다 하나의 새로운 쓰레드를 생성하는 것이 더 적은 비용이 든다. 멀티쓰레드의 장단점 대부분의 프로그램이 멀티쓰레드로 작성되어 있지만, 멀티쓰레드 프로그래밍이 장점만 있는 것은 아니다. 장점 - 시스템 자원을 보다 효율적으로 사용할 수 있다. - 사용자에 대한 응답성(responseness)이 향상된다. - 작업이 분리되어 코드가 간결해 진다. 단점 - 동기화(synchronization)에 주의해야 한다..
· Java
애너테이션 애너테이션은 주석처럼 프로그래밍 언어에 영향을 미치지 않으며, 유용한 정보를 제공한다. 애너테이션의 등장 배경 기존에는 소스코드와 관련 문서를 따로 작성하여 소스코드 변경시 문서 내용도 변경해야 했지만 그러지 않는게 빈번하게 발생했다. 이로 인해 소스코드와 문서의 불일치 발생하여 소스코드에 주석을 넣어 문서와 소스코드를 합쳐 하나로 만들게 되었다. javadoc.exe 프로그램이 소스파일에서 주석을 추출해 문서를 작성 /** * The common interface extended by all annotation interfaces. Note that an * interface that manually extends this one does not define * an annotation in..
· Java
열거형(enum) 관련된 상수들을 같이 묶어 놓은 것, java는 타입에 안전한 열거형을 제공 C언어의 열거형은 값이 같은지만 체크 자바는 값과 타입 둘다 체크 열거형의 정의와 사용 enum 열거형 이름{ 상수명1, 상수명 2, ...} enum Direction { EAST, SOUTH, WEST, NORTH } 열거형 상수의 비교에 ==와 compareTo()를 사용가능, 비교연산자는 사용 불가 열거형의 조상 java.lang.Enum 클래스 모든 열거형은 Enum 클래스의 자손이며, 아래의 메서드를 상속받는다. values(), valueOf()는 컴파일러가 자동으로 추가한다. values() : 열거형의 모든 상수를 배열로 반환 값이 기본적으로 0, 1, 2, 3...으로 할당 되어 ordinal..
· Java
제네릭(Generics) 제네릭은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미한다. 이를 통해 객체별 다른 타입 데이터를 저장할 수 있게된다. 배열 선언시 [](배열 자료형) 앞에 저장할 자료형의 타입을 저장하는 것과 같이 순서만 다를 뿐 자료형과 (꺾쇠 괄호) 안에 타입을 기재하여 사용한다. 제네릭 예시 : ArrayList list = new ArrayList boolean add(Product e) { .. } list.add(new Product()); list.add(new Box());// Product의 자손이기 때문에 가능하다 복수 타입 변수 타입 지정은 한개만 사용할 수 있는것이 아니다. 만약 여러개의 타입 지정이 필요할 경우 얼마든지 생성이 가능하다. 타입 변수를..
· Java
Collections 클래스 Collections 클래스는 컬렉션을 위한 메서드(static)를 제공한다. 1. 컬렉션 채우기, 복사, 정렬, 검색 - fill(), copy(), sort(), binarySearch() 등 메서드 제공 // entrySet()을 이욥해 map에 저장된 데이터를 불러오는 예시 public static void main(String[] args) { List list = new ArrayList(); // import static java.util.Collections.*; // Collection. 을 생략이 가능해진다. addAll(list, 1,2,3,4,5,6); rotate(list, 2);// 반시계 반얗(오른쪽)으로 회전 swap(list, 0, 2);// 0..
PP_D
'java' 태그의 글 목록 (2 Page)