Java

Java

ThreadPool

ThreadPool은 멀티 스레드를 이용해야할때 Thread를 효율적으로 관리하기 위해 사용합니다. Thread를 효율적으로 관리한다는 말은 어떤뜻일까요? 저는 ThreadPool을 한마디로 정의하면 아래와 같이 말할것 같습니다. Thread를 재활용하기 위한 저장소 주의 : QueueCapacity 그럼 ThreadPool에 대해 자세히 알아보겠습니다. ThreadPool을 사용하지 않을때 Context Switching java는 One-to-One Threading-Model로 Thread를 생성합니다. 즉, OS Thread와 UserThread를 1:1로 생성하는 것입니다. 그렇다면 Thread를 생성할때마다 OS kernel의 작업이필요하게됩니다. 즉, Context Switching이 일어나..

Java

자바 컬렉션

자바의 컬렉션이 필요한 이유와 어떻게 사용하는지 알아보겠습니다. 컬렉션이란? 여러개의 객체를 하나의 객체에 담아 처리할 때 공통적으로 사용되는 여러 메소드들을 선언해 놓은 것 List, Set, Queue가 있습니다. Map은 별도의 인터페이스로 구현되어있습니다. Collection 인터페이스는 java.util 패키지에 선언되어 있습니다. List (순서 O, 중복 O / 대기자 명단) Set (순서 X, 중복 X / 집합) Map (순서 X, 키중복 X, 값중복 O / 아이디 패스워드) 컬렉션을 사용하면 유지보수가 편해집니다. Collection인터페이스의 주요 메서드 public interface Collection extends Iterable Iterable를 확장하고 있습니다. Iterable..

Java

제네릭 사용 이유

객체의 타입을 미리 정해 번거로운 형변환을 줄여주고 컴파일시 객체의 타입을 체크하기 위해 사용합니다. 즉, 사전에 형 변환시 발생하는 문제점을 없애기 위해 사용합니다. 사용 이유 객체선언시 타입을 정하기 때문에 객체안에 잘못된 타입이 사용될 수 있는 문제를 컴파일 과정에서 제거 가능 불필요한 형변환 줄이기 위해 제네릭 사용 전 class Box { Object item; void setItem(Object item) {this.item = item;} Object getItem() {return item;} } public class JavaChapter { public static void main(String[] args) { Box box = new Box(); box.setItem("AAA"); ..

Java

java.lang 패키지

java.lang 패키지는 아주 특별한 패키지입니다. 그 이유는 클래스를 import하지 않아도 사용할 수 있기 때문입니다. 그만큼 자바에서 꼭 필요한 기능들을 제공합니다. 언어 관련 기본 문자열 관련 기본 자료형 및숫자 관련 스레드 관련 예외 관련 런타임 관련 숫자 클래스 숫자의 기본 자료형은 스택에 저장됩니다. 하지만, 객체로 처리해야할 때를 대비해서 java.lang패키지에 아래와 같은 클래스들이 있습니다. Byte, Short, Integer, Long, Float, Double, Character, Boolean 기본 자료형의 계산이 객체 타입보다 빠릅니다. 기본자료형은 Stack에 저장되어 바로 계산이 가능하지만, 참조자료형은 Heap에 접근하고 값을 꺼내와야 하기 때문입니다. Charater..

Sol b
'Java' 카테고리의 글 목록 (2 Page)