before
String message = "Good bye, Java 9";
after
@Test
public void whenVarInitWithString_thenGetStringTypeVar() {
var message = "Hello, Java 10";
assertTrue(message instanceof String);
}
@Test(expected = UnsupportedOperationException.class)
public void whenModifyCopyOfList_thenThrowsException() {
List<Integer> copyList = List.copyOf(someIntList);
copyList.add(4); //error!!
}
@Test(expected = UnsupportedOperationException.class)
public void whenModifyToUnmodifiableList_thenThrowsException() {
List<Integer> evenList = someIntList.stream()
.filter(i -> i % 2 == 0)
.collect(Collectors.toUnmodifiableList());
evenList.add(4); //error!!
}
orElseThrow()
메서드는 인자값을 따로 받지 않고 값이 없으면 NoSuchElementException을 발생시킴before
@Test
public void whenListContainsInteger_OrElseThrowReturnsInteger() {
Optional<Integer> firstEven = someIntList.stream()
.filter(i -> i % 2 == 0)
.findFirst();
if(firstEven.isEmpty() { throw new NoSuchElementException(); }
is(firstEven.get()).equals(Integer.valueOf(2));
}
after
@Test
public void whenListContainsInteger_OrElseThrowReturnsInteger() {
Integer firstEven = someIntList.stream()
.filter(i -> i % 2 == 0)
.findFirst()
.orElseThrow();
is(firstEven).equals(Integer.valueOf(2));
}
-XX:-UseContainerSupport ##컨테이너 인식 기능 활성화
-XX:ActiveProcessorCount=count ##JVM이 사용할 CPU 수 지정
-XX:InitialRAMPercentage
-XX:MaxRAMPercentage
-XX:MinRAMPercentage
java -Xprof
옵션 제거New Features in Java 10 - Baeldung
Java 10 Features - DigitalOcean