Awal Mula Java (platform perangkat lunak)

computer-training-software – Java merupakan sekumpulan dari perangkat lunak komputer yang spesifikasinya dikembangkan oleh James Gosling dari Sun Microsystems dan kemudian diakuisisi oleh Oracle Corporation.

Oracle sediakan sistem buat meningkatkan fitur lunak aplikasi serta menerapkannya dalam area komputasi rute program. Java dipakai dalam bermacam berbagai program komputasi dari fitur tertancap serta handphone sampai server industri serta superkomputer. Applet Java, yang kurang biasa dibanding aplikasi Java mandiri, umumnya dijalani dalam area sandbox yang nyaman buat sediakan banyak fitur aplikasi asli dengan metode disematkan di laman HTML.

Menulis dalam bahasa pemrograman Java adalah cara utama untuk menghasilkan kode yang akan digunakan sebagai kode byte dalam mesin virtual Java (JVM); kompiler kode byte juga tersedia untuk bahasa lain, termasuk Ada, JavaScript, Python, dan Ruby. Selain itu, beberapa bahasa telah dirancang untuk berjalan secara native di JVM, termasuk Clojure, Groovy, dan Scala.

Awal Mula Java (platform perangkat lunak)

 

Awal Mula Java (platform perangkat lunak) – Sintaks Java banyak meminjam dari C dan C ++, tetapi fitur berorientasi objek dimodelkan setelah Smalltalk dan Objective-C. Java menghindari konstruksi tingkat rendah tertentu seperti pointer dan memiliki model memori yang sangat sederhana di mana objek dialokasikan di heap (sementara beberapa implementasi misalnya semua yang saat ini didukung oleh Oracle, dapat menggunakan optimasi escape analysis untuk mengalokasikan pada stack sebagai gantinya) dan semua variabel jenis objek adalah referensi. Manajemen memori ditangani melalui pengumpulan sampah otomatis terintegrasi yang dilakukan oleh JVM.

Pada 13 November 2006, Sun Microsystems menyediakan sebagian besar implementasi Java di bawah GNU General Public License (GPL).

Versi terbaru adalah Java 16, dirilis pada Maret 2021. Sebagai platform open source, Java memiliki banyak distributor, termasuk Amazon, IBM, Azul Systems, dan AdoptOpenJDK. Distribusinya meliputi Amazon Correto, Zulu, AdoptOpenJDK, dan Liberica.

Mengenai Oracle, itu mendistribusikan Java 8, dan juga menyediakan mis. Java 11, versi dukungan jangka panjang (LTS) yang saat ini didukung, dirilis pada 25 September 2018. Oracle (dan lainnya) “sangat menyarankan Anda untuk menghapus versi Java yang lebih lama” daripada Java 8, karena risiko serius akibat keamanan yang belum terselesaikan masalah. Karena Java 9 (dan 10, 12, 13, 14 dan 15) tidak lagi didukung, Oracle menyarankan penggunanya untuk “segera beralih” ke versi yang didukung. Oracle merilis pembaruan publik gratis untuk penggunaan komersial terakhir untuk Java 8 LTS lawas pada Januari 2019, dan akan terus mendukung Java 8 dengan pembaruan publik untuk penggunaan pribadi tanpa batas waktu. Dukungan diperpanjang Oracle untuk Java 6 berakhir pada Desember 2018.

Baca Juga : Batasan Enkripsi Dalam kriptografi Yang Dihasilkan Oleh Suatu Algoritma

Peron

Program Java merupakan sekumpulan program yang memudahkan pengembangan serta melaksanakan program yang ditulis dalam bahasa pemrograman Java. Program Java melingkupi mesin eksekusi( diucap mesin virtual), kompiler serta satu set pustaka; bisa jadi pula terdapat server bonus serta pustaka pengganti yang tergantung pada persyaratan. Program Java sudah diimplementasikan buat bermacam berbagai fitur keras serta sistem pembedahan dengan tujuan buat membolehkan program Java berjalan dengan cara sama pada seluruhnya. Program yang berlainan mematok kategori fitur serta daerah aplikasi yang berlainan:

