Java (platform perangkat lunak): Perbedaan antara revisi
Konten dihapus Konten ditambahkan
→Pranala luar: Perbarui dari enwiki Tag: Suntingan visualeditor-wikitext |
Fitur saranan suntingan: 3 pranala ditambahkan. Tag: VisualEditor Suntingan perangkat seluler Suntingan peramban seluler Tugas pengguna baru Disarankan: tambahkan pranala |
||
(7 revisi perantara oleh 5 pengguna tidak ditampilkan) | |||
Baris 1:
{{Terjemahan kaku|2=Java (software platform)}}
[[Berkas:Aspectotuxguitar.jpg|jmpl|Program yang didukung Java]]
'''Java''' adalah satu set [[Perangkat lunak|perangkat lunak komputer]] dan spesifikasi yang dikembangkan oleh [[Sun Microsystems]], yang kemudian diakuisisi oleh [[Oracle Corporation]], yang menyediakan sistem untuk mengembangkan [[Aplikasi|aplikasi perangkat lunak]] dan menerapkan hal itu dalam sebuah [[Lintas platform|cross-platform]] lingkungan komputasi. digunakan di berbagai macam [[Platform (komputer)|platform komputasi]] dari [[Sistem benam|perangkat embedded]] dan [[Telepon genggam|ponsel]] ke [[Peladen|server perusahaan]] dan [[superkomputer]]. Sementara mereka yang kurang umum dari standalone aplikasi Java, [[Java applet]] yang berjalan di aman, lingkungan [[Sandbox (keamanan komputer)|tersandbox]] untuk memberikan banyak fitur dari aplikasi asli dan dapat tertanam ke dalam [[HTML]] halaman.
Baris 6 ⟶ 7:
Pada November 13, 2006, Sun Microsystems membuat sebagian besar implementasi dari tersedia di bawah [[Lisensi Publik Umum GNU|GNU General Public License]] (GPL).<ref>{{Cite web|url=http://www.sun.com/2006-1113/feature/story.jsp|title=Sun Opens Java|date=13 November 2006|publisher=Sun Microsystems|archive-url=https://web.archive.org/web/20080513023707/http://www.sun.com/2006-1113/feature/story.jsp|archive-date=2008-05-13}}</ref><ref>{{Cite web|url=http://mail.openjdk.java.net/pipermail/build-dev/2010-December/003881.html|title=OpenJDK7 and OpenJDK6 Binary Plugs Logic Removed|last=Kelly O'Hair|date=December 2010|publisher=[[Oracle Corporation]]|access-date=2011-11-25}}</ref>
Terbaru versi Java 8, hanya didukung (misalnya dengan
== Platform ==
Platform Java adalah seperangkat program yang memfasilitasi mengembangkan dan menjalankan program yang ditulis dalam [[Java]] bahasa pemrograman. Java platform akan mencakup eksekusi mesin (disebut [[mesin virtual]]), compiler dan satu set [[Pustaka perangkat lunak|perpustakaan]]; mungkin juga ada tambahan [[Peladen|server]] dan alternatif perpustakaan yang tergantung pada persyaratan. Java adalah tidak spesifik untuk setiap prosesor atau [[sistem operasi]] seperti Java platform telah diimplementasikan untuk berbagai macam [[perangkat keras]] dan sistem operasi dengan maksud untuk memungkinkan program Java untuk menjalankan identik pada semua dari mereka. Berbeda platform target kelas yang berbeda dari perangkat dan aplikasi domain:
* Java Card: Sebuah teknologi yang memungkinkan kecil aplikasi berbasis Java (applet) yang akan berjalan dengan aman pada [[Kartu pintar|smart card]] dan kecil yang sama-memori perangkat.
* Java ME (Micro Edition): Menentukan beberapa set yang berbeda dari perpustakaan (dikenal sebagai profil) untuk perangkat dengan penyimpanan terbatas, layar, dan kapasitas daya. Hal ini sering digunakan untuk mengembangkan aplikasi untuk perangkat mobile, Pda, TV [[Dekoder (televisi)|set-top box]], dan printer.
Baris 21 ⟶ 22:
Jantung platform Java adalah konsep "virtual machine" yang mengeksekusi program [[bytecode Java]]. Bytecode ini tetap bisa berjalan, tidak peduli terhadap jenis perangkat keras atau sistem operasinya. Ada JIT (Just In Time) compiler dalam ''Java Virtual Machine''atau JVM. JIT compiler menerjemahkan bytecode Java ke native prosesor instruksi pada saat run-time dan cache kode asli dalam memori selama eksekusi.
Penggunaan bytecode sebagai perantara bahasa yang memungkinkan program Java untuk berjalan pada platform apapun yang memiliki mesin virtual yang tersedia. Penggunaan JIT compiler berarti bahwa aplikasi Java, setelah penundaan singkat selama pemuatan dan setelah mereka memiliki "pemanasan" dengan menjadi semua atau sebagian besar JIT-dikompilasi, cenderung berjalan secepat asli program.<ref name="LewisNeumann"
Sejak JRE versi 1.2, Matahari JVM pelaksanaan sudah termasuk [[Kompilasi tepat waktu|just-in-time compiler]] bukan seorang penerjemah.
Baris 32 ⟶ 33:
=== Bahasa ===
Kata "Java",
Pihak ketiga yang telah menghasilkan banyak [[Kompilator|kompiler]] atau [[Penerjemah (komputasi)|interpreter]] yang menargetkan JVM. Beberapa dari ini adalah untuk bahasa yang ada, sementara yang lain adalah untuk ekstensi untuk bahasa. Ini termasuk:
Baris 63 ⟶ 64:
Bill Joy telah memimpikan sebuah bahasa baru yang menggabungkan Mesa dan C. Dalam sebuah makalah yang disebut ''lebih Lanjut'', ia mengusulkan untuk Sun bahwa para insinyur harus menghasilkan aplikasi yang [[Pemrograman berorientasi objek|berorientasi objek]] lingkungan yang didasarkan pada C++. Awalnya, Gosling berusaha untuk memodifikasi dan memperluas C++ (usulan pembangunan yang ia disebut sebagai "C++ ++ --") tapi segera ditinggalkan yang mendukung untuk menciptakan sebuah bahasa baru, yang disebut ''Oak'', setelah pohon yang berdiri tepat di luar kantornya.{{Butuh rujukan|date=June 2015}}
Pada musim panas 1992, tim bisa menunjukkan bagian-bagian dari platform baru, termasuk Hijau [[Sistem operasi|OS]], Oak bahasa, perpustakaan, dan hardware. Mereka demonstrasi pertama, pada tanggal 3 September 1992, berfokus pada membangun sebuah [[Pembantu digital pribadi|personal digital assistant]] (PDA) perangkat bernama ''Star7''{{Ref|star7}} yang memiliki antarmuka grafis dan smart agen yang disebut "Duke" untuk membantu pengguna. Pada bulan November tahun itu, the Green Project itu berputar off untuk menjadi ''Firstperson'', [[anak perusahaan]] yang sepenuhnya dimiliki dari Sun Microsystems, dan tim pindah ke [[Palo Alto, California]].<ref>{{Cite web|url=http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/J2eeTutorialForeword.html|title=Foreword|last=Kathy Walrath|date=2001-12-21|publisher=[[Sun Microsystems]]|access-date=2009-08-02}}</ref> Yang Firstperson tim memiliki kepentingan dalam membangun sangat interaktif perangkat, dan ketika [[Time Warner]] mengeluarkan request for proposal (RFP) untuk [[Dekoder (televisi)|set-top box]], Firstperson mengubah target mereka dan menanggapi dengan sebuah proposal untuk sebuah set-top box platform. Namun, [[Televisi kabel|kabel]] industri merasa bahwa platform mereka memberikan terlalu banyak kontrol kepada pengguna, sehingga Firstperson kehilangan tawaran mereka untuk [[Silicon Graphics|SGI]]. Tambahan berurusan dengan Yang 3DO Perusahaan untuk set-top box juga gagal terwujud. Mampu membangkitkan minat dalam industri televisi, perusahaan digulung kembali ke Matahari.
=== Memenuhi web ===
[[Berkas:John_Gage.jpg|jmpl|John Gage]]
Pada bulan juni dan juli 1994 – setelah tiga hari dari brainstorming dengan John Gage (Direktur Ilmu pengetahuan untuk Sun Microsystems), Gosling, Sukacita, Naughton, Wayne Rosing, dan [[Eric Schmidt]] – tim re-target platform untuk [[World Wide Web]]. Mereka merasa bahwa dengan munculnya grafis [[Penjelajah web|web browser]] seperti Internet Mosaic bisa berkembang menjadi media yang sangat interaktif<!-- bahwa mereka telah membayangkan untuk TV kabel -->. Sebagai purwarupa, Naughton menulis sebuah browser yang kecil, WebRunner (dinamakan setelah film ''Blade Runner''), berganti nama menjadi HotJava<ref name="earlyhistory"
Pada tahun 1994, Sun mengganti nama bahasa Oak setelah pencarian [[Merek|merek dagang]] mengungkapkan bahwa nama Oak telah digunakan oleh Oak Technology.<ref>{{Cite web|url=http://www.javaworld.com/javaworld/jw-10-1996/jw-10-javaname.html|title=So why did they decide to call it Java?|last=Kieron Murphy|date=1996-04-10|publisher=javaworld.com|access-date=2009-08-03|quote=''The lawyers had told us that we couldn't use the name 'OAK' because [it was already trademarked by] Oak Technologies," said Frank Yellin, a senior engineer at Sun. "So a brainstorming session was held to come up with ideas for a new name''|archive-date=2009-08-03|archive-url=https://web.archive.org/web/20090803031758/http://www.javaworld.com/javaworld/jw-10-1996/jw-10-javaname.html|dead-url=yes}}</ref> Meskipun Java 1.0 a menjadi tersedia untuk di-download pada tahun 1994, rilis publik pertama dari 1.0a2 dengan browser HotJava datang pada tanggal 23 Mei 1995, diumumkan oleh Gage di konferensi SunWorld. Marc Andreessen, Wakil Presiden Eksekutif dari [[Netscape|Netscape Communications Corporation]], tiba-tiba mengumumkan bahwa Netscape browser akan mencakup dukungan Java. Pada tanggal 9 januari 1996, Sun Microsystems membentuk kelompok JavaSoft untuk mengembangkan teknologi.<ref>{{Cite web|url=http://www.sun.com/smi/Press/sunflash/1996-01/sunflash.960109.14048.html|title=Sun Microsystems Announces Formation of Javasoft|date=January 1996|publisher=Sun Microsystems|access-date=2016-10-20|archive-date=2006-12-31|archive-url=https://web.archive.org/web/20061231235046/http://www.sun.com/smi/Press/sunflash/1996-01/sunflash.960109.14048.xml|dead-url=yes}}</ref>
Baris 88 ⟶ 89:
''Java SE 7'' (28 juli 2011) - dengan kode nama ''Dolphin''. Versi ini dikembangkan di bawah JSR 336.<ref>{{Cite web|url=http://www.jcp.org/en/jsr/detail?id=336|title=The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 336|date=|publisher=Jcp.org|access-date=2016-02-09}}</ref> Ini menambahkan sejumlah kecil perubahan bahasa termasuk string di switch, mencoba-dengan-sumber-sumber dan jenis inferensi untuk generic contoh penciptaan. JVM diperpanjang dengan dukungan untuk bahasa dinamis, sedangkan kelas perpustakaan diperpanjang antara lain dengan bergabung/garpu kerangka,<ref>{{Cite web|url=http://www.jcp.org/en/jsr/detail?id=166|title=JSRs: Java Specification Requests: JSR 166: Concurrency Utilities|last=Lea|first=Doug|date=13 September 2004|website=Java Community Process|publisher=Oracle Corp}}</ref> peningkatan new file I/O library dan dukungan untuk protokol jaringan seperti SCTP. Java 7 Update 76 dirilis pada januari 2015, dengan berakhirnya tanggal 14 April 2015.<ref>{{Cite web|url=http://www.oracle.com/technetwork/java/javase/7u76-relnotes-2389087.html|title=Java™ SE Development Kit 7 Update 76 Release Notes|date=|publisher=Oracle.com|access-date=2016-02-09}}</ref>
Pada bulan juni 2016, setelah publik terakhir update Java 7,<ref>https://www.java.com/en/download/faq/release_dates.xml</ref> "[[Exploit|jarak jauh dieksploitasi]]" bug keamanan di Java 6, 7 dan 8 di mana diumumkan.<ref name="remote exploit"
Yang {{As of| 2015 |alt=current}} version, ''Java SE 8'' (18 Maret 2014). Perubahan penting termasuk bahasa tingkat dukungan untuk ekspresi lambda (penutupan) dan metode default, Proyek Nashorn JavaScript runtime, Tanggal dan Waktu yang baru API terinspirasi oleh Joda Waktu, dan penghapusan PermGen. Versi ini tidak secara resmi didukung pada platform Windows XP.<ref>{{Cite web|url=http://www.java.com/en/download/faq/winxp.xml|title=Windows XP and Java|date=2014-04-08|publisher=Java.com|access-date=2016-02-09}}</ref> Namun, karena akhir dari 7 siklus hidup ini adalah versi direkomendasikan untuk pengguna XP. Sebelumnya, hanya tidak resmi instalasi manual metode yang telah dijelaskan untuk Windows XP SP3. Hal ini mengacu pada JDK8, mengembangkan platform untuk Java yang juga mencakup sepenuhnya berfungsi [[Mesin Virtual Java|Java Runtime Environment]].<ref>{{Cite web|url=https://stackoverflow.com/questions/20965564/installing-jdk8-on-windows-xp-advapi32-dll-error|title=installing JDK8 on Windows XP - advapi32.dll error}}</ref> 8 didukung pada Windows Server 2008 R2 SP1, Windows Vista SP2 dan Windows 7 SP1, Ubuntu 12.04 LTS dan lebih tinggi (dan beberapa Os lain).<ref>[http://www.oracle.com/technetwork/java/javase/certconfig-2095354.html Oracle JDK 8 and JRE 8 Certified System Configurations Contents]</ref>
Baris 152 ⟶ 153:
=== Tambalan generik ===
Ketika tambalan generik yang ditambahkan untuk Java 5.0, sudah ada kerangka besar dari kelas-kelas (banyak yang sudah usang), sehingga tambahan generik yang dipilih untuk diimplementasikan menggunakan penghapusan untuk memungkinkan ''migrasi kompatibilitas'' dan penggunaan kembali ini kelas-kelas yang ada. Ini terbatas fitur yang bisa disediakan oleh penambahan ini dibandingkan dengan beberapa bahasa lain.<ref>{{Cite web|url=http://www.ociweb.com/jnb/jnbJul2003.html|title=Generics in Java|publisher=Object Computing, Inc.|access-date=2006-12-09}}</ref><ref>{{Cite web|url=http://www.safalra.com/programming/java/wrong-type-erasure/|title=What's Wrong With Java: Type Erasure|date=2006-12-06|access-date=2006-12-09|archive-date=2012-09-03|archive-url=https://www.webcitation.org/6APL04CFA?url=http://code.stephenmorley.org/articles/java-generics-type-erasure/|dead-url=yes}}</ref>
=== Jenis unsigned integer ===
Baris 164 ⟶ 165:
Pada hari-hari awal dari (sebelum HotSpot VM dilaksanakan di 1.3 2000) ada beberapa kritik kinerja. Namun, tolok ukur biasanya melaporkan menjadi sekitar 50% lebih lambat dari C (bahasa yang mengkompilasi kode asli).<ref name="debchart">{{Cite web |url=http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php |title=Which programming languages are fastest? |access-date=2016-10-20 |archive-date=2011-08-17 |archive-url=https://web.archive.org/web/20110817035023/http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php |dead-url=yes }}</ref><ref>{{Cite web |url=http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=javasteady&lang2=gpp |title=speed ÷ C++ GNU g++ speed {{!}} Computer Language Benchmarks Game |access-date=2016-10-20 |archive-date=2012-03-24 |archive-url=https://web.archive.org/web/20120324074739/http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=javasteady&lang2=gpp |dead-url=unfit }}</ref><ref>{{Cite web|url=http://blog.cfelde.com/2010/06/c-vs-java-performance/|title=C++ vs Java performance; It’s a tie! | Blog of Christian Felde|date=|publisher=Blog.cfelde.com|access-date=2016-02-09}}</ref>
Java kinerja telah meningkat secara substansial sejak versi awal.<ref name="LewisNeumann"
[[Bytecode Java|Java bytecode]] dapat diartikan pada saat dijalankan oleh mesin virtual, atau dapat disusun pada waktu beban atau runtime menjadi kode native yang berjalan secara langsung pada perangkat keras komputer. Interpretasi lebih lambat dari yang asli eksekusi dan kompilasi pada waktu beban atau runtime memiliki kinerja awal penalti untuk kompilasi. Modern performant JVM implementasi semua menggunakan kompilasi pendekatan, sehingga setelah waktu startup awal kinerja setara dengan native code.
Baris 178 ⟶ 179:
Kerentanan ini mempengaruhi {{Nowrap|Java 7}} dan tidak jelas apakah hal itu mempengaruhi {{Nowrap|Java 6}}, sehingga disarankan agar konsumen menonaktifkannya.<ref>{{Cite web|url=http://www.forbes.com/sites/eliseackerman/2013/01/11/us-department-of-homeland-security-calls-on-computer-users-to-disable-java/|title=US Department of Homeland Security Calls On Computer Users To Disable Java|last=|date=|publisher=Forbes.com|access-date=2016-02-09}}</ref><ref>{{Cite web|url=http://threatpost.com/en_us/blogs/nasty-new-java-zero-day-found-exploit-kits-already-have-it-011013?utm_source=Threatpost&utm_medium=Tabs&utm_campaign=Today%27s+Most+Popular|title=The first stop for security news|last=Brook|first=Chris|date=|publisher=Threatpost|access-date=2016-02-09}}</ref> peringatan Keamanan dari Oracle mengumumkan jadwal penting yang berhubungan dengan keamanan patch ke .<ref>{{Cite web|url=http://www.oracle.com/technetwork/topics/security/alerts-086861.html|title=Critical Patch Updates and Security Alerts|date=|publisher=Oracle.com|access-date=2016-02-09}}</ref>
Pada tanggal 14 januari 2013, para ahli keamanan mengatakan bahwa update masih gagal untuk melindungi Pc dari serangan.<ref>{{Cite web|url=http://www.independent.ie/business/technology/emergency-patch-for-java-fails-to-fix-cybercrime-holes-warn-experts-3351321.html|title=Emergency patch for Java fails to fix cybercrime holes, warn experts|last=Jim Finkle|date=2013-01-14|publisher=Independent.ie|access-date=2016-02-09}}</ref> Ini mengeksploitasi lubang diminta tanggapan dari [[Departemen Keamanan Dalam Negeri Amerika Serikat|United States Department of Homeland Security]] mendorong pengguna untuk menonaktifkan atau uninstall .<ref name="Homeland Security"
Menanggapi terbaru keamanan dan kerentanan masalah, keamanan blogger Brian Krebs telah meminta pengguna untuk menghapus setidaknya Java plugin browser dan juga seluruh perangkat lunak. "Saya melihat ke depan untuk sebuah dunia tanpa plugin Java (dan tidak memiliki untuk mengingatkan pembaca tentang triwulanan patch update) tapi itu mungkin akan menjadi tahun sebelum berbagai versi dari plugin ini adalah sebagian besar dihapus dari sistem end-user di seluruh dunia.""<ref>{{Cite web|url=http://krebsonsecurity.com/2016/02/good-riddance-to-oracles-java-plugin/|title=Good Riddance to Oracle’s Java Plugin|last=Krebs|first=Brian|date=16 February 2016|website=KrebsOnSecurity}}</ref> "Setelah menjanjikan, telah hidup lebih lama kegunaannya di browser, dan telah menjadi mimpi buruk yang nikmat cyber-penjahat dengan mengorbankan pengguna komputer."<ref>{{Cite web|url=http://readwrite.com/2012/09/05/java-is-no-longer-needed-pull-the-plug-in|title=Java Is No Longer Needed. Pull The Plug-In|last=Gonsalves|first=Antone|date=5 September 2012|website=ReadWrite|publisher=Wearable World}}</ref> "saya pikir semua orang harus uninstall Java dari semua Pc dan Mac, dan kemudian berpikir hati-hati tentang apakah mereka perlu menambahkannya kembali. Jika anda adalah tipe pengguna rumah, anda mungkin bisa melakukannya tanpa itu. Jika anda adalah pengguna bisnis, anda mungkin tidak memiliki pilihan."<ref>{{Cite web|url=http://www.theguardian.com/technology/askjack/2013/feb/08/java-remove-ask-jack-technology|title=Java: should you remove it?|date=8 February 2013|website=[[theguardian.com]]|publisher=[[Guardian Media Group]]}}</ref>
Baris 199 ⟶ 200:
* [http://java.sun.com/ sun.com – Situs resmi pengembang]
* [http://www.infoq.com/presentations/gosling-jvm-lang-summit-keynote infoq.com – Presentasi] oleh [[James Gosling]] tentang asal-usul Java, dari JVM Bahasa Summit 2008
* [http://www.java-forums.org/forum.php Java forums organization]{{Pranala mati|date=Januari 2023 |bot=InternetArchiveBot |fix-attempted=yes }}
[[Kategori:Platform komputer]]
|