java 并發(fā)編程 java虛擬機是用什么語言編寫的?它的原理誰能通俗的講出來嗎?
java虛擬機是用什么語言編寫的?它的原理誰能通俗的講出來嗎?java虛擬機功能就是執(zhí)行Java字節(jié)碼,其編碼實現(xiàn)就是一個死循環(huán),每一次循環(huán)就是取字節(jié)碼,執(zhí)行字節(jié)碼的過程,所以跟其它程序沒有什么本質區(qū)
java虛擬機是用什么語言編寫的?它的原理誰能通俗的講出來嗎?
java虛擬機功能就是執(zhí)行Java字節(jié)碼,其編碼實現(xiàn)就是一個死循環(huán),每一次循環(huán)就是取字節(jié)碼,執(zhí)行字節(jié)碼的過程,所以跟其它程序沒有什么本質區(qū)別。主流的javaVM還是用C語言實現(xiàn)的居多,再以匯編為輔助,用java實現(xiàn)javaVM的情況有,但不多。
下面是一個在智能設備里用C語言實現(xiàn)虛擬機的片段。
這一段代碼就是對short加法這個字節(jié)碼的實現(xiàn)。
而這一段代碼就是取字節(jié)碼并執(zhí)行,是不是覺得JavaVM也不過如此呢。
有不少人會為了優(yōu)化虛擬機的效率,而選擇用匯編把這些執(zhí)行頻度很高的代碼重寫一下。
總結就是C實現(xiàn)的多,會結合匯編作為輔助。其它語言也有,但不是主流。
如何系統(tǒng)地自學Java?
我以一個過來人的經(jīng)驗告訴各位、怎么系統(tǒng)的學習Java !
1,必須要有堅持不懈的努力,要耐得住寂寞這點都做不了還是不要學了!
2,要有豐富的資源,我這里有一整套系統(tǒng)的Java學習視頻加上文檔,想要的關注我私信獲取。
3,要有一個隨時可以解決你問題的朋友,說白點就是帶你入門的!有什么問題你不會卡很久有人解答就能快速學習!
要想學Java看你能不能做到以上三點