JAVA

    [Java] 릴리즈 버전별 특징

    Java 8 LTS (2014.03)지원 기간 : 2030.12람다 표현식 (Lambda Expressions)스트림 API (Streams API)새로운 날짜와 시간 API (java.time)Ex) LocalDateTime인터페이스의 디폴트 메서드 (Default Methods)메타공간 (Metaspace) 메모리 관리Permanent Heap 영역이 제거 - Perm은 JVM에 의해 크기가 강제되던 영역Metaspace영역은 OS레벨에서 관리하는 영역이 되기에 Metaspace가 Native메모리를 이용함으로서 개발자는 영역 확보의 상한에 대한 오버헤드가 감소한다.Java 9 (2017.09)모듈 시스템 (Project Jigsaw)Jigsaw는 모듈을 만들고 모듈에 명시적으로 외부에서 호출할 수 ..

    [JAVA] Arrays.sort() Collection.sort() 정렬 알고리즘

    [JAVA] Arrays.sort() Collection.sort() 정렬 알고리즘

    Java에서 정렬에 대해서 크게 Arrays.sort()와 Collection.sort()가 존재하는데 이 두 메서드는 내부 구현에 차이가 있어 정리를 하고자 한다.Arrays.sort()배열을 정리하는데 사용된다. 원시 타입 배열(int[], char[], etc.)와 객체 배열(String[], Integer[], etc.) 모두 정렬할 수 있다.정렬 방식원시 타입 배열의 경우, Dual-Pivot Quicksort 객체 배열의 경우, TimSortCollection.sort()List를 정렬하는데 사용되어 List 인터페이스를 구현한 모든 컬렉션(ArrayList, LinkedList 등)을 정렬할 수 있다.정렬방식TimSort 방식으로 정렬을 하는데 TimSort를 정렬에 Arrays.sort()..

    [JAVA] GC(Garbage Collector) 동작과정, 종류, Java Default GC, Java Command

    [JAVA] GC(Garbage Collector) 동작과정, 종류, Java Default GC, Java Command

    GC(Garbage Collector) 동적으로 할당한 메모리 영역 중 사용하지 않는 영역을 탐지하여 해제하는 기능 GC 종류 SerialGC 단일 스레드로 작동한다. JVM 옵션: -XX:+UseSerialGC ParallelGC 여러 개의 스레드를 사용하여 Young Genertaion영역에서 가비지 컬렉션을 수행한다. JVM 옵션: -XX:+UseParallelGC Parallel Old GC Parallel GC의 구세대 버전으로 Old Generation 영역에서 병렬로 가비지 컬렉션을 수행한다. JVM 옵션: XX:+UseParallelOldGC JVM 옵션: XX:+UseParallelOldGC Concurrent Mark Sweep(CMS) GC 낮은 중지 시간을 목표로 하는 멀티프로세싱 ..

    [Algorithm] JAVA 코드업 기초 100제 (기초-1차원배열, 2차원배열) 1093 ~ 1099

    1093 : [기초-1차원배열] 이상한 출석 번호 부르기1(설명) public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s1 = sc.nextLine(); String s2 = sc.nextLine(); int[] array = new int[23]; int[] call = Arrays.stream(s2.split(" ")) .mapToInt(Integer::parseInt) .toArray(); for(int i=0; i

    [Algorithm] JAVA 코드업 기초 100제 (기초-종합) 1078 ~ 1092

    1078 : [기초-종합] 짝수 합 구하기(설명) public static void main(String[] args) { Scanner sc = new Scanner(System.in); int s = sc.nextInt(); int sum=0; for(int i=0; i