java--你不知道的小點

2018/7/26:

看極客時間中《java核心技術36講》第一章問題

1.什么是解釋執(zhí)行什么是編譯執(zhí)行?

解釋執(zhí)行:類似口譯,要執(zhí)行一句就解釋一句為機器語言,適合小型的項目。

編譯執(zhí)行:類似全文翻譯,先編譯為機器語言,然后你再執(zhí)行,適合大型項目。

?2.java是解釋執(zhí)行嗎?

在我淺薄的認知中,我不知道為什么會有這樣的問題。開始學的時候,老師就說java是編譯執(zhí)行,python是解釋執(zhí)行,真是一臉懵逼。我猜測老師說的是下面說的前半部分,問題問的是后半部分?

作者說:

首先:Java分為①編譯期和② 運行期。

1).java-- 編譯---->.class? ?-------->這個步驟是一次編譯,到處執(zhí)行那句話。

2).class----->類加載器------->解釋/編譯執(zhí)行

在運行期:

a)jvm內嵌的解釋器講.class轉換成最終的機器碼。?

b)大多數的JVM,都提供JIT(Just-In-Time)動態(tài)編譯器,將熱點代碼編譯成機器碼,這種情況就是編譯執(zhí)行而不是解釋執(zhí)行。

c)還有一種新的AOT(Ahead-of-Time-Compilation)直接講字節(jié)碼編譯成機器碼,避免JIT預熱各方面的開銷。比如Oracle JDK 9

所以:.java是解釋執(zhí)行嗎?錯,java有解釋執(zhí)行,混合執(zhí)行,編譯執(zhí)行

評論中有這么一:

首先javac編譯器將源代碼編譯成字節(jié)碼。

然后jvm類加載器加載字節(jié)碼文件,然后通過解釋器逐行解釋執(zhí)行,這種方式的執(zhí)行速度相對會比較慢。有些方法和代碼塊是高頻率調用的,也就是所謂的熱點代碼,所以引進jit技術,提前將這類字節(jié)碼直接編譯成本地機器碼。這樣類似于緩存技術,運行時再遇到這類代碼直接可以執(zhí)行,而不是先解釋后執(zhí)行。


2018/8/15:

?1.為什么匿名類引用外面的變量必須要用final:

第一次知道這個事情是在寫安卓代碼的時候,當時就相當想知道著是為什么呢?但是當時淺薄的認知,連要百度的問題我都不知道GG。今天突然看到有人說為什么,我激動哦。

他說java傳參,是傳值而不是傳引用,這就是最本質的原因。

2.值傳遞和引用傳值:什么意思?

jvm中有堆和棧,棧中存放對象的引用,局部變量,操作數等。棧中存放對象的實例。值傳遞就是傳遞棧中的值,不是堆中的。

小總結:

形參就是:方法聲明時候的()里面的值? ? ? ? 實參就是:方法調用的時候傳入的值。

基本數據類型 ?:將實參的值傳遞給形參

?引用數據類型:將實參的對應的堆空間的首地址值傳遞給形參

?網上有人說:為了生命周期和可見性的問題:使用了final ??

具體推薦final語義:? 大神寫的

- final保證傳入值是不可變得:?(指令重排導致傳入參數的值是不確定的。)這句話我猜的。

- final 屬性的值因為compilers 緩存在寄存器中,而不用像普通屬性一樣從內存中重新讀取。

我說錯完了,希望有人指正。

3.類的方法的參數,任何方法都會有一個默認的參數在第一個參數 this

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 這篇文章是我之前翻閱了不少的書籍以及從網絡上收集的一些資料的整理,因此不免有一些不準確的地方,同時不同JDK版本的...
    高廣超閱讀 16,057評論 3 83
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,740評論 18 399
  • “對不起,我發(fā)現我們不合適,分手吧?!?“為什么現在才發(fā)現不合適?你早說??!” “你很好,是我配不上你?!?“……...
    小太陽的鉆石心閱讀 1,206評論 1 17
  • 今日雪花飄落收拾了房間、收拾了自己、從頭開始、鋪好床鋪、鎖上門、關上窗、打開電腦、繼續(xù)$@、$?、$#、想想...
    我叫小王閱讀 180評論 0 0
  • 長路如潮 車流洶涌 忽東忽西 時退時升 誰于潮頭 閑看漲落 誰于谷底 靜待潮平 或有長歌 飲露醉風 或該停步 看月...
    濤濤不絕82閱讀 348評論 2 5

友情鏈接更多精彩內容