Knowledge

java 1.7 vs java 1.8 vs java11 vs java17

seulye 2022. 4. 6. 07:10

Java7


String in Switch
Swtich๋ฌธ ๋‚ด์—์„œ ๋ฌธ์ž์—ด ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅ
switch( str ){
case "๊ฐ์ž":
// do sth
break;
case "๊ณ ๊ตฌ๋งˆ":
// do sth
break;
}


Type Inference
์ œ๋„ค๋ฆญ ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์„ ์–ธ๊ณผ ์ƒ์„ฑ์‹œ์— ์ค‘๋ณตํ•ด์„œ ์จ์ค˜์•ผ ํ–ˆ์ง€๋งŒ ์ด์ œ๋Š” ๊ทธ๋Ÿด ํ•„์š” ์—†์Œ
//Before Jdk 7
List<Integer> primes = new ArrayList<Integer>();
//Jdk7
List<Integer> primes = new ArrayList<>();Underscore in Numberic literal
์‹ค์ˆ˜, ์ •์ˆ˜ํ˜•์— ‘_’ ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ• ์ˆ˜์žˆ์Œ
int money = 1_000; int moneymoney = 100_000;

Catching Multiple Exception Type in Single Catch Block

๋‹จ์ผ catche ๋ธ”๋ก์—์„œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์˜ˆ์™ธ์ฒ˜๋ฆฌ(Exception) ๊ฐ€๋Šฅ

NIO 2.0 ํŒจํ‚ค์ง€์ƒˆ๋กœ์šด Garbage Collector ์ถ”๊ฐ€



Java8


์˜ค๋ผํด์ด java๋ฅผ ์ธ์ˆ˜ํ•œ ํ›„ ์ฒซ๋ฒˆ์งธ LTS ์ถœ์‹œ ๋ฒ„์ „
32๋น„ํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ๊ณต์‹์ ์ธ ๋งˆ์ง€๋ง‰ ๋ฒ„์ „
์œ ๋ฃŒ๋ฒ„์ „(Oracle JDK)๊ณผ ๋ฌด๋ฃŒ๋ฒ„์ „(Open JDK)์œผ๋กœ ๋‚˜๋‰จ
LocalDateTime๊ณผ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๋‚ ์งœ,์‹œ๊ฐ„ API์ œ๊ณต
Unsigned Integer ๊ณ„์‚ฐ
๋žŒ๋‹ค์‹ ์ œ๊ณต
Stream API์ œ๊ณต
PermGem ์˜์—ญ ์‚ญ์ œ - ์ฐธ๊ณ  : https://johngrib.github.io/wiki/java8-why-permgen-removed/
Static Link JNI Library ์ œ๊ณต


 

Java11


Open JDK์™€ Oracle JDK ํ†ตํ•ฉ
Oracle JDK๊ฐ€ ๊ตฌ๋…ํ˜• ์œ ๋ฃŒ๋ชจ๋ธ๋กœ ์ „ํ™˜
G1 GC๊ฐ€ ๊ธฐ๋ณธ GC๋กœ ์„ค์ • (GC : Garbage Collection)
๋žŒ๋‹ค ์ง€์—ญ๋ณ€์ˆ˜ var ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
์ปฌ๋ ‰์…˜, ์ŠคํŠธ๋ฆผ ๋“ฑ์— ๋ฉ”์†Œ๋“œ ์ถ”๊ฐ€

 

 

 

Java17


recode class ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
์• ํ”Œ M1 ๋ฐ ์ดํ›„ ํ”„๋กœ์„ธ์„œ ํƒ‘์žฌ ์ œํ’ˆ๊ตฐ์— ๋Œ€ํ•œ ์ •์‹ ์ง€์›
๋‚œ์ˆ˜ ์ƒ์„ฑ API ์ถ”๊ฐ€
๋ด‰์ธ ํด๋ž˜์Šค(Sealed Class) ์ •์‹ ์ถ”๊ฐ€
String ์—ฌ๋Ÿฌ์ค„ ์‚ฌ์šฉ์‹œ ํ…์ŠคํŠธ ๋ธ”๋ก ๊ธฐ๋Šฅ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
NumberFormat,DateTimeFormatter ๊ธฐ๋Šฅ ํ–ฅ์ƒ
Stream.toList() ์‚ฌ์šฉ ๊ฐ€๋Šฅ

'Knowledge' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋™๊ธฐ์‹ vs ๋น„๋™๊ธฐ์‹ ํ”„๋กœ๊ทธ๋ž˜๋ฐ  (1) 2022.04.08
HTTP vs HTTPS  (1) 2022.04.08
MYSQL vs ORACLE  (0) 2022.04.05
SVN vs GIT  (1) 2022.04.05
ํŠธ๋žœ์žญ์…˜  (1) 2022.04.04