java編程 Java代碼的靜態(tài)編譯和動態(tài)編譯中的問題是什么?
Java代碼的靜態(tài)編譯和動態(tài)編譯中的問題是什么?Java代碼通常被靜態(tài)編譯成字節(jié)碼,由相應(yīng)平臺的JVM加載和執(zhí)行。靜態(tài)編譯無法動態(tài)擴(kuò)展函數(shù)。動態(tài)編譯可以通過兩種方式實現(xiàn):從源代碼編譯、調(diào)用java編譯
Java代碼的靜態(tài)編譯和動態(tài)編譯中的問題是什么?
Java代碼通常被靜態(tài)編譯成字節(jié)碼,由相應(yīng)平臺的JVM加載和執(zhí)行。靜態(tài)編譯無法動態(tài)擴(kuò)展函數(shù)。動態(tài)編譯可以通過兩種方式實現(xiàn):從源代碼編譯、調(diào)用java編譯器和在JDK(而不是JRE)上運行。動態(tài)字節(jié)碼生成技術(shù)(如cglib、ASM)創(chuàng)建類。動態(tài)編譯可以簡化代碼,增強(qiáng)類功能,但也帶來了代碼的復(fù)雜性,不易在線維護(hù)。
如果有配套的編譯器,JAVA語言可不可以編寫單片機(jī)程序呢?
通常,Java在MCU中的應(yīng)用并不廣泛,通常使用C或C。但是,有些微控制器可以使用Java。這樣的微控制器需要集成JVM,比如freerts來使用Java。目前,以ARM為核心的單片機(jī)得到了廣泛的應(yīng)用。Arm不僅可以支持Java,還可以運行多種操作系統(tǒng)。
Java的起源用于電視、電話、鬧鐘、烤面包機(jī)等家用電器的控制和通訊。但它誕生得太早,后來在發(fā)展中改變了其主要應(yīng)用方向。