1. Kartu Java: Teknologi yang memungkinkan aplikasi kecil berbasis Java (applet) dijalankan dengan aman pada kartu pintar dan perangkat memori kecil serupa.
2. Java ME (Micro Edition): Menentukan beberapa set pustaka yang berbeda (dikenal sebagai profil) untuk perangkat dengan kapasitas penyimpanan, tampilan, dan daya terbatas. Ini sering digunakan untuk mengembangkan aplikasi untuk perangkat seluler, PDA, dekoder TV, dan printer.
3. Java SE (Edisi Standar): Untuk penggunaan tujuan umum pada PC desktop, server, dan perangkat serupa.
4. Jakarta EE (Edisi Perusahaan): Java SE ditambah berbagai API yang berguna untuk aplikasi perusahaan klien-server multi-tingkat.

Platform Java terdiri dari beberapa program, yang masing-masing menyediakan sebagian dari kemampuan keseluruhannya. Misalnya, compiler Java, yang mengubah kode sumber Java menjadi bytecode Java (bahasa perantara untuk JVM), disediakan sebagai bagian dari Java Development Kit (JDK). Java Runtime Environment (JRE), melengkapi JVM dengan kompiler just-in-time (JIT), mengubah bytecode perantara menjadi kode mesin native dengan cepat. Platform Java juga mencakup sekumpulan pustaka yang luas.

Komponen penting dalam platform adalah compiler bahasa Java, pustaka, dan lingkungan waktu proses tempat bytecode perantara Java dijalankan sesuai dengan aturan yang ditetapkan dalam spesifikasi mesin virtual.

Mesin Virtual Java

Inti dari platform Java adalah “mesin virtual” yang menjalankan program bytecode Java. Bytecode ini sama, apa pun perangkat keras atau sistem operasi yang dijalankan program tersebut. Namun, versi baru, seperti untuk Java 10 (dan sebelumnya), telah membuat perubahan kecil, yang berarti bytecode secara umum hanya kompatibel ke depan. Ada kompiler JIT (Just In Time) dalam Java Virtual Machine, atau JVM. Compiler JIT menerjemahkan bytecode Java ke dalam instruksi prosesor asli pada saat run-time dan menyimpan kode native ke dalam memori selama eksekusi.

Pemakaian bytecode selaku bahasa perantara membolehkan program Java buat berjalan di program apa juga yang mempunyai mesin virtual yang ada. Pemakaian kompilator JIT berarti kalau aplikasi Java, sehabis janji pendek sepanjang pencantuman serta sehabis mereka” memanas” dengan jadi seluruh ataupun beberapa besar JIT- dikompilasi, mengarah berjalan sedini program asli. Semenjak JRE tipe 1. 2, aplikasi JVM Sun sudah melibatkan kompiler just- in- time serta bukan interpreter.

Meskipun program Java bersifat lintas platform atau platform independen, kode Java Virtual Machines (JVM) yang menjalankan program ini tidak. Setiap platform operasi yang didukung memiliki JVM-nya sendiri.

Perpustakaan kelas

Di sebagian besar sistem operasi modern (OS), sejumlah besar kode yang dapat digunakan kembali disediakan untuk menyederhanakan pekerjaan programmer. Kode ini biasanya disediakan sebagai kumpulan pustaka yang dapat dimuat secara dinamis yang dapat dipanggil aplikasi pada waktu proses.

Karena platform Java tidak bergantung pada sistem operasi tertentu, aplikasi tidak dapat bergantung pada pustaka OS yang sudah ada sebelumnya. Alih-alih, platform Java menyediakan satu set lengkap pustaka kelas standarnya sendiri yang berisi banyak fungsi yang dapat digunakan kembali yang biasa ditemukan dalam sistem operasi modern. Sebagian besar perpustakaan sistem juga ditulis dalam Java. Misalnya, pustaka Swing melukis antarmuka pengguna dan menangani kejadian itu sendiri, menghilangkan banyak perbedaan halus antara cara berbagai platform menangani komponen.

Pustaka kelas Java melayani tiga tujuan dalam platform Java. Pertama, seperti pustaka kode standar lainnya, pustaka Java menyediakan pemrogram sekumpulan fungsi yang terkenal untuk melakukan tugas-tugas umum, seperti memelihara daftar item atau melakukan parsing string yang kompleks.

Kedua, perpustakaan kelas menyediakan antarmuka abstrak untuk tugas-tugas yang biasanya sangat bergantung pada perangkat keras dan sistem operasi. Tugas-tugas seperti akses jaringan dan akses file seringkali sangat terkait dengan implementasi berbeda dari setiap platform. Pustaka java.net dan java.io mengimplementasikan lapisan abstraksi dalam kode OS asli, kemudian menyediakan antarmuka standar untuk aplikasi Java untuk melakukan tugas tersebut.

