티스토리 뷰

Java

[Java] Java 11 기능

joeylee 2020. 12. 19. 21:11

Java11

  • Java 11 이후 Oracle JDK는 더 이상 상업적 용도로 무료로 사용할 수 없습니다.(무료로 사용하려면 OpenJDK 사용)

 

추가된 기능

  • javac 명령 사용하지않고 java 명령어로만 실행가능 (암시적 컴파일)

  • String 클래스 새로운 유틸리티 메서드 추가

    • isBlank() - 빈 문자열 및 공백 만있는 문자열은 공백처리

      System.out.println(" ".isBlank()); //true  
      String s = "joeylee";
      System.out.println(s.isBlank()); //false
      String s1 = "";
      System.out.println(s1.isBlank()); //true
    • lines() - 라인단위로 분할해 스트림으로 반환

      String str = "TEST\nTEST\nTEST"; 
      System.out.println(str);
      System.out.println(str.lines().collect(Collectors.toList()));
    • strip() - 문자열 시작끝 공백 제거(java8에서 trim과 달리 공백에 관한 유니코드 처리지원)

      String str = " joeylee ";
      System.out.print(str.strip());
    • repeat() - 문자열을 여러번 반복

      String str = "=".repeat(2);
      System.out.println(str); //prints ==
  • http 클라이언트

    • HTTP / 1.1 및 HTTP / 2를 모두 지원합니다. 클라이언트가 요청을 보내고 서버에서 응답을받는 전체 성능을 향상 시키도록 설계되었습니다. 또한 기본적으로 WebSocket을 지원합니다.

 

  • 중첩 기반 엑세스 제어

      public class Main {
    
          public void myPublic() {
          }
    
          private void myPrivate() {
          }
    
          class Nested {
    
              public void nestedPublic() {
                  myPrivate();
              }
          }
      }
    • nested 클래스에서 자신, 혹은 outer 클래스의 private 멤버에 리플렉션을 통한 접근을 시도하면 IllegalAccessException 이 발생했고, 이를 피하기 위해 setAccessible(true) 을 호출해야만 했습니다
    • Java 11 부터는 java.lang.Class리플렉션 API getNestHost()에 getNestMembers(), 및 isNestmateOf()로 해결합니다

 

  • Elipson GC 추가

    • Elipson은 테스트 환경에만 적합합니다. 프로덕션 에서 OutOfMemoryError 로 이어지고 응용 프로그램이 중단됩니다.
    • Elipson의 이점은 메모리 정리 오버 헤드가 없다는 것입니다. 따라서 정확한 성능 테스트 결과를 제공하고 더 이상 중지를 위해 GC를 수행 할 수 없습니다.

 

  • var 람다 파라미터 사용

    • 10에서 등장한 지역변수로써 사용되어 타입을 추론 하는 var 이외에 var를 람다 표현식에 쓰는경우 전달되는 parameter들의 타입을 추론 가능합니다

      (var s1, var s2) -> s1 + s2
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함