
Java adalah bahasa pemrograman yang awalnya dikembangkan oleh James Gosling di Sun Microsystems (yang sejak bergabung ke Oracle Corporation) dan dirilis pada tahun 1995 sebagai komponen inti dari platform JavaSun Microsystems. Banyak Syntax Bahasa Java ini yang berasal dari C dan C + + tetapi memiliki model objek yang sederhana dan lebih cenderung pada fasilitas tingkat-rendah (bahasa pemrograman tingkat-rendah). Aplikasi Java biasanya dikompilasi untuk bytecode (class file) yang dapat berjalan pada Java Virtual Machine(JVM) terlepas dari arsitektur komputer. Java memiliki karakteristik general-purpose, concurrent, class-based, object-oriented language yang khusus dirancang untuk beberapa penerapan yang dependensi. Hal ini dimaksudkan untuk memungkinkan pengembang aplikasi "tulis sekali, jalankan di mana saja," itu berarti bahwa kode yang berjalan pada satu platform tidak perlu di edit untuk berjalan pada platform yang lain. Java saat ini adalah salah satu bahasa pemrograman yang paling populer digunakan, terutama untuk client-server web aplikasi, dengan 10 juta pengguna yang telah ter catat.
Referensi Java compiler, virtual machines, dan class libraries yang asli adalah yang dikembangkan oleh Sun dari tahun 1995. Pada Mei 2007, sesuai dengan spesifikasi dari Java Community Process, Sun memberi lisensi kembali sebagian besar teknologi Java itu di bawah GNU GPL (General Public License). Lainnya juga telah mengembangkan implementasi alternatif dari teknologi milik Sun ini, seperti Kompilator GNU untuk Java dan GNU Classpath.
James Gosling, Mike Sheridan, dan Patrick Naughton memulai proyek bahasa Java pada bulan Juni 1991. Java pada awalnya didesain untuk televisi interaktif, tapi itu terlalu maju bagi industri televisi kabel digital pada saat itu.
Bahasa ini awalnya disebut Oak, konon karena pada saat itu pohon Oak tumbuh di luar kantor Gosling, kemudian ia beralih dengan memberi nama Green, dan kemudian berganti nama Java, dari kopi Jawa, disebutkan untuk dikonsumsi dalam jumlah besar oleh pencipta bahasa ini. Kita juga harus bangga, mungkin bukan hanya nama tetapi juga kasiat kopinya (Produk Jawa) yang masuk ketubuh Gosling. :D
Saat itu gosling pun bermaksud untuk mewujudkan sebuah mesin virtual dan sebuah bahasa yang dekat dengan gaya notasi C / C + +.
Bahasa ini awalnya disebut Oak, konon karena pada saat itu pohon Oak tumbuh di luar kantor Gosling, kemudian ia beralih dengan memberi nama Green, dan kemudian berganti nama Java, dari kopi Jawa, disebutkan untuk dikonsumsi dalam jumlah besar oleh pencipta bahasa ini. Kita juga harus bangga, mungkin bukan hanya nama tetapi juga kasiat kopinya (Produk Jawa) yang masuk ketubuh Gosling. :D
Saat itu gosling pun bermaksud untuk mewujudkan sebuah mesin virtual dan sebuah bahasa yang dekat dengan gaya notasi C / C + +.
Sun Microsystems merilis implementasi publik pertama yaitu Java 1,0 pada tahun 1995. Mereka berjanji "Write Once, Run Anywhere" (WORA), mengembangkan tanpa biaya run-time pada platform populer. Cukup aman dan menampilkan keamanan yang dapat dikonfigurasi, ini memungkinkan jaringan dan akses file yang dibatasi. Sebagian besar Web browser segera masukkan kemampuan untuk menjalankan applet Java dalam halaman web, dan Java dengan cepat menjadi populer.
Dengan munculnya Java 2 (dirilis awalnya sebagai J2SE 1,2 pada Desember 1998-1999), versi baru telah dibangun beberapa konfigurasi untuk berbagai jenis platform. Sebagai contoh, J2EE ditargetkan aplikasi perusahaan dan versi J2ME untuk aplikasi mobile (Mobile Java). J2SE dirancang untuk Edisi Standar. Pada tahun 2006, untuk tujuan pemasaran, Sun mengganti nama baru versi J2 menjadi Java EE, Java ME, dan Java SE.
Dengan munculnya Java 2 (dirilis awalnya sebagai J2SE 1,2 pada Desember 1998-1999), versi baru telah dibangun beberapa konfigurasi untuk berbagai jenis platform. Sebagai contoh, J2EE ditargetkan aplikasi perusahaan dan versi J2ME untuk aplikasi mobile (Mobile Java). J2SE dirancang untuk Edisi Standar. Pada tahun 2006, untuk tujuan pemasaran, Sun mengganti nama baru versi J2 menjadi Java EE, Java ME, dan Java SE.
Pada tahun 1997, Sun Microsystems mendatangi ISO / IEC JTC1 badan standar dan kemudian Internasional ECMA untuk meresmikan Java, tetapi segera menarik diri dari proses tersebut. Java tetap menjadi standar de facto, dikontrol melalui Java Community Process. Pada suatu waktu, Sun membuat sebagian besar Java implementasi yang tersedia tanpa biaya, meskipun status perangkat lunak berpemilik mereka.
Sun menghasilkan pendapatan dari Java melalui penjualan lisensi untuk produk-produk khusus seperti Java Enterprise System. Sun membedakan antara Software Development Kit nya (SDK) dan Runtime Environment (JRE) (subset dari SDK); perbedaan utama melibatkan kurangnya JRE dari compiler, program utilitas, dan file header. Pada 13 November 2006, Sun telah meluncurkan banyak Java sebagai perangkat lunak bebas dan open source, Free and Open Source Software (FOSS), di bawah persyaratan dari GNU General Public License (GPL). Pada tanggal 8 Mei 2007, Sun menyelesaikan proses membuat semua kode inti Java tersedia di bawah perangkat lunak bebas / open source distribusi, selain dari sebagian kecil dari kode yang Sun tidak memegang hak cipta.
Wakil presiden Sun Rich Green mengatakan bahwa peran yang ideal Sun berkaitan dengan Java sebagai "pengabar injil." Setelah akuisisi Oracle Corporation dari Sun Microsystems pada 2009-2010, Oracle telah menggambarkan dirinya sebagai "steward of Java technology with a relentless commitment to fostering a community of participation and transparency" Perangkat lunak Java berjalan pada laptop ke pusat data, konsol game untuk superkomputer ilmiah. Ada 930 juta Java Runtime Environment di-download setiap tahun dan 3 miliar ponsel menjalankan aplikasi Java. Pada 2 April 2010, James Gosling mengundurkan diri dari Oracle.
Sun menghasilkan pendapatan dari Java melalui penjualan lisensi untuk produk-produk khusus seperti Java Enterprise System. Sun membedakan antara Software Development Kit nya (SDK) dan Runtime Environment (JRE) (subset dari SDK); perbedaan utama melibatkan kurangnya JRE dari compiler, program utilitas, dan file header. Pada 13 November 2006, Sun telah meluncurkan banyak Java sebagai perangkat lunak bebas dan open source, Free and Open Source Software (FOSS), di bawah persyaratan dari GNU General Public License (GPL). Pada tanggal 8 Mei 2007, Sun menyelesaikan proses membuat semua kode inti Java tersedia di bawah perangkat lunak bebas / open source distribusi, selain dari sebagian kecil dari kode yang Sun tidak memegang hak cipta.
Wakil presiden Sun Rich Green mengatakan bahwa peran yang ideal Sun berkaitan dengan Java sebagai "pengabar injil." Setelah akuisisi Oracle Corporation dari Sun Microsystems pada 2009-2010, Oracle telah menggambarkan dirinya sebagai "steward of Java technology with a relentless commitment to fostering a community of participation and transparency" Perangkat lunak Java berjalan pada laptop ke pusat data, konsol game untuk superkomputer ilmiah. Ada 930 juta Java Runtime Environment di-download setiap tahun dan 3 miliar ponsel menjalankan aplikasi Java. Pada 2 April 2010, James Gosling mengundurkan diri dari Oracle.
Sejarah perkembangan versi Java
Bahasa Java telah mengalami beberapa perubahan sejak JDK 1,0 serta penambahan berbagai kelas dan paket ke perpustakaan standar. Sejak J2SE 1.4, evolusi dari bahasa Java telah diatur oleh Java Community Process (JCP), yang menggunakan Java Spesifikasi Requests (JSRs) untuk mengusulkan dan menentukan untuk penambahan dan perubahan pada platform Java. Bahasa ini ditentukan oleh Java Language Specification(JLS), perubahan pada JLS dikelola di bawah JSR 901.
Selain perubahan bahasa, perubahan dramatis lebih telah dilakukan untuk Java Class Library selama bertahun-tahun, yang telah berkembang dari beberapa ratus kelas di JDK 1,0 sampai lebih dari tiga ribu di J2SE 5. Seluruh API baru seperti Swing dan Java2D telah diperkenalkan dan banyak Class dan Method dari JDK 1.0 yang asli telah usang.
Beberapa program memungkinkan untuk konversi program Java (Java Class) dari satu versi platform Java ke yang lebih tua (misalnya Java 5.0 di-backporting ke 1.4).
1. JDK 1.0 (23 Januari 1996)
Codename Oak. Rilis awal Versi stabil pertama adalah JDK 1.0.2. ini disebut Java 1.
2. JDK 1.1 (19 Februari, 1997)
Tambahan:
- Suatu retooling luas model acara AWT
- Inner classes ditambahkan ke bahasa
- JavaBeans
- JDBC
- RMI
- Reflection yang Introspeksi saja, tidak ada modifikasi pada saat runtime itu mungkin.
3. J2SE 1.2 (8 Desember 1998)
Codename Playground. Ini dan rilis selanjutnya sampai J2SE 5,0 dimana Java 2 dan nama versi "J2SE" (Java 2 Platform, Standard Edition) diganti JDK untuk membedakan platform dasar dari J2EE (Java 2 Platform, Enterprise Edition) dan J2ME (Java 2 Platform , Micro Edition).
Tambahan utama meliputi:
- strictfp keyword
- API swing grafis telah diintegrasikan ke dalam Class inti
- Sun JVM yang dilengkapi dengan compiler JIT untuk pertama kalinya
- Java Plug-in
- Java IDL, sebuah implementasi IDL untuk interoperabilitas CORBA
- Koleksi framework
4. J2SE 1.3 (8 Mei 2000)
Codename Kestrel. Perubahan paling menonjol adalah:
- HotSpot JVM termasuk (HotSpot JVM pertama kali dirilis pada bulan April, 1999 untuk J2SE 1.2 JVM)
- RMI adalah dimodifikasi untuk mendukung kompatibilitas opsional dengan CORBA
- JavaSound
- Java Penamaan dan Direktori Interface (JNDI) termasuk dalam perpustakaan inti (sebelumnya tersedia sebagai ekstensi)
- Java Platform Debugger Arsitektur (JPDA)
- Syntetic proxy classes
5. J2SE 1.4 (6 Feb 2002)
Codename Merlin. Ini adalah rilis pertama dari platform Java yang dikembangkan di bawah Java Community Process sebagai JSR 59.
Perubahan besar mencakup:
- Perubahan bahasa
- Assert keyword
- Perbaikan Library
- Regular expressions model setelah ekspresi reguler Perl expressions
- Exeption chaining memungkinkan pengecualian untuk merangkum exception tingkat-bawah yang asli
- Internet Protocol versi 6 (IPv6) dukungannon-blocking IO (bernama NIO) (input / Output baru)
- Logging API
- Gambar I / O API untuk membaca dan meletakan gambar dalam format seperti JPEG dan PNG
- Meng-integrasikan XML parser dan XSLT prosesor (JAXP)
- Meng-integrasikan keamanan dan ekstensi Cryptography (JCE, JSSE, JAAS)
- Java Web Start disertakan (Java Web Start pertama kali dirilis pada bulan Maret, 2001 untuk J2SE 1.3) (Ditentukan dalam JSR 56.)Preferensi API (java.util.prefs)
6. J2SE 5.0 (September 30, 2004)
Codename Tiger. Awalnya nomor 1,5, yang masih digunakan sebagai nomor versi internal. Versi ini dikembangkan di bawah JSR 176.
J2SE 5.0 memasuki nya akhir-hidup pada tanggal 8 April 2008 dan tidak lagi didukung oleh Sun pada 3 Nopember 2009 .
Tiger menambahkan sejumlah fitur bahasa baru yang signifikan:
- Generics: Menyediakan waktu kompilasi (static) safety type untuk koleksi dan menghilangkan kebutuhan untuk kebanyakan typecasts (type conversion). (Ditentukan oleh JSR 14.)
- Metadata: Juga disebut penjelasan; memungkinkan konstruksi bahasa seperti kelas dan metode yang harus ditandai dengan data tambahan, yang kemudian dapat diproses oleh metadata-sadar utilitas. (Ditentukan oleh JSR 175.)
- Autoboxing / unboxing: konversi otomatis antara tipe primitif (seperti int) dan kelas wrapper primitif (seperti Integer). (Ditentukan oleh JSR 201.)
- Enumerations: enum keyword menciptakan sebuah typesafe, memerintahkan daftar nilai (seperti Day.MONDAY, Day.TUESDAY, dll). Sebelumnya ini hanya dapat dicapai oleh non-bilangan bulat typesafe konstan atau kelas secara manual dibangun (enum typesafe pola).(Ditentukan oleh JSR 201.)
- Varargs: Parameter terakhir dari sebuah method sekarang dapat dideklarasikan menggunakan nama jenis diikuti oleh tiga titik (misalnya void drawtext(string... lines)). Dalam memanggil code sejumlah angka dari parameter jenis yang dapat digunakan dan mereka kemudian ditempatkan dalam array yang akan dilewatkan ke metode, atau sebagai alternatif kode panggilan dapat melewatkan sebuah array dari tipe tersebut.
- Enhance untuk setiap loop: untuk sintaks loop yang diperpanjang dengan sintaks khusus untuk iterasi setiap anggota baik array atau Iterable, seperti pada koleksi class standar, menggunakan konstruksi dalam bentuk:
void displayWidgets (Iterable<Widget> widget) {
for (widget w: widgets) {
w.display();
}
}
Contoh iterasi ini atas Iterable Object widgets, menugaskan setiap item yang pada gilirannya untuk variabel w, dan kemudian memanggil Widget method display() untuk setiap item.
- Perbaiki semantik sebelumnya yang rusak dari Java Memori Model, yang mendefinisikan bagaimana ancaman berinteraksi melalui memori.
- Static imports
Ada juga perbaikan untuk library standar:
- Otomatis stub generasi pada objek RMI.
- Swing: skinnable look and feel baru, yang disebut synth.
- Utilitas concurrency dalam package java.util.concurrent.
- Scanner class untuk parsing dari berbagai data input stream dan buffer.
Java 5 adalah rilis terakhir dari Java untuk secara resmi mendukung Microsoft Windows 9x line (Windows 95, Windows 98, Windows ME). Secara tidak resmi, Java SE 6 Update 7 (1.6.0.7) adalah versi terakhir dari Java yang akan ditampilkan bekerja pada keluarga sistem operasi (OS).
7. Java SE 6 (11 Desember 2006)
Codename Mustang. Pada versi ini, Sun diganti nama "J2SE" dengan Java SE dan menghilangkan ".0" dari nomor versi. Penomoran internal untuk pengembang tetap 1.6.0. Versi ini dikembangkan di bawah JSR 270. Selama tahap pengembangan, baru dibangun termasuk perangkat tambahan dan perbaikan bug yang dirilis mingguan. Versi beta yang dirilis pada bulan Februari dan Juni 2006, mengarah ke rilis final yang terjadi pada tanggal 11 Desember 2006.
Perubahan besar disertakan dalam versi ini:
- Dukungan untuk versi Win9x tua turunkan. Secara tidak resmi Java 6 Update 7 adalah rilis terakhir dari Java ditunjukkan untuk bekerja pada versi Windows. Hal ini diyakini terjadi karena perubahan besar dalam update 10.
- Dukungan Bahasa Scripting: Generic API untuk integrasi yang erat dengan bahasa scripting, dan built-in Mozilla javaScript Rhino
- Peningkatan kinerja yang dramatis untuk platform inti, dan Swing.
- Peningkatan Layanan Web dukungan melalui JAX-WS
- Dukungan JDBC 4.0.
- Java Compiler API: sebuah API yang memungkinkan program Java untuk memilih dan memanggil Compiler pemrograman Java.
- Upgrade dari JAXB ke versi 2.0: Termasuk integrasi Stax parser.
- Dukungan untuk penjelasan pluggable
- Banyak perbaikan GUI, seperti integrasi SwingWorker di dalam API, tabel pemilahan dan penyaringan, dan Swing double-buffering (menghilangkan efek wilayah abu-abu).
- Perbaikan JVM meliputi: Sinkronisasi dan Optimasi kinerja compiler, algoritma baru dan upgrade untuk algoritma pengumpulan sampah (gerbage collection) yang ada, dan kinerja aplikasi start-up.
8. Java SE 7 (Juli 28, 2011)
Java 7 (Dolphin codename ) adalah sebuah update besar ke Java yang diluncurkan pada tanggal 7 Juli 2011 dan tersedia dibuat bagi para pengembang pada tanggal 28 Juli 2011. Masa perkembangannya diorganisir menjadi tiga belas milestone. Pada tanggal 18 Februari 2011, 13 milestone (milestone terakhir) yang tercapai . Rata-rata, 8 pengerjaan (yang umumnya termasuk perangkat tambahan dan perbaikan bug) yang dirilis per milestone. Daftar fitur di proyek OpenJDK 7 daftar banyak perubahan fitur.
Fitur tambahan untuk Java 7 meliputi:
- JVM dukungan untuk bahasa dinamis, berikut prototipe pekerjaan saat ini dilakukan pada Virtual Machine Multi Bahasa
- Compressed pointer 64-bit Tersedia di Java 6 dengan-XX: UseCompressedOops
- Perubahan kecil bahasa (dikelompokkan dalam sebuah proyek bernama Coin) :
- String di switch
- Manajemen sumber (source code) secara otomatis di try-statment
- Peningkatan jenis inferensi untuk penciptaan generik
- Metode varargs deklarasi sederhana
- Literal bilangan Biner
- Mengijinkan menggaris bawahi di literal numerik
- Penangkapan beberapa tipe exception dan rethrowing exception dengan memeriksa tipe yang ditingkatkan
- Concurrency utilitas di bawah JSR 166
- File library I / O baru untuk meningkatkan kemandirian platform dan menambahkan dukungan untuk metadata dan link simbolik. Paket-paket baru java.nio.file dan java.nio.file.attribute
- Dukungan Library-level untuk algoritma kriptografi kurva elliptic
- Sebuah pipeline XRender untuk Java 2D, yang meningkatkan penanganan fitur khusus untuk GPU yang modern
- Platform API baru untuk grafis fitur awalnya direncanakan untuk rilis di Jawa versi 6u10
- Peningkatan Library-level dukungan untuk protokol jaringan baru, termasuk SCTP dan Socket Direct Protokol
- Upstream update untuk XML dan Unicode
Lambda (implementasi Java fungsi lambda), Jigsaw (implementasi Java module), dan bagian dari Java 7. Java 8 akan dirilis dengan fitur yang tersisa di musim panas 2013.
9. Java 7 update
Rencana Oracle mengeluarkan update untuk Java 7 secara triwulanan
Rilis | Tanggal Rilis | Keteangan |
---|---|---|
Java SE 7 | 2011-07-07 | Awal rilis |
Java SE 7 Update 1 | 2011-10-18 | 20 perbaikan security, perbaikan bug lainnya |
Java SE 7 Update 2 | 2011-12-12 | perbaikan bug |
10. Java SE 8
Java 8 diharapkan pada musim panas 2013 dan akan mencakup fitur minimal yang direncanakan untuk Java 7 tetapi kemudian ditangguhkan.
- Modularisasi dari JDK di bawah Jigsaw Proyek
- Dukungan language-level untuk ekspresi lambda di bawah Proyek Lambda. Ada perdebatan yang sedang berlangsung dalam komunitas Java untuk menambahkan dukungan untuk ekspresi lambda. Sun kemudian. menyatakan bahwa ekspresi lambda akan dimasukkan di Java 8 dan meminta komunitas untuk memperbaiki fitur tersebut.
- Bagian dari Coin project yang tidak termasuk di Jawa 7
- Integrasi ketat dengan JavaFX.
11. Java 9
Pada JavaOne 2011, Oracle membahas fitur yang mereka harapkan untuk memiliki di Java 9, termasuk dukungan yang lebih baik untuk tumpukan (stack) multi-gigabyte, integrasi kode asli yang lebih baik, dan self-tuning JVM.
sumber : www.wikipedia.org
No comments:
Post a Comment