Apa sih Java?
Java adalah bahasa pemrograman tingkat tinggi berorientasi object dan juga merupakan suatu teknologi yang di develop oleh sun microsystem. Pada awalnya Java dikembangkan dengan tujuan sebagai embedded system pada peralatan elektronik, namun seiring perkembangan World-Wide-Web, Java berkembang ke skala enterprise dengan internet sebagai pondasi utamanya. Lebih jauh mengenai history of Java, bisa dilihat dalam buku Java Handbook oleh Patrick Naughton atau dari source lainnya.
Java memiliki karakteristik seperti:
Object oriented
Java merupakan bahasa yang beorientasi object (object oriented), artinya Java memandang suatu problem atau persoalan ke dalam suatu bentuk yang disebut object. Object-object tersebut merupakan program yang hidup dan berjalan di dalam komputer.
Bytecode compiler
Java source code di-compile ke dalam bytecode Java dan tidak di-compile ke native code komputer. Bytecode ini oleh Java runtime (JRE) atau Java virtual machine (JVM) di-compile kembali secara on-the-fly ke native code komputer dengan Just-in-Time (JIT) compiler.
Write Once Run Anywhere
Program yang di-build dengan Java dapat berjalan pada hampir semua arsitektur komputer dan sistem operasi tanpa harus merubah source code dan meng-compile ulang. Bytecode Java bersifat netral terhadap arsitektur komputer karena bytecode Java berjalan diatas JVM, sedangkan JVM sendiri berjalan untuk setiap arsitektur komputer tertentu.
Multithreading
Java mendukung multithreading dimana eksekusi program Java dapat dipecah menjadi beberapa thread. Thread merupakan lightweight sub process yang saling membagi ruang memori bersama dan dapat melakukan task tertentu secara independen.
Garbage collector
Garbage collector (GC) bekerja sebagai automatic memory management yang akan me-reclaim memory yang sudah tidak digunakan lagi oleh suatu program. Dengan GC, program atau aplikasi Java akan semakin reliable terhadap permasalahan alokasi dan dealokasi memory.
Platform Java
Sebagai sebuah platform, Java terdiri dari yang pertama adalah Java vitual machine (JVM) atau disebut juga Java runtime environment (JRE) dimana program java berjalan diatasnya. Kedua adalah Java application programming interface (API) yang merupakan suatu kumpulan library class Java yang siap untuk digunakan untuk keperluan tertentu, contohnya java.lang.* merupakan base library dari Java, java.io.* digunakan untuk manipulasi input dan output, dan javax.swing.* merupakan library untuk membangun Graphical user interface (GUI) application.
Bagi seseorang yang memahami teknologi komunikasi khususnya komunikasi seluler meskipun tidak terlalu familiar dengan dunia IT atau Komputer biasanya cukup familiar dengan Java dan teknologinya. Tentu saja, karena hampir semua mobile phone modern disertai dengan Java virtual machine, dengan virtual machine tersebut seseorang dapat menjalankan aplikasi atau games yang dikembangkan dengan Java. :)