Saya baru saja melihat video yang menunjukkan bagaimana Notch (of Minecraft fame) melakukan debugging dan mengubah Minecraft saat sedang berjalan. Dia menjeda permainan, mengubah sesuatu dalam kode dan kemudian membatalkan permainan di mana perubahan langsung berlaku tanpa perlu me-restart program.
Bagaimana cara kerjanya? Jenis teknik apa yang digunakan untuk mencapai ini?
Jawaban:
Java dapat melakukan hot-swapping di luar kotak. Jika Anda menggunakan IDE seperti Eclipse, itu akan berfungsi untuk mengubah metode-badan. Jika Anda ingin menerapkan perubahan kode lain, Anda mungkin ingin menggunakan alat. JRebel adalah produk yang mendukung lebih banyak kasing.
Saya tidak ingin melakukan pemasaran untuk produk itu, tetapi saya pribadi tidak tahu alternatif lain. Di situs web JRebel ada perbandingan fitur yang bagus .
Semoga itu bisa membantu.
sumber
Ini disebut penggantian kode panas dan memungkinkan IDE untuk mengubah kode live running melalui antarmuka debugging. Ini telah didukung oleh Sun JVM sejak Java 1.4.1
Namun, kecuali Anda menggunakan ekstensi JRebel JVM (komersial), itu terbatas pada perubahan di dalam badan metode. Jika Anda menambah / menghapus metode atau kelas, atau mengubah tanda tangan, Anda harus memulai ulang JVM.
sumber