Terakhir, kala sebagian program yang mendasarinya tidak mensupport seluruh fitur yang diharapkan aplikasi Java, pustaka kategori bertugas dengan bagus buat menanggulangi bagian yang tidak terdapat, bagus dengan kedengkian buat sediakan pengganti, ataupun paling tidak dengan sediakan metode yang tidak berubah- ubah buat mengecek kehadiran dari fitur khusus.

Bahasa

Tutur” Java” saja, umumnya merujuk pada bahasa pemrograman Java yang didesain buat dipakai dengan program Java. Bahasa pemrograman umumnya terletak di luar lingkup frase” program”, walaupun bahasa pemrograman Java sudah tertera selaku bagian inti dari program Java saat sebelum Java 7. Oleh sebab itu, bahasa serta runtime biasanya dikira selaku satu bagian. Tetapi, usaha sudah dicoba dengan detail Java 7 buat lebih nyata memandang bahasa Java serta mesin virtual Java selaku entitas yang terpisah, alhasil tidak lagi dikira selaku satu kesatuan.

Platform serupa

Keberhasilan Java dan konsep sekali tulis, jalankan di mana saja telah menghasilkan upaya serupa lainnya, terutama .NET Framework, yang muncul sejak 2002, yang menggabungkan banyak aspek sukses dari Java. NET dibangun dari bawah ke atas untuk mendukung berbagai bahasa pemrograman, sedangkan platform Java pada awalnya dibangun hanya untuk mendukung bahasa Java, meskipun banyak bahasa lain telah dibuat untuk JVM sejak itu. Seperti Java, bahasa .NET dikompilasi menjadi kode byte dan dijalankan oleh Common Language Runtime (CLR), yang tujuannya serupa dengan JVM. Seperti JVM, CLR menyediakan manajemen memori melalui pengumpulan sampah otomatis, dan memungkinkan kode byte .NET untuk dijalankan pada beberapa sistem operasi.

.NET menyertakan bahasa mirip Java yang pertama bernama J ++, kemudian disebut Visual J # yang tidak kompatibel dengan spesifikasi Java. Itu dihentikan 2007, dan dukungan untuk itu berakhir pada 2015.

Kit Pengembangan Java

Java Development Kit (JDK) adalah produk Sun yang ditujukan untuk pengembang Java. Sejak diperkenalkannya Java, ini telah menjadi kit pengembangan perangkat lunak (SDK) Java yang paling banyak digunakan. Ini berisi kompiler Java, salinan lengkap Java Runtime Environment (JRE), dan banyak alat pengembangan penting lainnya.

Sejarah

Platform dan bahasa Java dimulai sebagai proyek internal di Sun Microsystems pada bulan Desember 1990, menyediakan alternatif untuk bahasa pemrograman C ++ / C. Insinyur Patrick Naughton menjadi semakin frustrasi dengan keadaan antarmuka pemrograman aplikasi (API) dan alat bantu C ++ dan C Sun, serta dengan cara proyek NeWS ditangani oleh organisasi. Naughton memberi tahu Scott McNealy tentang rencananya meninggalkan Sun dan pindah ke NeXT; McNealy memintanya untuk berpura-pura menjadi Tuhan dan mengiriminya email yang menjelaskan cara memperbaiki perusahaan. Naughton membayangkan pembentukan tim kecil yang dapat bekerja secara mandiri tanpa birokrasi yang menghambat proyek Sun lainnya. McNealy meneruskan pesan tersebut ke orang-orang penting lainnya di Sun, dan Proyek Stealth dimulai.

Proyek Stealth segera diganti namanya menjadi Proyek Hijau, dengan James Gosling dan Mike Sheridan bergabung dengan Naughton. Bersama dengan insinyur lainnya, mereka mulai bekerja di sebuah kantor kecil di Sand Hill Road di Menlo Park, California. Mereka bertujuan mengembangkan teknologi baru untuk memprogram peralatan pintar generasi mendatang, yang diharapkan Sun dapat menawarkan peluang baru yang besar.

