vm JSR 292: Dukungan untuk bahasa yang diketik secara dinamis (InvokeDynamic)
Pemeriksaan file kelas yang ketat
lang JSR 334: Peningkatan bahasa kecil (Project Coin)
core Upgrade arsitektur class-loader
Metode untuk menutup URLClassLoader
Pembaruan konkurensi dan koleksi (jsr166y)
i18n Unicode 6.0
Peningkatan lokal
Pisahkan lokal pengguna dan lokal antarmuka pengguna
ionet JSR 203: Lebih banyak I / O API baru untuk platform Java (NIO.2)
Penyedia sistem file NIO.2 untuk arsip zip / jar
SCTP (Protokol Transmisi Kontrol Aliran)
SDP (Sockets Direct Protocol)
Gunakan tumpukan Windows Vista IPv6
TLS 1.2
sec Kriptografi kurva eliptik (ECC)
jdbc JDBC 4.1.0
pipeline klien XRender untuk Java 2D
Buat API platform baru untuk fitur grafis 6u10
Tampilan dan nuansa Nimbus untuk Swing
Mengayunkan komponen JLayer
Synthesizer suara Gervill [BARU]
web Perbarui tumpukan XML
mgmt Enhanced MBeans [DIPERBARUI]
+1 Kode untuk contoh kode yang sulit ditemukan. Bisakah Anda menambahkan lebih banyak?
Zasz
3
Jenis inferensi yang ditingkatkan tampaknya merupakan salinan sedih dari C # dengan perubahan aneh di mana referensi diketik, tetapi objeknya bukan ?? Komedi yang luar biasa!
Zasz
1
@Zasz, ya tentu, itu dalam peningkatan berkelanjutan
didxga
Jadi pertanyaannya adalah OP, apa pendapat Anda? Apakah peningkatan ini hanya pada sisi produktivitas, atau mereka benar-benar dapat meningkatkan kinerja program? Jika tidak ada perubahan bytecode, dapatkah peningkatan bahasa baru digunakan dengan bytecode yang ditandai sebagai 1,5?
Dmitriy R
Meskipun bukan peningkatan bahasa, ada Objectskelas baru , dengan metode statis untuk menghindari keharusan memeriksa referensi null. Contoh: if (obj != null && obj.equals(anotherObj))menjadiif (Objects.equals(obj, anotherObj))
Carcamano
13
Fitur Baru Java Standard Edition (BEJ 7)
Hiasi Komponen dengan JLayer Class:
Kelas JLayer adalah dekorator yang fleksibel dan kuat untuk komponen Ayunan. Kelas JLayer di Java SE 7 memiliki semangat yang mirip dengan proyek proyek JxLayer di java.net. Kelas JLayer awalnya didasarkan pada proyek JXLayer, tetapi API-nya berkembang secara terpisah.
Pernyataan string dalam switch :
Di JDK 7, kita bisa menggunakan objek String dalam ekspresi pernyataan switch. Kompiler Java menghasilkan bytecode yang umumnya lebih efisien dari pernyataan switch yang menggunakan objek String daripada dari pernyataan if-then-else yang dirantai.
Ketik Inferensi untuk Instans Generik:
Kita bisa mengganti argumen tipe yang diperlukan untuk memanggil konstruktor kelas generik dengan seperangkat parameter tipe kosong (<>) selama kompilator bisa menyimpulkan argumen tipe dari konteks. Sepasang tanda kurung sudut ini secara informal disebut berlian. Java SE 7 mendukung inferensi tipe terbatas untuk pembuatan instance generik; Anda hanya dapat menggunakan inferensi tipe jika tipe parameter dari konstruktor jelas dari konteksnya. Misalnya, contoh berikut tidak dapat dikompilasi:
List<String> l =newArrayList<>();
l.add("A");
l.addAll(newArrayList<>());
Sebagai perbandingan, contoh berikut mengkompilasi:
Penangkapan Beberapa Jenis Pengecualian dan Pelacakan Ulang Pengecualian dengan Pemeriksaan Jenis yang Ditingkatkan:
Di Java SE 7 dan yang lebih baru, satu blok tangkapan dapat menangani lebih dari satu jenis pengecualian. Fitur ini dapat mengurangi duplikasi kode. Pertimbangkan kode berikut, yang berisi kode duplikat di setiap blok tangkapan:
Dalam rilis sebelum Java SE 7, sulit untuk membuat metode umum untuk menghilangkan kode duplikat karena variabel e memiliki tipe yang berbeda. Contoh berikut, yang berlaku di Java SE 7 dan yang lebih baru, menghilangkan kode duplikat:
Klausa catch menentukan jenis pengecualian yang dapat ditangani blok, dan setiap jenis pengecualian dipisahkan dengan bilah vertikal (|).
Paket java.nio.file
The java.nio.filepaket dan paket terkait, java.nio.file.attribute, memberikan dukungan yang komprehensif untuk file I / O dan untuk mengakses sistem file. Penyedia sistem file zip juga tersedia di JDK 7.
Ke titik! Sepuluh hasil pencarian google teratas untuk " fitur Java " mengembalikan daftar (tidak berguna):Simple, Object-Oriented, Portable, Platform independent, Secured...
Marinos An
3
Selain apa yang dikatakan John Skeet, berikut ini gambaran umum proyek Java 7 . Ini termasuk daftar dan deskripsi fitur.
Catatan: JDK 7 dirilis pada 28 Juli 2011, jadi Anda sekarang harus pergi ke situs resmi java SE .
FYI, ini adalah presentasi yang bagus tapi cukup tua dan ketinggalan zaman.
Alex Miller
Saya mendapat halaman kesalahan dalam bahasa Ibrani ketika saya mencoba tautan ini - apakah ada salinan yang lebih mutakhir di mana saja?
Simon Nickerson
1
Perubahan bahasa :
-ProjectCoin(small changes)-switch on Strings-try-with-resources
-diamond operator
Perubahan perpustakaan :
-new abstracted file-system API (NIO.2)(with support for virtual filesystems)-improved concurrency libraries
-elliptic curve encryption
-more incremental upgrades
Perubahan platform :
-support for dynamic languages
Di bawah ini adalah tautan yang menjelaskan fitur-fitur yang baru ditambahkan pada JAVA 7, penjelasannya sangat jelas dengan kemungkinan contoh kecil untuk setiap fitur:
Daftar berikut berisi link ke halaman penyempurnaan di Java SE 7.
Swing
IO and New IO
NetworkingSecurityConcurrencyUtilitiesRichInternetApplications(RIA)/DeploymentRequesting and CustomizingAppletDecoration in Dragg able AppletsEmbedding JNLP File in AppletTagDeploying without CodebaseHandlingAppletInitializationStatus with EventHandlersJava2DJava XML – JAXP, JAXB, and JAX-WS
Internationalization
java.lang PackageMultithreadedCustomClassLoaders in Java SE 7JavaProgrammingLanguageBinaryLiteralsStrings in switchStatementsThetry-with-resources StatementCatchingMultipleExceptionTypes and RethrowingExceptions with ImprovedTypeCheckingUnderscores in NumericLiteralsTypeInferenceforGenericInstanceCreationImprovedCompilerWarnings and ErrorsWhenUsingNon-ReifiableFormalParameters with VarargsMethodsJavaVirtualMachine(JVM)JavaVirtualMachineSupportforNon-JavaLanguagesGarbage-FirstCollectorJavaHotSpotVirtualMachinePerformanceEnhancements
JDBC
Jawaban:
Fitur dan Peningkatan Java SE 7 dari Catatan Rilis JDK 7
Ini adalah ringkasan fitur baru Java 7 dari halaman fitur OpenJDK 7 :
Contoh kode untuk fitur baru di Java 1.7
Pernyataan coba-dengan-sumber daya
ini:
menjadi:
Anda dapat mendeklarasikan lebih dari satu sumber daya untuk ditutup:
Garis bawah dalam literal numerik
String di sakelar
Literal biner
Inferensi Jenis yang Ditingkatkan untuk Pembuatan Instans Generik
menjadi:
Penangkapan beberapa pengecualian
ini:
menjadi:
SafeVarargs
ini:
menjadi:
sumber
Objects
kelas baru , dengan metode statis untuk menghindari keharusan memeriksa referensi null. Contoh:if (obj != null && obj.equals(anotherObj))
menjadiif (Objects.equals(obj, anotherObj))
Fitur Baru Java Standard Edition (BEJ 7)
Hiasi Komponen dengan JLayer Class:
Kelas JLayer adalah dekorator yang fleksibel dan kuat untuk komponen Ayunan. Kelas JLayer di Java SE 7 memiliki semangat yang mirip dengan proyek proyek JxLayer di java.net. Kelas JLayer awalnya didasarkan pada proyek JXLayer, tetapi API-nya berkembang secara terpisah.
Pernyataan string dalam switch :
Di JDK 7, kita bisa menggunakan objek String dalam ekspresi pernyataan switch. Kompiler Java menghasilkan bytecode yang umumnya lebih efisien dari pernyataan switch yang menggunakan objek String daripada dari pernyataan if-then-else yang dirantai.
Ketik Inferensi untuk Instans Generik:
Kita bisa mengganti argumen tipe yang diperlukan untuk memanggil konstruktor kelas generik dengan seperangkat parameter tipe kosong (<>) selama kompilator bisa menyimpulkan argumen tipe dari konteks. Sepasang tanda kurung sudut ini secara informal disebut berlian. Java SE 7 mendukung inferensi tipe terbatas untuk pembuatan instance generik; Anda hanya dapat menggunakan inferensi tipe jika tipe parameter dari konstruktor jelas dari konteksnya. Misalnya, contoh berikut tidak dapat dikompilasi:
Sebagai perbandingan, contoh berikut mengkompilasi:
Penangkapan Beberapa Jenis Pengecualian dan Pelacakan Ulang Pengecualian dengan Pemeriksaan Jenis yang Ditingkatkan:
Di Java SE 7 dan yang lebih baru, satu blok tangkapan dapat menangani lebih dari satu jenis pengecualian. Fitur ini dapat mengurangi duplikasi kode. Pertimbangkan kode berikut, yang berisi kode duplikat di setiap blok tangkapan:
Dalam rilis sebelum Java SE 7, sulit untuk membuat metode umum untuk menghilangkan kode duplikat karena variabel e memiliki tipe yang berbeda. Contoh berikut, yang berlaku di Java SE 7 dan yang lebih baru, menghilangkan kode duplikat:
Klausa catch menentukan jenis pengecualian yang dapat ditangani blok, dan setiap jenis pengecualian dipisahkan dengan bilah vertikal (|).
Paket java.nio.file
The
java.nio.file
paket dan paket terkait, java.nio.file.attribute, memberikan dukungan yang komprehensif untuk file I / O dan untuk mengakses sistem file. Penyedia sistem file zip juga tersedia di JDK 7.Sumber: http://ohmjavaclasses.blogspot.com/
sumber
Peningkatan Bahasa Pemrograman Java @ Java7
Referensi resmi Referensi
resmi dengan referensi java8
wiki
sumber
Simple, Object-Oriented, Portable, Platform independent, Secured...
Selain apa yang dikatakan John Skeet, berikut ini gambaran umum proyek Java 7 . Ini termasuk daftar dan deskripsi fitur.
Catatan: JDK 7 dirilis pada 28 Juli 2011, jadi Anda sekarang harus pergi ke situs resmi java SE .
sumber
Perubahan bahasa :
Perubahan perpustakaan :
Perubahan platform :
Di bawah ini adalah tautan yang menjelaskan fitur-fitur yang baru ditambahkan pada JAVA 7, penjelasannya sangat jelas dengan kemungkinan contoh kecil untuk setiap fitur:
http://radar.oreilly.com/2011/09/java7-features.html
sumber
int val 12_15; telepon panjangNo = 01917_999_720L;
sumber
Saya pikir ForkJoinPool dan peningkatan terkait dengan Executor Framework merupakan tambahan penting di Java 7.
sumber
Daftar berikut berisi link ke halaman penyempurnaan di Java SE 7.
Referensi 1 Referensi 2
sumber