JAVA 버전별 특징

By | 2020년 3월 27일
Table of Content

JAVA 버전별 특징

출처1 : https://thatisgood.tistory.com/entry/Java-10-버전-특징
출처2 : https://ggomi.github.io/jdk-version/

JDK 1.0

  • 1996년, JDK 1.0발표

JDK1.1

  • 1997년

  • JDBC, RMI, Reflection, JIT, Inner Class

JDK 1.2

  • 1998년

  • 자바를 세가지 버전으로 나눴다(Java SE 1.2, ME 1.2, EE 1.2 발표)

JDK 1.3

  • 2000년

  • HotSpot(Sun에서 만든 JIT구현)

  • JNDI

JDK 1.4

  • 2002년

  • Regular Expression, Assert keyword, Security 2 version, Non Blocking IO(NIO)

Java 5

  • 2004년

  • Generics , annotation, auto boxing, enum,vararg ,foreach, static imports

  • java.util.concurrent API, scanner class

Java 6

  • 2006년

  • G1(Garbage First) GC 지원

Java 7

  • 2011년

  • try-resource, generics 내 타입추론, 숫자에서 underscore 사용 가능

  • Type Inference (타입 추론)

    // 7 버전 이전
    List list = new ArrayList();
    
    //7 버전 이후
    List list2 = new ArrayList<>();
  • String in switch

    switch (a) {
       case "jeongmin":
           System.out.println("asd");
           break;
       case "jeongmin2":
           System.out.println("qweqwe");
           break;
       default:
           break;
    }
  • Catching Multiple Exception Type in Single Catch Block

Java 8

  • 2014년

  • 오라클 인수 후 첫번째 버전

  • 2개 버전으로 나뉨(Oracle JDK, OpenJDK)

  • Lambda, new Date and Time API(LocalDateTime, …)

  • interface default method

  • Optional

  • PermGen Area 제거

Java 9

  • 2017년

  • 모듈시스템 등장(jigsaw)

Java 10

  • 2018.03

  • var 키워드

  • 병렬 처리 가비지 컬렉션 도입으로 인한 성능 향상

  • JVM 힙 영역을 시스템 메모리가 아닌 다른 종류의 메모리에도 할당 가능

Java 11

  • 2018.09

  • Oracle JDK와 OpenJDK 통합

  • Oracle JDK가 구독형 유료 모델로 전환

  • 서드파티 JDK 로의 이전 필요

  • lambda 지역변수 사용법 변경

    (var x, var y) -> x.process(y)  =>  (x, y) -> x.process(y)

Java 12

  • 2019.03

  • switch문 확장

답글 남기기