Friday 8 March 2013

Perbedaan versi dalam Java

Dalam perkembangannya versi java secara internal muncul dalam versi-versi sesuai dengan  JDK (Java Development Kit) yang beredar. Sedangkan secara eksternal versi-versi yang kita kenal adalah 1,2,5, dan 6. Perlu diketahui bahwa versi 3 dan 4 tidak dimunculkan. Namun perkembangan versi JDK biasanya ditulis dengan 1.1, 1.2, 1.3, 1.4, 1.5, 1.6. Sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kemudian tahun 1996 versi awal Java sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya yaitu java.lang, java.io, java.util, java.net, java.awt, dan java.applet. Jumlah class saat itu baru 211 class.
Setiap versi JDK selalu menambahkan API baru.  API baru mungkin melibatkan perubahan pada bahasa (misal: API Reflection), namun biasanya tidak. • API yang tidak berhubungan dengan perubahan bahasa (secara sintaks/semantik) bisa diimplementasikan ulang di JDK versi yang lama (misal di JDK 1.5 ada Regex, di JDK sebelumnya kita bisa menggunakan library regex dari pihak ketiga). Perkembangan versi JDK terutama untuk J2SE dan fitur-fiturnya dapat dilihat sebagai berikut :
  • JDK 1.1 dirilis tahun 1997, dengan jumlah class 477. Penambahan fitur inner Class (perubahan bahasa).  Versi Java  sebelumnya hanya mendukung Top Level Class. Penambahan Reflection API – Reflection API melibatkan perubahan bahasa (setiap kelas dapat diakses refleksinya). Pada versi ini juga diperkenalkan Format file JAR. File JAR merupakan file yang berisi kelas Java dan resource yang dibutuhkan untuk menjalankan kumpulan kelas tersebut (gambar, suara, dan sebagainyal), yang – menjadi bagian integral Java karena menjadi bagian dari classpath Java.
  • JDK versi 1.2 dirilis tahun 1998, dengan jumlah kelas 1524. Penambahan Weak Reference dan tipe reference lain.  Referensi yang “lemah”, sehingga bias dibersihkan oleh garbage collector jika diperlukan.  Perubahan pada penanganan Thread . Sebelum JDK1.2 ada method untuk mensuspend (menghentikan sementara) dan me-resume (meneruskan) thread, tapi ternyata ini rawan deadlock.
  • JDK versi 1.3 dirilis tahun 2000, dengan jumlah kelas 1840. Tidak ada perubahan bahasa. Penambahan dan perbaikan API untuk distributed programming (RMI, CORBA).  Sampai dengan versi terakhir (1.3.1_14) Sangat banyak bug yang diperbaiki (lebih dari 100) . 
  • JDK versi 1.4. dirilis tahun 2004, dengan jumlah kelas 2723. Perubahan terletak pada asersi (seperti pada C/C++).  Asersi adalah pernyataan boolean bahwa sesuatu pasti benar di satu titik program dan jika salah, maka exception akan dilempar. Selain itu pada versi ini terdapat penambahan API baru seperti NIO dan logging. NIO merupakan API yang digunakan untuk I/O yang berguna untuk I/O kinerja tinggi. Sedangkan  Logging merupakan Fitur untuk melakukan pencatatan aktivitas program ke media tertentu (disk, jaringan, dan lainnya).
  • JDK versi 1.5 dirilis tahun 2004 yang biasa disebut versi 5 saja dengan jumlah kelas 3279. Versi ini paling banyak terjadi perubahan bahasa misalnya  kelas generic,  syntax loop untuk enumerasi,  automatic boxing/unboxing,  enumerasi, static import, metadata, dan  variable arguments. Kelas generik memungkinkan suatu abstraksi terhadap tipe data. Konsep yang bersesuaian adalah Template di C++,  tetapi konsep template C++ tidak 100% kompatibel dengan Java. Java memproses generic pada compile time dan runtime, sedangkan C++ hanya pada compile time.
  • versi 1.6 dirilis tahun 2006 yang biasa disebut versi 6 saja, dengan jumlah kelas lebih dari 3777. Piranti lunak Java SE 6 memungkinkan pengembangan menjadi lebih mudah, lebih cepat dan lebih hemat biaya. Aplikasi ini menghadirkan sejumlah feature yang lebih modern bagi layanan web, dukungan dynamic language, diagnostik dan aplikasi desktop. Selain itu, lebih dari 160 perusahaan telah bermitra dengan Sun dan menguji aplikasi berbasis teknologi Java mereka pada platform Java SE 6 untuk menjamin kompatibilitas, stabilitas dan kinerja optimal pada peluncuran Java SE 6. Kompatibilitas Java SE 6 dengan platform versi sebelumnya memudahkan para pegembang Java dalam menggunakannya sekaligus melindungi investasi teknologi Java.  Teknologi Java SE 6 sudah berbeda dengan pengembangan Java versi sebelumnya, ini merupakan platform yang sangat kokoh bagi para pengembang dan vendor. NetBeans IDE merupakan cara terbaik bagi para pengembang untuk mengembangkan semua fungsi terbaru dari Java SE 6. Dengan peningkatan dynamic language dan dukungan layanan web, platform Java SE 6 optimis bagi pembangunan aplikasi dan layanan Web 2.0. Untuk perkembangan visual aplikasi interaktif yang sangat cepat, platform Java SE 6 termasuk komponen pengaturan tampilan baru, berdasarkan NetBeans GUI Builder (denga nama kode sebelumnya Matisse). Piranti lunak Java SE 6 juga memberikan dukungan penuh terhadap versi Windows Vista berikutnya.
