μ λ§ μ§μ¦λ κ±Έμ§λ λͺ¨λ₯΄κ² μ§λ§,
Intellij 2023.2
λ²μ μμλ Jdk 21
λ₯Ό μλ²½νκ² μ§μνμ§ μμμ΅λλ€.
κ°λ¨ν Maven νλ‘μ νΈλ₯Ό μμ±νκ³ , Main λ¬Έ νλ λλ¦¬λ €κ³ ν λμλ μΆκ°μ μΌλ‘
μ κ° μλμΌλ‘ μΈν
ν΄μ€μΌ νλ κ² μμμ΅λλ€.
κ·ΈμΈμλ λ¬Έλ² μ체λ₯Ό μΈμ λͺ»νλ λ¬Έμ λ μμμ΅λλ€.
νμ§λ§! μ€λ (2023-12-09
) μμΉ¨μ μΈν
리μ μ΄μ μλ‘μ΄ μ
λ°μ΄νΈκ° μμ΄μ νλλ°,
μλμ κ°μ release note λ΄μ©μ λ°κ²¬νμ΅λλ€.
λ§μΉ¨λ΄!!
κ°λ¨νκ² μλμ²λΌ maven νλ‘μ νΈλ₯Ό μμ±νκ³ κ³§λ°λ‘ ν μ€νΈ κ°λ₯ν©λλ€.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>me.dailycode</groupId>
<artifactId>java-new</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>java-new</name>
<!-- (νμ) properties λ₯Ό μλμ²λΌ μΈν
! -->
<properties>
<java.version>21</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<!--
(μ΄κ±΄ νμκ° μλλλ€!!!!)
spring boot dependencies version μ 보 μ°Έμ‘°λ₯Ό μν bom import
-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.1.6</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- μλ΅ -->
</dependencies>
</project>
Virtual Thread λ₯Ό νλ μμ±ν΄μ κ°λ³κ² λλ €λ΄€μ΅λλ€.
κ·Έλ₯ μμνκ² μ λμκ°λμ§λ§ νμΈνλ μ½λμ
λλ€.
package me.dailycode.new_jdk;
public class App {
public static void main(String[] args) throws InterruptedException {
Thread virtualThread = Thread.ofVirtual()
.unstarted(() -> {
System.out.println("who am i? " + Thread.currentThread());
});
virtualThread.start();
virtualThread.join();
System.out.println("End of Main Thread!");
}
}
μκ³ μκ² μ§λ§, jdk 21 μ λ€μν κΈ°λ₯μ μ 곡μ ν©λλ€λ§...
λλΆλΆμ΄ preview
κΈ°λ₯μΌλ‘ λμμ΅λλ€. κ·Έλ₯ μ’ μ μμΌλ‘ λ΄μ£Όμ§...
μλ¬΄νΌ μ΄λ¬ν preview κΈ°λ₯μ μ¬μ©νκ³ μΆμΌλ©΄ intellij μμλ μλμ κ°μ΄ κ°λ¨νκ²
μΈν
λ§ λ°κΏμ£Όλ©΄ μ¬μ©μ΄ κ°λ₯ν©λλ€.
(window κΈ°μ€) ctrl + alt + shift + s
λ₯Ό λλ₯΄κ³ μλμ κ°μ΄ μΈν
ν©λλ€.
μ΄νμ μλμ²λΌ String Template κΈ°λ₯μ κ°λ³κ² ν μ€νΈν΄ λ³Ό μ μμ΅λλ€.
package me.dailycode.new_jdk;
public class App {
public static void main(String[] args) {
int i = 10;
int j = 2;
System.out.println(STR."\{i} + \{j} = \{i + j}");
}
}
// μΆλ ₯:
// 10 + 2 = 12