Sejak awal kehidupan kampus saya, saya telah menggunakan Java dan masalah terbesar yang kami miliki benar-benar kurang produktif daripada bahasa lain yang ditafsirkan. Semua orang yakin bahwa java adalah salah satu bahasa kompilasi terbaik.
Namun, baik Sun maupun Oracle tidak berupaya cukup untuk menyelesaikan masalah ini. Salah satu masalahnya adalah, tentu saja, reload kelas.
Upaya terbaru dari komunitas untuk mengatasi masalah ini adalah proyek DaVinci Hotswap , JRebel , PlayFramework . Namun, pada saat penulisan ini mereka masih belum dewasa (imo) dan asli. Beberapa dari mereka belum siap untuk perusahaan, beberapa dari mereka tidak kompatibel dengan semua IDE, beberapa dari mereka adalah proyek universal yang belum matang. Peta jalan dan bahkan pengembang Java siap sudah siap, tetapi komunitas Java masih tidak memiliki solusi untuk memuat ulang kelas terbang.
Apakah begitu sulit bagi Oracle untuk berusaha menyelesaikan masalah ini? Mengapa pemuatan kelas belum diterapkan secara asli?
Jawaban:
Bagaimana dengan JEE / J2EE? Ini pertama kali dirilis 12 tahun yang lalu. Ini didukung langsung menjadi Sun / Oracle dan banyak vendor lainnya.
Bagaimana dengan OSGi? Rilis pertama hampir 11 tahun yang lalu. Eclipse (sebuah IDE) dibangun di atasnya, Glassfish dari Sun / Oracle dan Apache Felix menggunakannya secara luas. Anda dapat menggunakannya dengan Spring-OSGi.
Itu belum didukung secara asli di Java SE karena aplikasi perusahaan sengaja didukung oleh server aplikasi sebagai produk terpisah.
sumber
Coba ini: http://www.zeroturnaround.com/blog/reloading_java_classes_401_hotswap_jrebel/
Ada beberapa masalah kompleks yang terlibat. Saya sebenarnya tidak mengetahui adanya solusi di luar sana (untuk Java atau tidak) yang melakukan perubahan struktural pada entitas stateful. Bahasa dinamis seperti Ruby atau PHP tidak benar-benar melakukan itu, saya tidak yakin tentang Erlang, tapi saya pikir itu juga akan kehilangan status.
sumber