精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

高手支招 Java經驗分享(十二)

開發 后端
本篇文章是作者Ant_Yan在CSDN論壇上發布的自己對Java學習的一些經驗分享。這是他經驗分享的第十二部分,主要介紹作者學習JVM的心得。

  作為一個Java程序員,如果不了解JVM的工作原理,就很難從底層去把握Java語言和Java程序的運作機制。這里先推薦一個最權威的講解JVM的文檔,大家只要查過Java API的可以在里面的一個叫“API, Language, and Virtual Machine Document”的標題下看到四個子標題,***個是我們最熟悉的Java API Specification,很少會有人注意到第三和第四個子標題,分別是“The Java Language Specification”和“The Java Machine Specification”后面都帶有(Download)字樣,JVM的那個URL直接鏈接到http://java.sun.com/docs/books/vmspec/2nd-edition/這里地址。我們可以下載到一份非常權威詳細的講解JVM原理的官方文檔。筆者業余時間花了1個星期來閱讀,這里把自己的收獲跟大家來分享一下,大概從這么幾個方面來談一談:

  1. JVM的實現機制

  Java虛擬機就是一個小的計算機,有自己的指令集,有自己的文件系統,管理內部的表和數據,負責讀取class文件里面字節碼,然后轉換成不同操作系統的CPU指令,從而使得Java程序在不同的操作系統上順利的跑起來。所以Window的JVM能把字節碼轉換成Window系統的指令集,Linux的JVM能把字節碼轉換成Linux系統的字節,同理還有Solaris,它們彼此之間是不能通用的。最早一款的原型雖然是Sun公司開發的,但發展到現在其實任何廠商都可以自己去實現一個虛擬機,用來讀取字節碼轉換成OS指令。甚至我們可以認為JVM跟Java編程語言都沒有關系,因為你自己哪怕用記事本寫一串字節碼,也可以讓JVM來解析運行,只要你的字節碼能通過JVM的驗證。

  JVM的驗證其實是很嚴格的,這里只講一些有趣的地方。大家還記得Java的圖標是一個杯咖啡麼?究其歷史我們也許可以查出為什么,但還有更顯而易見的方式是JVM怎么判斷一個文件是否是class文件?JVM的做法是讀取前4個字節轉換成16進制數,判斷是否等于0xCAFEBABE這個數。注意到這個單詞了麼?“cafebabe”,代表著國外一種咖啡品牌,似乎叫做Peet’s coffee-baristas之類。創造Java的人為了方便記憶,選擇了這樣一個16進制數作為標準class文件的頭,所以任何class文件都必須具有這4個字節的頭部。我們可以用DataInput這個接口的實現類來驗證一下,讀取任何一個class文件的***個int,int在Java里面是四個字節。轉換成16進制一定會是0xcafebabe的。

  所以這里想告訴大家的是,JVM其實并沒有那么神秘,我們完全可以理解它的構造。

  2. Java相關的基礎概念

  配合JVM的結構,在Java語言中也會有很多特點比較鮮明的地方。比如對數值計算從來不會檢查位溢出。任何變量存儲的二進制即使位全部為1了仍然可以加,全部為0了仍然可以減。大家只要稍微測試一下就知道了,看這幾個例子:

  1. int max = Integer.MAX_VALUE;  
  2. int min = Integer.MIN_VALUE;  
  3. max+1 == min; //true  
  4. min-1 == max; //true  
  5. 0.0/0.0 //得到“NaN”(Not a number)  
  6. 1/0.0 //Infinity  
  7. -1/0.0 //-Infinity  
  8. 1或-1/0 //ArithmeticException唯一的異常情況 

  看完這幾個例子,大家是否能更好的把握Java的數值運算呢?Java完全遵照IEEE-754的標準來定義單雙精度浮點數以及其他的數值存儲方式。

  另外Java里面有一個概念叫做Daemon Thread(守護線程),知道它的存在主要是為了理解虛擬機的生命周期。當我們運行java命令,從main函數進入的那一刻起,虛擬機就開始啟動運行了。Main所在的主線程也會啟動起來,它屬于非守護線程。與之同時一些守護線程也會同時啟動,最典型的守護線程代表就是GC(垃圾收集器)線程。JVM虛擬機什么時候退出呢?是在所有的非守護線程結束的那一刻,JVM就exit。注意這個時候守護線程并未退出,很可能還要繼續完成它的本職工作之后才會結束,但虛擬機的生命周期已經提前于它結束了。

