들어가기 앞서..
Java 11 은 Java8 이후 첫 번째 LTS(장기 지원) 릴리스이다.
Oracle도 2019년 1월 Java 8 지원을 중단하는 등 결과적으로 많은 사람들이 Java 11로 업그레이드 할 것이다.
Java8과 11의 차이점
Java 8 | Java 11 |
애플릿 뷰어 도구 사용 가능 | 애플릿 뷰어 도구 사용 불가능 |
AWTUtilities 클래스 사용하지 않는 것이 좋음 | AWTUtilities 클래스 사용 불가 |
String 문자열 관련 메소드가 적다 | isBlank(), line(), repeat(n), stripLeading(), stripTrailing(), strip() 등과 같은 새로운 String 문자열 방법이 도입됨 |
람다 파라미터에는 특수 변수가 사용되지 않음 | 람다식에 사용할 var 변수를 사용할 수 있음 |
Java Deployment Technologies 사용 가능 | Java Deployment Technologies 사용 불가능 |
JMC 및 JavaFX는 Oracle JDK에서 사용 가능 | JMC와 JavaFX는 자바 11의 Oracle JDK에서 제거 |
파일에 적합한 방법이 없음 | writeString(), readString(), isSameFile()과 같은 다양한 메소드가 있어 파일에 대해 여러 작업을 수행할 수 있음 |
패턴을 인식 할 수 없음 | 패턴 인식은 asMatchPredicate() 메소드의 도움으로 가능 |
애플릿(Applet)이란?
패널(Panel)을 상속하는 클래스로 웹브라우저에 담겨서 실행되는 작은 응용프로그램을 말한다.
AppletViewer : 자바 애플릿을 실행하기 위함이지만, 2015-2016년 사이에 지원을 종료했고, 이제와서 굳이 사용할 일이 없기 때문에 자바 11부터는 지원하지 않음.
AWTUtilities란?
GUI를 지원하기 위한 라이브러리로 오류가 많아서 자바8부터 사용 안하는 것을 권장했다.
String 관련 메소드
- isBlank() : 문자열이 비거나 공백일 경우 true 반환
- lines() : 문자열을 줄 단위로 쪼개어 스트림 반환
- repeat(n) : 문자열에 대해 n번 반복하여 붙여 반환
- stripLeading() : 문자열 앞 공백 제거
- stripTrailing() : 문자열 뒤 공백 제거
- strip() : 양쪽 공백 제거
람다에서 var 변수 사용 가능
람다는 타입을 스킵할 수 있는데 이걸 사용하는 이유는 @Nullable 등의 어노테이션을 사용하기 위해 타입을 명시해야 하기 때문이다.
var를 사용하려면 괄호를 써야하며, 모든 파라미터에 사용해야 하고, 다른 타입과 혼용하거나 일부 스킵은 불가능하다.
ex) (var n1, var n2) -> n1 + n2
JMC 및 JavaFX
JMC(JDK Mission Control)는 더이상 JDK에 포함되지 않는다. 이제 독립형 버전의 JMC를 별도의 다운로드로 사용할 수 있다.
JavaFX 모듈도 마찬가지. JavaFX는 JDK 외부에서 별도의 모듈 세트로 사용할 수 있다.
File 처리 방법
- writeString() : 파일에 문자열을 쓰고 경로로 반환
- readString() : 파일 내용을 String으로 반환
- isSameFile() : 서로 같은 파일을 바라보는지 확인, 같은 파일일 경우 true, 아니면 false
패턴 인식
Java 8에서는 asPredicate()를 통해 주어진 문자열에서 패턴을 찾을 수 있는지 테스트하기 위해 '조건자'를 반환.
Java 11에서는 asMatchPredicate()를 통해 패턴이 주어진 문자열과 일치하는지 테스트하기 위해 '술어'를 반환.
참조
'Java' 카테고리의 다른 글
Comparable와 Comparator (0) | 2021.08.22 |
---|---|
Exception 클래스 개념 및 종류 (2) | 2021.08.22 |
입력받은 문자열에서 해당 문자열을 찾는 방법(String, StringTokenizer) (0) | 2021.08.15 |
StringTokenizer 클래스와 메소드 정리 (0) | 2021.08.14 |
StringBuffer, StringBuilder 클래스와 메소드 정리 (0) | 2021.08.14 |