>Java >java지도 시간 >Java가 출시되었습니다. 새로운 기능은 무엇입니까?

Java가 출시되었습니다. 새로운 기능은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-09-20 07:01:31829검색

Java Has Arrived What

Java 23이 공식 출시되었습니다! LTS(장기 지원)가 아닌 릴리스입니다. 수명이 짧은 버전이지만 Java 23에는 흥미로운 개선 사항, 버그 수정, 주의해야 할 제거된 기능 및 옵션이 포함되어 있습니다.

새로운 기능과 JDK 21 및 JDK 22와 같은 이전 버전의 기능을 기반으로 어떻게 구축되는지 살펴보겠습니다.

범위 값: JDK 22 및 JDK 21 미리 보기를 기반으로 구축

JDK 23에서 가장 기대되는 기능 중 하나는 범위 값(미리보기)입니다. JDK 22와 JDK 21에서도 미리 볼 수 있었던 이 기능은 메소드가 스레드와 하위 스레드 간에 불변 데이터를 공유하는 방식을 단순화합니다. 이전 Java 버전에서는 스레드 로컬 데이터를 처리하는 것이 번거롭고 메모리가 부족할 수 있었습니다. 범위가 지정된 값은 보다 효율적이고 오버헤드가 낮은 대안을 제공하여 이를 변경합니다.

JDK 23에서는 무엇이 다른가요? ScopedValue.callWhere() 메서드는 이제 새로운 기능적 인터페이스를 사용하므로 컴파일러가 확인된 예외가 발생할 수 있는지 여부를 더 쉽게 추론할 수 있습니다. 이로 인해 ScopedValue.getWhere() 메소드가 제거되어 API가 더욱 간소화되었습니다.

이는 이전 릴리스에서 본 개선 사항의 연속이며, 범위 값이 영구적인 기능으로 발전하는 모습을 보는 것은 매우 흥미롭습니다.

구조적 동시성: 세 번째 미리보기

Java의 동시성 모델은 항상 강력하지만 관리하기가 까다롭습니다. JDK 21에 처음 등장했고 이제 JDK 23에서 세 번째 프리뷰에 도달한 구조적 동시성(미리 보기)을 입력하세요. 여기서 아이디어는 서로 다른 스레드에서 실행되는 관련 작업을 하나의 그룹으로 그룹화하여 동시 프로그래밍을 보다 직관적으로 만드는 것입니다. 단일 작업 단위. 이를 통해 오류 처리가 단순화되고 취소 프로세스의 신뢰성이 향상됩니다.

JDK 23에서는 구조적 동시성이 미리 보기로 남아 있지만 동시성 코드를 더 쉽게 추론하고 오류 가능성을 줄입니다. JDK 21 또는 JDK 22의 미리보기로 작업해 본 적이 있다면 이 기능이 얼마나 발전했는지 높이 평가할 것입니다. 이제 스레드 누출과 같은 일반적인 동시성 문제를 처리할 수 있는 기능이 향상되어 안정적인 멀티스레드 코드를 더 쉽게 작성할 수 있습니다.

유연한 생성자 몸체: JDK 22 이후로 진화

또 다른 환영할만한 추가 사항은 유연한 생성자 몸체(미리보기)입니다. JDK 22에서 "super() 이전 명령문"으로 처음 미리 본 기능을 통해 개발자는 슈퍼클래스 생성자를 호출하기 전에 초기화 코드를 작성할 수 있습니다. 사소해 보이는 이 변화는 생성자 논리를 훨씬 더 명확하게 만들고 유효성 검사 또는 기타 설정 논리가 실패할 때 불필요한 객체 생성을 방지할 수 있습니다.

JDK 22에서 이 기능은 개발자가 생성자 로직을 더 효과적으로 제어할 수 있도록 도입되었으며 JDK 23의 두 번째 미리 보기에서는 해당 기능을 계속해서 개선하고 있습니다. 초기화 로직을 슈퍼클래스 호출보다 앞서 이동함으로써 개발자는 이전에 코드베이스를 어수선하게 만들었던 지저분한 보조 정적 메서드와 중간 생성자를 피할 수 있습니다.

암시적으로 선언된 클래스: 세 번째는 매력입니다.

Java를 가르치거나 빠른 스크립트를 작성하는 사람들에게 암시적으로 선언된 클래스 및 인스턴스 메서드는 JDK 21에 도입된 이후 획기적인 변화를 가져왔습니다. 이 기능을 사용하면 초보자가 이해할 필요 없이 단순화된 Java 프로그램을 작성할 수 있습니다. 처음부터 복잡한 언어 기능을 제공합니다.

JDK 23에서는 이 기능이 추가로 업그레이드되었습니다. 이제 암시적으로 선언된 클래스는 간단한 텍스트 I/O를 위한 세 가지 정적 메서드를 자동으로 가져올 수 있으며 요청 시 java.base 모듈의 모든 공용 최상위 클래스와 인터페이스도 가져올 수 있습니다. 이러한 개선 사항은 신규 사용자의 학습 곡선을 더욱 원활하게 만드는 데 도움이 됩니다.

모듈 가져오기 선언: 새로운 미리보기

