Java | Java 11

DoItDev·2021년 10월 26일
0
post-thumbnail

새로운 String 메서드 추가

  • stript(): 문자열 앞, 뒤의 공백 제거
  • stripLeading(): 문자열 앞의 공백 제거
  • stripTrailing(): 문자열 뒤의 공백 제거

trim() 과의 차이점은 trim() 은 U+0020 이하의 값만을 공백으로 인식하여 제거를 한다.

하지만 유니코드이외에 다양한 공백이 존재하는데 java11 이전에는 Character.isWhitespace(int) 를 사용을 했다면 java11 에서는 stript()을 사용해서 처리가 가능하며 성능 또한 수배는 더 빠르다

  • isBlank(): 문자열이 비어있거나 공백만 포함이 될 경우 true 를 반환 한다.
  • lines(): 문자열을 라인단위로 쪼개서 스트림으로 반환
  • repeat(i): i 만큼의 문자열을 반복해서 붙여서 반환한다.

Java File 관련 유틸 메서드 추가

Path writeString(Path,String,Charset,OpenOption)

  • 파일에 문자열을 작성하고 Path를 반환
  • 파일에 오픈 옵션에 따라 작동 방식이 달라진다.
  • chartset 을 지정을 하지 않으면 default 로 utf-8로 지정된다
  • 오버로딩 메서드로 writeString 존재

String readString(path, charset)

  • 파일의 전체 내용을 읽어서 string 으로 반환하고 파일의 내용을 모두 읽거나 예외가 발생하면 알아서 close한다.
  • charset을 지정하지 않으면 utf-8을 사용한다.
  • 오버로딩 메소드로 readString(path) 존재

boolean isSameFile(path, path)

  • 두 path 가 같은 파일을 가리키면 true 안 이면 false 반환
  • 파일이 실제로 존재하지 않아도, path 기준으로 해서 같은 위치면 true

Patter.asMatchPredicate()

  • java8 에서 asPredicate 는 matcher().find() 를 사용을 했지만, asMatchPredicate 는 matcher().find() 를 사용하는 Predicate 를 반환

Predicate.not(Predicate)

  • 인자로 받는 Predicate의 부정형을 Predicate를 반환

TimeUnit.convert(Duration)

TimeUnit timeUnit = TimeUnit.DAYS;
timeUnit.convert(Duration.ofHours(48));

람다 파라미터로 var 사용 가능

  • java8 에는 사용이 가능하나 java10에서 사라졌다가 다시 재 등장
  • @Nullable 등의 어노테이션을 사용하기 위해 타입을 명시를 할때 타입을 스킵
(var o1 , var o2) -> o1 - o2

Optional.isEmpty()

  • optional 이 비워져있다면 true 반환

HTTP Client

  • java 표준 http api
  • 성능 개선
  • http/1 , http/2 , 웹소켓 을 지원

Epsilon Garbege Collector

  • jvm 으로 하여금 메모리를 관리를 하지만 사용된 메모리를 재사용하지 않도록 한다.
  • 메모리를 다 사용을 하면 out of memory 가 발생하고 jvm 이 셧다운이 됨
  • 짧은 시간 수행하고 종료되는 어플리케이션에 사용
  • 간단히 작동하고 마치고 메모리 부하가 크게 염려되지 않는 어플리케이션에 적절하게 사용
profile
Back-End Engineer

0개의 댓글