Sejak tahun 2006 tersebut, Sun Microsystems telah menerapkan lisensi open source, yaitu GNU GPL (GNU General Public License), sehingga siapapun akan lebih leluasa menggunakan java. Sedangkan di Indonesia awal tahun 2009, Sun Microsystem, juga telah meresmikan pusat penelitian aplikasi berbasis Java yang pertama di Asia Tenggara . Pusat penelitian itu didirikan bersama SEAMOLEC (SEAMEO Regional Open Learning Center). Pusat penelitian yang dinamai JENI (Java Education Network Indonesia) Research Center itu didirikan di kompleks Universitas Terbuka, Pondok Cabe, Tangerang yang memiliki fasilitas pendidikan Java dan open source, termasuk 10 Sun Ultra 20 Workstation, perangkat pelatihan berbasis web. Ini merupakan pusat penelitian pertama di ASEAN, dan akan terus dikembangkan diseluruh Negara-negara ASEAN.
Sejak diperkenalkan, Sun telah merilis versi baru dari bahasa Java setiap dua tahun atau lebih. Versi ini membawa perangkat tambahan baru, kemampuan baru dan perbaikan bug. Sampai saat ini, versi diberi nomor 1.x, di mana x mencapai sampai 4. (Revisi Menengah diberi label dengan nomor ketiga - 1.xy -. Seperti pada 1.4.2) Versi terbaru, bagaimanapun, disebut Java 5.0 bukan Java 1.5.
Di bawah ini adalah timeline berbagai versi Edisi dasar, atau Standard (SE), Jawa bersama dengan beberapa fitur baru yang masing-masing diperkenalkan. Edisi ini berisi paket bahasa inti (nama kode untuk perpustakaan di Jawa) dan ditujukan untuk pemrograman desktop.
  • 1995: Versi 1.0 dari Java Development Kit (JDK) dirilis secara gratis oleh Sun.
    • 8 package dengan 212 class.
    • Netscape 2,0-4,0 termasuk Java 1.0.
    • Microsoft dan perusahaan lain berlisensi Jawa.
  • 1997: Versi 1.1:
    • 23 package - 504 class.  
    • Perbaikan meliputi penanganan event yang lebih baik, inner class, JVM ditingkatkan.
    • Microsoft mengembangkan 1,1 sendiri. kompatibel Java Virtual Machine untuk Internet Explorer.
    • Banyak browser yang digunakan masih hanya kompatibel dengan 1.1.
    • Ayunan paket grafis sangat meningkat menjadi tersedia selama ini tetapi tidak disertakan dengan bahasa inti.
  • 1999: Versi 1.2, juga disebut Java 2 Platform
    • 59 package - 1520 class.  
    • Kode dan alat didistribusikan sebagai The Software Development Kit (SDK)
    • Yayasan Jawa Kelas (JFC), berdasarkan Swing, untuk grafis ditingkatkan dan user interface, sekarang termasuk dengan bahasa inti.
    • Koleksi API termasuk dukungan untuk berbagai daftar, set, dan peta hash.
  • 2000: Versi 1.3:
    • 76 package - 1842 class.
    • Kinerja perangkat tambahan termasuk mesin virtual Hotspot.
  • 2002: Versi 1.4:
    • 135 package - 2991 class.  
    • Peningkatan IO, XML dukungan, dll
  • 2004: Versi 5.0 (sebelumnya bernomor 1,5):
    • 165 package, lebih dari 3000 class.  
    • Startup yang lebih cepat dan lebih kecil memori tapak
    • Metadata
    • Terformat keluaran
    • Generics
    • Peningkatan fitur multithreading
Kami membahas Java 5.0 lebih lanjut dalam bab ini dan memeriksa setiap fitur di bab berikutnya seperti yang tercantum di atas. Lihat Kompatibilitas Kode halaman untuk pembahasan masalah yang berkaitan dengan berurusan dengan kode, kompiler, dan JVMs dari versi yang berbeda.

No comments:

Post a Comment