보호되어 있는 글입니다.
All
보호되어 있는 글입니다.
보호되어 있는 글입니다.
JVM Garbage Collector 관련 변화JVM의 여러 메모리 영역중 PermGen 메모리 영역이 없어지고 MetaSpace영역이 생겼다. PermGen (permanent generation)클래스 메타데이터를 담는 곳(클래스 이름, 스태틱한 필드 정보 등)Heap 영역에 속함Heap영역에 Eden 영역(young-genration 만든지 얼마 안된 객체), Old 영역(만든지 오래된 객체), PermGen 영역이 있음기본값으로 제한된 크기를 가지고 있음-XX:PermSize=N : PermGen 초기 사이즈 설정-XX:MaxPermSize=N : PermGen 최대 사이즈 설정PermGen영역은 항상 고정된 크기를 가지고 생성되는데,클래스 로딩을 많이 하거나 동적으로 클래스를 많이 생성하는 경..
Arrays.parallelSort()정렬할 때 Fork/Join 프레임워크를 사용해서 배열을 병렬로 정렬하는 기능을 제공한다. 병렬 정렬 알고리즘배열을 둘로 계속 쪼갠다.합치면서 정렬한다. sort() 와 parallelSort() 비교int size = 1500;int[] numbers = new int[size];Random random = new Random();IntStream.range(0, size).forEach(i -> numbers[i] = random.nextInt());long start = System.nanoTime();Arrays.sort(numbers); //일반적인 sort : 쓰레드 1개만 사용System.out.println("serial sorting took " +..
Annotation 변화Java 8부터 어노테이션을 타입 선언부에도 사용할 수 있게 되었다.Java 8부터 어노테이션을 중복으로 사용할 수 있게 되었다. 타입 선언부에 사용타입 선언부제네릭 타입변수 타입매개변수 타입예외 타입타입에 사용할 수 있으려면 @Target에 아래 값을 넣어주어야 한다.TYPE_PARAMETER : 타입 변수에만 사용할 수 있다.TYPE_USE : 타입 변수를 포함하여 모든 타입 선언부에 사용할 수 있다.@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE_PARAMETER) //타입 변수에만 사용public @interface Chicken { //어노테이션 생성}public class App { public static v..