3. JVM內部的基本概念

  虛擬機內部還有一些概念,全部列舉是不現實的,太繁瑣也沒有意義。除非您真的想自己去做一個JVM。筆者只列舉部分概念:

  首先我們來看一個叫做ReturnAddress的變量,它是JVM用來存儲方法出口或者說進行跳轉的依據,把任何地址存入這個變量就一定會按照這個地址來跳轉。我們需要注意的就是finally有比方法return更高的賦值給ReturnAddress的優先級。同時存在方法return和finally return的話,一定是按照finally里面的return為準。

  JVM有自己的Heap,能被所有線程共享,存儲著所有的對象,內存是動態被分配的。對于每個線程,擁有自己的Stack,棧里面存儲的單位叫做Frame(楨)。楨里面就記錄著零時變量、對象引用地址、方法返回值等數據。JVM還有一個叫做Method Area的地方,存儲著一段一段的可執行代碼,每一段就是一個方法體,也能被所有線程共享。所以我們說一個線程其實從run方法跑起來,跟它的類中聲明的其他方法是兩個概念。因為其他的方法包括的所有的對象,這個時候都充當為資源被線程使用。

  JVM有自己管理內存的方案,因為它具有文件系統的功能,我們可以看成一個小型的數據庫,內部有許許多多不同的表。表的字段可能是另外一張表的地址,也可以直接就是一個存儲數據值的地址值。JVM所有對運行時候類的解析驗證計算等管理工作,實際上都是在管理這些表的變動,如果我們從數據庫的角度來看,JVM所做的就是根據你的代碼來操作那么多個表***返回給你結果的過程。里面的表結構包括class的表、field表、method表、attribute表等。

  4. JVM的指令集

  JVM有自己的指令集,筆者從前也看過一些計算機組成結構和匯編語言的數,建議大家也稍微看看,了解設計一個高效可用的計算機指令集是多么復雜又多么重要的過程。對于JVM的指令集,職責是管理好Java程序編譯出來的字節碼,相對而言指令集的名稱就多少和Java語言相關了,比如指令集里就有sastore,、saload表示array里面short的存和取、類似還有d2i表示從double轉換成int、monitorenter表示進入synchronized塊加鎖、getstatic和putstatic表示對靜態標量的存取、 jsr和ret等跳轉指令……

  為了便于記憶,設計JVM指令集的人們約定f開頭的跟float有關,d跟double有關,i跟int有關,s跟short有關,a跟array有關。有興趣的可以細讀文檔里面的每一個指令的作用。因為只是作為初步了解,這里就不多說了。

5. 一些Java關鍵字的實現原理

  文檔還很詳細的列舉了很多加載、初始化、加鎖等操作的過程。筆者覺得比較有用的***是記住Java里面只有Array不是由ClassLoader加載的對象,其他的對象全部都必須由一個ClassLoader來加載。另外package的概念除了類似于C++的namespace,是一種命名空間之外,底層的實現是規定同一個package下的類必須由同一個類加載器來加載,所以package的概念還可以認為是被同一個類加載器加載的類。

  另外在多線程中,有很多細節值得去體會。每個線程有自己的Working memory,它們從能被共享的Main Memory中去讀數據、修改、然后再存回去。筆者一直認為線程就是數據庫里面事務的前身或者說祖先。我們只要稍微比較一下它們的行為,就會發現很多一致性。事務也是操作被事務共享的表數據,你改完我改,順序不一致就會出現臟數據,而線程同樣會出現臟數據。我們對線程加的鎖策略,同樣在事務中也有適用。當然多事務的情況顯然比多線程更加復雜,但我們只要理解了多線程,相信對學習數據庫事務的效果也是非常有幫助的。Java里面除了synchronized能夠幫助同步多線程之外,還有一個弱同步的操作關鍵字是volatile,它產生在變量上的約束在文檔中也有詳細的說明。因為很復雜,考慮到篇幅筆者就不打算解釋一遍了。

  好了,又是新的一篇結束了。不足之處大家盡管提出來,筆者愿意接受各種職責批評。這個帖子一直以來得到那么多朋友的大力支持和鼓勵,筆者在這里真誠的說一聲謝謝!

【編輯推薦】

  1. 新手入門:學習Java的一點經驗心得
  2. 61條Java面向對象設計的經驗原則
  3. 經驗分享:我的JavaEE學習道路
  4. Java對象類型轉換的四個經驗
  5. 高手支招 Java經驗分享(一)
責任編輯:韓亞珊 來源: CSDN
相關推薦

2011-03-31 16:44:43

Java

2011-03-31 15:36:02

Java

2011-03-31 13:56:24

Java

2011-03-31 14:07:27

Java

