Apa itu Bytecode?

Bytecode adalah kode objek komputer perangkat lunak yang hanya dapat ditafsirkan oleh program perangkat lunak, biasanya digambarkan sebagai mesin virtual. Di banyak platform pengembangan perangkat lunak modern, bytecode lebih disukai daripada kode mesin tingkat rendah karena menempatkan juru bahasa antara program perangkat lunak dan perangkat keras komputer. Kode mesin bergantung pada platform yang memerlukan kompilasi pada setiap platform perangkat keras untuk dijalankan dengan benar pada platform tertentu.

Karena paradigma pengembangan perangkat lunak telah matang dari waktu ke waktu, demikian juga penggunaan lapisan interpretasi eksternal antara perangkat keras komputer dan perangkat lunak yang berjalan di komputer. Pada awal pembuatan perangkat lunak awal, pengembang bergantung pada perangkat keras komputer, driver dan sistem operasi yang mendasarinya. Ketergantungan ini memaksa para pengembang untuk memahami secara mendalam banyak aspek dari komputer tertentu, yang membuat kemandirian platform menjadi sangat sulit dan pertumbuhan perangkat lunak secara erat digabungkan dengan vendor perangkat keras dan perangkat lunak tertentu.

Penciptaan bytecode telah menciptakan lingkungan kemandirian platform dalam komunitas pengembangan perangkat lunak. Dengan penggunaan metafora ini, pengembang perangkat lunak dapat menulis sekali dan digunakan di mana saja. Pengembang tidak dipaksa untuk memahami driver asli dari komputer tertentu, juga tidak peduli dengan sistem operasi yang mendasari di mana perangkat lunak akan berjalan.

Mesin virtual adalah istilah yang digunakan dalam bahasa pemrograman Java™ untuk mewakili program perangkat lunak yang akan menginterpretasikan bytecode. Mesin virtual ini akan mengubah bytecode yang diperlukan untuk berinteraksi dengan perangkat keras dan sistem operasi yang mendasarinya di dalam komputer. Kode mesin yang dihasilkan oleh mesin virtual disembunyikan dari pengembang program perangkat lunak Java™ dan dapat berfungsi penuh pada berbagai platform tanpa memerlukan penulisan ulang aplikasi perangkat lunak untuk setiap platform.

Internal bytecode lebih merupakan topik lanjutan dan biasanya tidak perlu dipahami oleh sebagian besar pengembang. Bytecode bukan bahasa yang dapat dibaca manusia dan terdiri dari representasi numerik yang dikodekan dari kelas, metode, dan ruang lingkup objek dan sarangnya di dalam kelas. Setiap bytecode opcode memiliki panjang satu byte.

Bahasa mesin yang dibutuhkan komputer modern untuk berfungsi pada perintah adalah hak milik di alam oleh vendor. Setiap perangkat keras dan sistem operasi memiliki cara unik dalam menangani proses, alokasi memori, dan pemanfaatan tugas. Dengan menggunakan aplikasi pengembangan perangkat lunak bytecode, penerjemah mesin virtual bertanggung jawab untuk membuat kode mesin yang akan diperlukan untuk dijalankan pada platform berpemilik.