JDK 23의 새로운 미리보기 기능 중 하나는 모듈 가져오기 선언입니다. 이 기능을 사용하면 단일 명령문으로 모듈에서 내보낸 모든 패키지를 가져올 수 있으므로 모듈 라이브러리 재사용이 단순화됩니다. 계층 구조에서 패키지가 어디에 있는지 더 이상 기억할 필요가 없는 초보자에게 특히 유용하며, 여러 유형 가져오기 온디맨드 선언으로 인한 혼란을 줄여줍니다.

이 기능은 JDK 23의 새로운 기능이지만, 특히 모듈 프로그래밍을 처음 접하는 사람들을 위해 Java 모듈 시스템의 접근성을 높이는 데 큰 가능성을 보여줍니다.

Komen Dokumentasi Markdown: Era Baharu untuk Javadoc

Sejujurnya—menulis JavaDoc dengan HTML dan tag @ boleh menyakitkan. Dalam JDK 23, ciri Markdown Documentation Comments (Pratonton) membolehkan pembangun menulis dokumentasi API menggunakan Markdown, menjadikannya lebih mudah untuk membuat ulasan yang boleh dibaca dan diformat dengan baik.

Walaupun ini adalah ciri baharu dalam JDK 23, ia adalah sesuatu yang sepatutnya telah ditambahkan beberapa tahun lalu. Markdown digunakan secara meluas dalam komuniti pembangun, dan membawanya ke JavaDoc akan menjadikan penulisan dan penyelenggaraan dokumentasi jauh lebih mudah.

Pengumpul Sampah Z (ZGC): Mod Generasi secara Lalai

Jika anda telah bekerja dengan Z Garbage Collector (ZGC) sejak diperkenalkan dalam JDK 15, anda pasti teruja untuk mengetahui bahawa dalam JDK 23, ZGC kini lalai kepada generasi mod (JEP 474). Suis ini meningkatkan prestasi aplikasi dengan memfokuskan pada pengumpulan objek jangka pendek yang kerap. Walaupun ZGC bukan generasi ditamatkan dalam keluaran ini, ini merupakan petanda yang jelas bahawa pendekatan generasi adalah masa depan kutipan sampah di Jawa.

Jika anda menjalankan JDK 22 atau lebih awal, beralih ke JDK 23 seharusnya membawa peningkatan prestasi yang ketara tanpa banyak usaha di pihak anda.

API Vektor: Masih Mengeram, Tetapi Lebih Berkuasa

Vector API, yang diperkenalkan dalam JDK 16, membolehkan pembangun melakukan pengiraan vektor yang menyusun kepada arahan vektor optimum pada masa jalan. API terus berkembang, dan dalam JDK 23, kami melihat Inkubator Kelapan. API ini masih mengeram, bermakna ia belum lagi menjadi ciri yang dimuktamadkan, tetapi ia semakin menghampiri kematangan.

Untuk aplikasi kritikal prestasi, terutamanya yang berurusan dengan set data yang besar, Vector API boleh memberikan kelajuan yang besar. Jika anda telah bekerja dengannya dalam inkubasi sebelum ini (seperti JDK 22), anda akan mendapati bahawa ia lebih stabil sekarang, tetapi ia masih menunggu bahagian terakhir jatuh ke tempatnya (mungkin terikat dengan Projek Valhalla).

Pengumpul Strim: Pratonton Kedua

JDK 22 memperkenalkan Stream Gatherers (Pratonton), satu ciri yang menambahkan fleksibiliti pada API Strim dengan membenarkan operasi perantaraan tersuai. Dalam JDK 23, ia kembali untuk pratonton kedua. Jika anda suka menggunakan strim untuk memproses data, anda akan menghargai keupayaan ciri ini untuk mengubah saluran paip data dengan cara yang sebelum ini sukar dicapai.

Pengumpul strim memanjangkan kuasa strim, membolehkan pembangun mengendalikan senario yang lebih kompleks dengan mudah, terutamanya apabila bekerja dengan strim tak terhingga atau transformasi tersuai.

API Kelas-Fail: Pratonton Kedua

Jika anda membina alatan yang memanipulasi fail kelas Java, API Fail Kelas (Pratonton) dalam JDK 23 adalah untuk anda. Pertama kali diperkenalkan dalam JDK 22, API ini menyediakan cara standard untuk menghuraikan dan menjana fail kelas tanpa memerlukan perpustakaan pihak ketiga seperti ASM. Pratonton kedua dalam JDK 23 memperhalusi API ini, menjadikannya lebih diperkemas dan lebih mudah untuk digunakan.

Untuk pembangun alat, ini adalah masalah besar. Tiada lagi berebut untuk mengemas kini perpustakaan setiap kali spesifikasi JVM berubah—Java kini mempunyai penyelesaian pihak pertama.

Penggulungan: Patutkah Anda Meningkatkan?

Java 23 mungkin bukan keluaran LTS, tetapi ia penuh dengan ciri menarik yang dibina berdasarkan apa yang diperkenalkan oleh JDK 21 dan JDK 22. Daripada nilai berskop dan konkurensi berstruktur kepada pengumpul sampah yang lebih baik dan penambahbaikan kepada aliran dan pembina, keluaran ini mendorong pembangunan Java ke hadapan.

위 내용은 Java가 출시되었습니다. 새로운 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.