Tim awalnya mempertimbangkan untuk menggunakan C ++, tetapi menolaknya karena beberapa alasan. Karena mereka mengembangkan sistem tertanam dengan sumber daya terbatas, mereka memutuskan bahwa C ++ membutuhkan terlalu banyak memori dan kompleksitasnya menyebabkan kesalahan pengembang. Kurangnya pengumpulan sampah bahasa berarti bahwa pemrogram harus mengelola memori sistem secara manual, tugas yang menantang dan rawan kesalahan. Tim juga khawatir tentang kurangnya fasilitas portabel untuk keamanan, pemrograman terdistribusi, dan threading. Akhirnya, mereka menginginkan platform yang mudah dibawa ke semua jenis perangkat.

Bill Joy telah membayangkan bahasa baru yang menggabungkan Mesa dan C. Dalam makalah berjudul Lebih lanjut, dia mengusulkan kepada Sun bahwa para insinyurnya harus menghasilkan lingkungan berorientasi objek berdasarkan C ++. Awalnya, Gosling mencoba untuk memodifikasi dan memperluas C ++ (pengembangan yang diusulkan yang dia sebut sebagai “C ++ ++ -“) tetapi segera meninggalkannya untuk menciptakan bahasa baru, yang dia sebut Oak, setelah pohon yang berdiri di luar kantornya.

Pada musim panas 1992, tim dapat mendemonstrasikan bagian dari platform baru, termasuk Green OS, bahasa Oak, perpustakaan, dan perangkat keras. Demonstrasi pertama mereka, pada 3 September 1992, berfokus pada pembuatan perangkat asisten digital pribadi (PDA) bernama Star7 yang memiliki antarmuka grafis dan agen cerdas bernama “Duke” untuk membantu pengguna.

Pada bulan November tahun itu, Green Project dipisah menjadi Firstperson, anak perusahaan yang sepenuhnya dimiliki oleh Sun Microsystems, dan tim tersebut pindah ke Palo Alto, California. Tim Firstperson memiliki minat dalam membangun perangkat yang sangat interaktif, dan ketika Time Warner mengeluarkan permintaan proposal (RFP) untuk dekoder, Firstperson mengubah target mereka dan menanggapi dengan proposal untuk platform dekoder. Namun, industri kabel merasa bahwa platform mereka memberikan terlalu banyak kendali kepada pengguna, sehingga Firstperson kehilangan tawarannya kepada SGI. Kesepakatan tambahan dengan The 3DO Company untuk dekoder juga gagal terwujud. Karena tidak dapat menarik minat dalam industri televisi, perusahaan itu digulung kembali ke Sun.

Java memenuhi Web

Pada bulan Juni dan Juli 1994 – setelah tiga hari bertukar pikiran dengan John Gage (Direktur Sains untuk Sun), Gosling, Joy, Naughton, Wayne Rosing, dan Eric Schmidt – tim menargetkan ulang platform untuk World Wide Web. Mereka merasa bahwa dengan munculnya browser web grafis seperti Mosaic, Internet dapat berkembang menjadi media yang sangat interaktif seperti yang mereka bayangkan untuk TV kabel. Sebagai prototipe, Naughton menulis browser kecil, WebRunner (dinamai menurut film Blade Runner), berganti nama menjadi HotJava pada tahun 1995.

Sun mengganti nama bahasa Oak menjadi Java setelah pencarian merek dagang mengungkapkan bahwa Oak Technology menggunakan nama Oak. Meskipun Java 1.0a tersedia untuk diunduh pada tahun 1994, rilis publik pertama Java, Java 1.0a2 dengan browser HotJava, datang pada tanggal 23 Mei 1995, diumumkan oleh Gage pada konferensi SunWorld. Mendampingi pengumuman Gage, Marc Andreessen, Wakil Presiden Eksekutif Netscape Communications Corporation, secara tidak terduga mengumumkan bahwa browser Netscape akan menyertakan dukungan Java. Pada tanggal 9 Januari 1996, Sun Microsystems membentuk grup JavaSoft untuk mengembangkan teknologinya.

Sementara apa yang disebut applet Java untuk browser web tidak lagi merupakan penggunaan Java yang paling populer (dengan itu misalnya lebih banyak digunakan sisi server) atau cara paling populer untuk menjalankan kode sisi klien (JavaScript mengambil alih karena lebih populer), itu masih mungkin untuk menjalankan Java (atau bahasa JVM lainnya seperti Kotlin) di browser web, bahkan setelah dukungan JVM telah dihapus darinya, menggunakan mis. TeaVM.

