본문 바로가기

Java

(2)
Java 의 Generic Type Erasure Type Erasure 타입 소거, 타입 삭제 등 다양하게 불리는 Type Erasure는 제네릭의 원소 타입을 컴파일 타입에서만 검사하고 런타임에서는 해당 타입 정보를 교체하는 것을 의미한다. 교체를 아무렇게나 하는 게 아니라 unbiunded type 은 object로 즉 , 와 같은 형태는 object로 교체하고 bounded type 은 bound type로 즉 는 String로 교체한다. unbiunded type의 Type Erasure public class CommonClass { public static String method(String str) { return str; } } @Test public void commonClassTest() throws NoSuchMethodExcep..
박사 학위 논문인 가비지 컬렉션 자바는 블루 칼라(주로 생산직에 종사하는 육체 노동자) 언어입니다.박사 학위 논문 주제가 아니라 일을 하려고 만든 언어죠. — 제임스 고슬링(자바의 아버지) — 저수준 세부를 일일이 신경쓰지 않는 대가로 저수준 제어권을 포기한다는 사상이 자바의 핵심이다. 아버지 입장에서는 ‘메모리 해제' 라는건 박사 학위 논문 급이니 우리보고 이런 대단한건 신경쓸 시간에 소녀시대 노래를 들으라고 하는거같다. 그 대단한 박사 학위 논문 주제를 해주는 가비지 컬렉션을 알아보자. 위의 표는 대부분의 객체 들이 짧은 시간동안만 활동한다는것을 확인한 그래프 이다. 이를 통해 약한 세대 가설(weak generational hypothesis) 이 만들어졌고 객체의 대부분을 짧은 기간만 활동하기에 JVM 의 Heap 영역을 설계할..