2011-03-31 13:32:13

Java

2011-03-31 14:49:35

2011-03-31 13:52:22

Java

2011-03-31 16:26:28

Java

2011-04-07 13:18:00

管理軟件項目項目

2009-10-29 16:57:05

Oracle傳輸表空間

2018-06-19 08:12:55

2010-07-21 14:05:31

2014-05-28 10:55:11

Windows XP安全補丁

2010-08-18 14:19:01

無線路由器

2009-09-28 10:52:00

CCNA考試經驗CCNA

2011-07-15 17:35:19

JavaScript

2009-12-07 11:11:46

PHP顯示圖片

2011-05-16 17:36:05

SEO

2009-10-15 10:59:00

CCNA經驗分享CCNA

2009-12-16 16:37:59

Ruby on Rai
點贊
收藏

51CTO技術棧公眾號

欧美一区二区三区啪啪| 99久久久久久| 欧美另类交人妖| av鲁丝一区鲁丝二区鲁丝三区| 成人免费观看在线观看| 香蕉国产成人午夜av影院| 亚洲女优在线| 日韩网站免费观看高清| 亚洲av无码久久精品色欲| 巨茎人妖videos另类| 亚洲欧美日韩系列| 欧美日韩一区二区三| 精品国自产拍在线观看| 久久精品国产清高在天天线| 日韩综合视频在线观看| 欧美熟妇精品黑人巨大一二三区| www.久久草.com| 一本一本大道香蕉久在线精品| 路边理发店露脸熟妇泻火| 欧美理论在线观看| 成人午夜视频网站| 91麻豆国产精品| 国产情侣免费视频| 午夜综合激情| 高清欧美一区二区三区| 乱h高h女3p含苞待放| 精品国产欧美日韩| 日韩av中文字幕在线| 小日子的在线观看免费第8集| 日韩欧美看国产| 亚洲成人777| 在线观看成人免费| 日韩毛片久久久| 国产日产欧产精品推荐色| 国产欧美日韩综合精品二区| 国产福利免费视频| 久久精品国产秦先生| 国产精品69av| 国产午夜无码视频在线观看 | 国产精品一区二区三区99| 国产精品久久久久久亚洲影视| 日韩精品人妻中文字幕| 亚洲高清免费| 久久久女女女女999久久| www.av免费| 国产高清一区| 日韩色av导航| 麻豆天美蜜桃91| 国产精品久久久久久| 精品国产一区二区在线| 农村老熟妇乱子伦视频| 日韩精品首页| www.久久色.com| аⅴ天堂中文在线网| 日韩黄色大片| 日韩综合视频在线观看| 永久免费看片直接| 亚洲一区 二区 三区| 精品自拍视频在线观看| 久久在线视频精品| 一本色道久久综合亚洲精品高清 | 成人性生交大片免费看中文视频| 日韩午夜精品视频| 亚洲成年人av| 任我爽精品视频在线播放| 亚洲精品久久久久国产| 国产特黄级aaaaa片免| 成人国产精品一级毛片视频| 色噜噜狠狠狠综合曰曰曰| 午夜激情福利网| 在线看片日韩| 国产精品电影在线观看| 国产又爽又黄免费软件| 成人永久看片免费视频天堂| 精品国产aⅴ麻豆| 国产精品一区二区三区四区色| 国产欧美一区视频| 波多野结衣三级在线| 色呦呦在线播放| 欧美日韩中文字幕日韩欧美| 国产主播中文字幕| 日韩精品视频在线看| 亚洲激情视频在线播放| 日本美女bbw| 国产一在线精品一区在线观看| 97**国产露脸精品国产| 中文字幕一区二区三区波野结| 久久99在线观看| 99r国产精品视频| 美州a亚洲一视本频v色道| 国产精品超碰97尤物18| 国产伦精品一区二区三区四区视频_ | 国产xxxxxx| 99久久综合狠狠综合久久| 亚洲精品9999| 黄频免费在线观看| 欧美丰满嫩嫩电影| 欧美 日本 国产| 欧美aⅴ99久久黑人专区| 欧美亚洲一级片| 国产女人高潮毛片| 久久网站最新地址| 黄色污污在线观看| 神马久久资源| 欧美精品一区二区三区在线| 亚洲а∨天堂久久精品2021| 欧美久久一级| 国产精品三级网站| 无码精品人妻一区二区| 亚洲日本护士毛茸茸| 日本精品一区在线观看| 亚洲精品不卡在线观看| 中文字幕免费精品一区| 影音先锋在线国产| 成人性生交大合| 亚洲免费视频播放| 欧美日韩精品一区二区三区视频| 精品毛片乱码1区2区3区| 成人无码精品1区2区3区免费看| 亚洲国产日韩欧美一区二区三区| 国产日韩欧美成人| 青青操视频在线| 亚洲国产日韩在线一区模特| 日韩不卡的av| 国产高清欧美| 国产欧美一区二区三区在线| 欧美成人免费| 欧美性xxxxhd| 人妻丰满熟妇aⅴ无码| 亚洲激情精品| 成人免费在线一区二区三区| 麻豆最新免费在线视频| 在线观看一区二区精品视频| 大黑人交xxx极品hd| 亚洲国产一区二区精品专区| 91免费版黄色| 一二三四区在线观看| 9191成人精品久久| 亚洲欧美精品久久| 久久精品二区亚洲w码| 污视频在线免费观看一区二区三区| 免费毛片b在线观看| 亚洲精品电影网| 免费在线不卡视频| 99精品视频一区| 女人天堂av手机在线| 欧美在线导航| 国产成人97精品免费看片| 日本不卡视频一区二区| 色哟哟国产精品| 黄色aaa视频| 老鸭窝亚洲一区二区三区| 欧美久久久久久久| 自拍偷自拍亚洲精品被多人伦好爽| 国产亚洲精品va在线观看| 波多野结衣mp4| 欧美国产1区2区| 亚洲欧美aaa| 亚洲色图插插| 国产伦精品一区二区三区视频免费| 懂色av一区| 秋霞午夜鲁丝一区二区老狼| 色小子综合网| 国产在线不卡一区| 久久久精品有限公司| 中文在线аv在线| 亚洲天堂2020| 国产有码在线观看| 亚洲一区二区三区国产| 亚洲色图14p| 日韩—二三区免费观看av| 亚洲一区二区三区精品视频| av在线成人| 高清亚洲成在人网站天堂| 日本成人一区二区三区| 精品视频一区二区三区免费| 视频这里只有精品| caoporn国产一区二区| 久久午夜夜伦鲁鲁一区二区| 91精品综合久久久久久久久久久 | 久久久久久久久久久人体| 天堂v视频永久在线播放| 在线观看日韩电影| 欧美国产精品一二三| 91蜜桃婷婷狠狠久久综合9色| 制服丝袜综合网| 国内自拍一区| 欧美成人dvd在线视频| 四虎国产精品免费久久| 97超级碰在线看视频免费在线看 | 亚洲成av人片在线观看| 1024手机在线观看你懂的| 国产成人精品免费看| 日韩av在线综合| 伊人青青综合网| 农村寡妇一区二区三区| 精品视频一区二区三区| 日韩美女毛茸茸| 午夜伦理在线视频| 尤物精品国产第一福利三区| 国产91久久久| 欧美日本乱大交xxxxx| 白嫩少妇丰满一区二区| 国产在线看片| 亚洲欧美国产视频| www.久久综合| 欧美视频一区在线观看| 2018日日夜夜| 自拍偷拍福利视频| 中文字幕一区在线| 四虎永久免费影院| 国产成都精品91一区二区三| 一道本视频在线观看| 亚洲欧美日韩国产| 996这里只有精品| 欧美疯狂party性派对| 久久综合婷婷综合| 精品久久ai| 动漫一区二区在线| 日日夜夜综合| 国产精品免费视频久久久| 免费在线小视频| 性欧美xxxx| 高清电影在线免费观看| 粗暴蹂躏中文一区二区三区| 91在线视频| 亚洲图片欧美日产| 免费在线视频一级不卡| 亚洲激情视频网站| 手机看片一区二区三区| 精品国产伦一区二区三区免费 | 乱h高h女3p含苞待放| 国产精品免费久久| 老熟妇一区二区| 国产婷婷一区二区| 黑人巨大精品欧美| 91一区二区三区在线观看| 亚洲图片欧美另类| 国产成人av一区| 图片区偷拍区小说区| 国产盗摄视频一区二区三区| 少妇愉情理伦片bd| 国产一区二区三区精品欧美日韩一区二区三区 | 免费日韩在线视频| 亚洲日本在线a| 成人涩涩小片视频日本| 亚洲欧美一区二区三区孕妇| 四虎永久免费在线| 亚洲综合一二三区| 国产精品白浆一区二小说| 午夜视频一区二区| 久久艹免费视频| 欧美性猛交xxxx富婆| 激情视频网站在线观看| 在线这里只有精品| 中文字幕在线网址| 91精品国产综合久久久久久漫画| 国产三级精品在线观看| 精品精品欲导航| 五月婷婷深深爱| 亚洲视频在线免费看| 日本在线观看网站| 色综合色综合久久综合频道88| 欧美人动性xxxxz0oz| 性欧美视频videos6一9| 成人va天堂| 国产在线精品自拍| 91成人噜噜噜在线播放| 精品久久久久久综合日本| 国产一区二区精品久| 中文精品视频一区二区在线观看| 欧美在线高清| 精品国产免费av| 久久黄色级2电影| 亚洲av无码成人精品区| 久久婷婷国产综合精品青草 | 亚洲精品a级片| 欧美日韩福利在线| 日本美女视频一区二区| 久久艹这里只有精品| 91女神在线视频| 手机在线免费看毛片| 岛国av在线不卡| 国产精品无码AV| 日韩av中文字幕在线免费观看| 色综合久久影院| 久久久免费在线观看| 日韩制服诱惑| 国产在线欧美日韩| 色av手机在线| 国产午夜亚洲精品理论片色戒| 大又大又粗又硬又爽少妇毛片| 中文字幕一区二区不卡| 婷婷激情五月网| 日韩欧美一区在线观看| 国产精品麻豆一区二区三区| 九九热这里只有在线精品视 | 国产有码一区二区| 久久九九热re6这里有精品| 亚洲欧美日韩国产成人综合一二三区| 国产精品mv在线观看| 亚欧美在线观看| 99久久久久久| 久久97人妻无码一区二区三区| 欧美性色视频在线| 蜜桃视频久久一区免费观看入口| 国产亚洲成av人片在线观看桃| 中文字幕中文字幕在线十八区| 国产精品第8页| 人人网欧美视频| 日本a在线天堂| 美美哒免费高清在线观看视频一区二区| 在线观看一区二区三区视频| 欧美经典一区二区| 日韩精品在线不卡| 日韩一区二区电影网| 137大胆人体在线观看| 日本欧美一级片| 久久资源综合| 免费在线黄网站| 国产精品综合一区二区三区| 国产免费嫩草影院| 91久久国产最好的精华液| 四虎国产精品永远| 国外色69视频在线观看| 午夜日韩影院| 四虎精品欧美一区二区免费| 韩国欧美国产1区| 欧洲性xxxx| 欧美在线观看18| 成年人视频网站在线| 国产99视频在线观看| 国产99久久久国产精品成人免费| 青青草精品视频在线| 国产高清亚洲一区| 欧美黄片一区二区三区| 欧美一区二区三区在线| 高h视频在线观看| 91免费观看网站| 欧美激情黑人| 亚洲精品美女在线| 国产夫妻在线播放| 久久99精品久久久久久三级| 亚洲国内精品| 三级男人添奶爽爽爽视频| 天天亚洲美女在线视频| 亚洲 欧美 激情 小说 另类| 97婷婷大伊香蕉精品视频| 欧美成人一区在线观看| 黄色av网址在线播放| 久久精品亚洲麻豆av一区二区| 国产成人无码av| 一区二区三区日韩在线| 四虎精品永久免费| 免费看污污视频| 国产99久久精品| 日韩熟女精品一区二区三区| 日韩国产高清视频在线| 高清电影一区| 91香蕉视频网址| 国产激情偷乱视频一区二区三区| 久久av高潮av无码av喷吹| 亚洲精品国产精品自产a区红杏吧| 一级毛片久久久| 亚洲国产精品www| 黄色小说综合网站| 久久高清无码视频| 日韩精品一二三四区| 91大神在线观看线路一区| 黄色a级在线观看| 成人小视频免费观看| 黄色av网站免费| 久久亚洲欧美日韩精品专区| 黑色丝袜福利片av久久| 成年人小视频网站| 亚洲精品久久久久久国产精华液| 国产香蕉在线观看| 国产精品国产三级国产aⅴ浪潮| 偷拍欧美精品| 国产一级二级在线观看| 欧美日韩一区小说| 福利成人导航| 亚洲欧洲在线一区| 高清国产一区二区| 国产精品久久久久久久久久精爆| www.99久久热国产日韩欧美.com| 视频一区在线| 黄色三级视频片| 亚洲在线视频免费观看| 福利视频在线播放| 国产99午夜精品一区二区三区 | 搡的我好爽在线观看免费视频| 午夜成人在线视频| 蜜桃视频网站在线观看| 久久精品国产第一区二区三区最新章节| 久久精品国产秦先生| 91视频免费网址| 久久99久久99精品中文字幕| 国产一区二区三区四区五区| 久久久久无码国产精品一区李宗瑞|