Riwayat versi

Bahasa Java telah mengalami beberapa perubahan sejak rilis JDK (Java Development Kit) 1.0 pada tanggal 23 Januari 1996, serta banyak penambahan kelas dan paket ke pustaka standar. Sejak J2SE 1.4, Proses Komunitas Java (JCP) telah mengatur evolusi Bahasa Java. JCP menggunakan Permintaan Spesifikasi Java (JSR) untuk mengusulkan dan menentukan penambahan dan perubahan pada platform Java. Spesifikasi Bahasa Java (JLS) menentukan bahasa; perubahan pada JLS dikelola di bawah JSR 901.

Sun merilis JDK 1.1 pada 19 Februari 1997. Penambahan utama termasuk retooling ekstensif model acara AWT, kelas-kelas dalam ditambahkan ke bahasa, JavaBeans dan JDBC.

J2SE 1.2 (8 Desember 1998) – Codename Playground. Rilis ini dan selanjutnya melalui J2SE 5.0 diganti mereknya menjadi Java 2 dan nama versi “J2SE” (Platform Java 2, Edisi Standar) menggantikan JDK untuk membedakan platform dasar dari J2EE (Platform Java 2, Edisi Perusahaan) dan J2ME (Platform Java 2, Edisi Mikro). Penambahan utama termasuk refleksi, kerangka koleksi, Java IDL (implementasi bahasa deskripsi antarmuka untuk interoperabilitas CORBA), dan integrasi API grafis Swing ke dalam kelas inti. Sebuah Java Plug-in dirilis, dan JVM Sun dilengkapi dengan kompiler JIT untuk pertama kalinya.

J2SE 1. 3( 8 Mei 2000)- Codename Kestrel. Pergantian berarti tercantum bundling Wifi JVM( Wifi JVM awal kali diluncurkan pada bulan April 1999 buat J2SE 1. 2 JVM), JavaSound, Java Naming and Directory Interface( JNDI) serta Java Program Debugger Architecture( JPDA).

Baca Juga: Panduan Lengkap Tentang Belajar Coding HTML untuk Para Pemula

J2SE 1. 4( 6 Februari 2002)- Codename Merlin. Ini jadi luncurkan awal dari program Java yang dibesarkan di dasar Cara Komunitas Java selaku JSR 59. Pergantian besar tercantum mimik muka reguler yang dimodelkan sehabis Perl, susunan dispensasi, pengurai XML berintegrasi serta prosesor XSLT( JAXP), serta Java Website Mulai.

J2SE 5.0 (30 September 2004) – Codename Tiger. Awalnya bernomor 1.5, yang masih digunakan sebagai nomor versi internal. Dikembangkan di bawah JSR 176, Tiger menambahkan beberapa fitur bahasa baru yang signifikan termasuk for-each loop, generics, autoboxing dan var-args.

Java SE 6 (11 Desember 2006) – Codename Mustang. Itu dibundel dengan manajer basis data dan memfasilitasi penggunaan bahasa skrip dengan JVM (seperti JavaScript menggunakan mesin Rhino Mozilla).

Pada versi ini, Sun mengganti nama “J2SE” dengan Java SE dan menghapus “.0” dari nomor versi. Perubahan besar lainnya termasuk dukungan untuk anotasi pluggable (JSR 269), banyak peningkatan GUI, termasuk peningkatan UI asli untuk mendukung tampilan dan nuansa Windows Vista, dan peningkatan Java Platform Debugger Architecture (JPDA) & JVM Tool Interface untuk pemantauan dan penyelesaian masalah.

Java SE 7 (28 Juli 2011) – Codename Dolphin. Versi ini dikembangkan di bawah JSR 336. Ia menambahkan banyak perubahan bahasa kecil termasuk string di switch, coba-dengan-sumber daya dan inferensi tipe untuk pembuatan instance generik. JVM diperluas dengan dukungan untuk bahasa dinamis, sedangkan perpustakaan kelas diperluas antara lain dengan kerangka kerja gabungan / garpu, perpustakaan I / O file baru yang ditingkatkan dan dukungan untuk protokol jaringan baru seperti SCTP. Java 7 Update 76 dirilis pada Januari 2015, dengan tanggal kedaluwarsa 14 April 2015.