본문 바로가기
My Image
반응형

2017/0716

[Java] Generic(제네릭) 이번시간은 자바5부터 도입된 Generic(제네릭)타입에 대해서 알아보자. 우리가 생각하는 데이터타입이라하면, int, char, double...같은 기본데이터타입이 생각난다.그렇다면 Generic(제네릭)이란...이런 데이터타입을 아직 명시하지 않은 상태라고 생각하면된다. 즉 클래스안에서 사용하는 데이터타입을 미리 정의하지 않고, 클래스를 인스턴스화 하는 시점에데이터타입을 지정해주는 방식을 가능케한다. 제네릭 구현 방법은 아래와 같이 사용할 수 있다.public class 클래스명{ ... }public interface 인터페이스명{ ... } 이제 코드를 통해 알아보자.자바의 모든 클래스의 최상위 조상(부모) 클래스는 Object 클래스이다.그렇다면, 어느타입이든 Object클래스는 기본데이터타입.. 2017. 7. 10.
[Java] Thread Pool(스레드 풀) Thread Pool(스레드 풀) 이란?? 오늘은 스레드 풀에대해서 간략하게 알아보자. 간단하다. 스레드를 미리 만들어 놓은 하나의 풀장...이라고 생각하면된다.군대를 빗대어보면, 전쟁이 나서 사방팔방에서 국지전을 펼친다고 생각해보자.그때그때 추가병력을 요청할때마다 당신이 지휘관이라면, 1명씩 지원을 보낼텐가??? 아니다. 미리 100명의 군인을 섭외해서 다중적으로 발생되는 국지전을 대비해 예비 병력을 갖추고 즉각 국지전에 대응해야한다. 이제 감이 좀 잡혔을 것이라고 본다. 그렇다면 이제 SW적으로 접근해보자."스레드"라는 녀석이 생성될 때 컴퓨터 내부적으로 운영체제(OS)가 요청을 받아들여 메모리공간을 확보해주고 그 메모리를 스레드에게 할당해준다. 스레드는 동일한 메모리영역에서 생성되고 관리되지만, 생.. 2017. 7. 7.
[Java] multiThread name - 스레드 이름 스레드는 자신의 이름을 가지고 있다. 자바에서 기본적으로 제공해주는 싱글스레드 즉 mainThread는 main이라는 이름을 이미 가지고있고 우리가 만드는 작업스레드는 우리가 따로 스레드이름을 정의해주지 않으면 Thread-n과 같은 형식으로 이름이 부여된다 만약 우리가 스레드 이름을 정의하고 싶으면 setName("스레드 이름"); 같이 메서드를 실행하면되고, 스레드 이름을 얻어오려면 getName(); 메서드를 통해 이름을 얻어올 수 있다. (setName("스레드이름"),getName()메서드는 기본적으로 thread를 참조하면 제공되는 메서드다.) 아래 간단한 예제를 보고 스레드 이름을 정의하는 것을 익혀보자. package MultiThreadName; public class Main { pub.. 2017. 7. 2.
[Java] multi thread 구현 02 멀티스레드 구현 2번째 시간 일전에 스레드를 만드는 방법 2가지가 있다고 소개했었다. 1. java.lang.thread 클래스를 직접 객체화해서 생성 2. Thread를 상속받아 하위클래스에서 구현하는 방법. 오늘은 두번째 방법인 작업스레드가 Runnable 인터페이스를 구현시켜 만든 Task(작업스레드가 작업할 일)을 따로 구현하지 않고 Thread를 상속받아 하위클래스에서 run()메서드를 오버라이딩해서 구현하는 방법을 소개한다. 간단하다. 아래 코드를 보자. MultiThreadImplement_02 패키지를 보면 WokerThread 클래스는 Thread를 상속받아 run()메서드를 오버라이딩해서 구현했다. package MultiThreadImplement_02; public class Wor.. 2017. 7. 2.
반응형