Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Pengenalan Ekosistem Java

Pengenalan Ekosistem Java

Pengenalan awal tentang ekosistem java, dengan pembahasan garis besar tenang:

- Bahasa pemrograman java
- Java Virtual Machine
- Platform Java

Ikuti diskusi umum tentang Java dan ekosistemnya pada group telegram Java User Group (JUG) di https://telegram.me/jugindonesia

Paper diskusi tentang penciptaan "garbage collection" pada di www-formal.stanford.edu/jmc/recursive.ps

Video dapat diakses di youtube:
https://www.youtube.com/watch?v=CK7bW8XO1NA

Sound only available di soundcloud:
https://soundcloud.com/alex-albert-sim/pengenalan-ekosistem-java

Alex Xandra Albert Sim

October 25, 2016
Tweet

More Decks by Alex Xandra Albert Sim

Other Decks in Programming

Transcript

  1. EKOSISTEM JAVA ▸ Java - “the Language” ▸ Java -

    “the Virtual Machine” (JVM) ▸ Java - “the Platform”
  2. BAHASA PEMROGRAMAN JAVA ▸ Multi-paradigma (class-based OOP, imperative, structured, generic,

    reflective) ▸ Static, strong typing ▸ Write once, run everywhere ▸ Automatic memory management ▸ Tua! (dibuat 21 Januari 1996, 21 tahun)
  3. AUTOMATIC MEMORY MANAGEMENT ▸ Kontras dengan bahasa yang dekat dengan

    mesin seperti C ▸ Java menggunakan teknik “Garbage Collection” ▸ Memori yang digunakan oleh objek “dibersihkan” secara otomatis ketika telah tidak digunakan oleh program Java ▸ Teknik pertama kali diciptakan oleh John McCarthy pada 1959 untuk bahasa Lisp
  4. WRITE ONCE, RUN EVERYWHERE ▸ Slogan Java karena program java

    bisa dijalankan di sistem apapun… ▸ … selama ada implementasi JVM di sistem tersebut. ▸ Java telah terbukti berjalan di banyak tempat, dari handphone, komputer, sampai pesawat terbang
  5. JAVA VIRTUAL MACHINE ▸ Mesin virtual yang memungkinkan sebuah sistem

    untuk menjalankan program java. ▸ Membaca dan mengeksekusi bytecode Java. ▸ Konsekuensi: compiler java menghasilkan bytecode JVM, bukan bahasa mesin.
  6. BYTECODE? ▸ javac menghasilkan bytecode ▸ Bytecode: bahasa “mesin” yang

    dimengerti oleh JVM ▸ Sering disebut “intermediate representation” karena menggabungkan bahasa mesin dan kode program ▸ Dirancang untuk berjalan dengan sangat efisien pada JVM ▸ JVM membaca bytecode dan mengubahnya menjadi bahasa mesin (jika diperlukan, mis. untuk performa)
  7. IMPEMENTASI JVM ▸ Ada banyak implementasi JVM, sesuai kebutuhan dan

    optimasi ▸ Contoh: • Hotspot VM (implementasi utama dari Oracle) • OpenJDK • Apache Harmony • IBM Websphere JVM
  8. JAVA PLATFORM ▸ Software platform: kumpulan program dan lingkungan untuk

    menjalankan dan membangun program ▸ Java bukan hanya sekedar bahasa, tapi juga platform ▸ Beda platform biasanya beda tujuan (target mesin, jenis aplikasi, dst) ▸ Kenapa? Beda constraint.
  9. SOFTWARE DALAM JAVA PLATFORM ▸ Java Runtime Environment (JRE) -

    untuk menjalankan program java: JVM + JIT (Just-in-time) compiler ▸ Java Development Kit (JDK) - JRE + berbagai software untuk programmer java. ▸ Software programmer java mis: compiler java (javac), profiler (jvisualvm), dst
  10. CLASSIC JAVA PLATFORM ▸ Java ME (Micro Edition) - Untuk

    sistem embedded ▸ Java SE (Standard Edition) - Aplikasi desktop ▸ Java EE (Enterprise Edition) - Aplikasi enterprise; client- server, multi-tier
  11. JAVA PLATFORM (CONT.) ▸ “Java” biasanya merujuk pada platform (bahasa

    + runtime) ▸ Platform memfasilitasi software, framework, dan banyak bahasa lain ▸ Klasik (mis. JEE) dan modern (mis: Spring Boot) masih sama-sama banyak digunakan ▸ Bahasa alternatif (mis. scala, kotlin, clojure) juga ramai pengguna