精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产精品3区| 国产粉嫩一区二区三区在线观看| 欧美黄色一级视频| 日韩三级.com| 久久久久久久9| 天堂av中文字幕| 亚洲一级黄色| 日韩国产高清视频在线| 日本www高清视频| 日韩三级影院| 高潮精品一区videoshd| 97视频免费看| 美女爆乳18禁www久久久久久| 日日夜夜天天综合| 亚洲九九爱视频| 国产伦理一区二区三区| 麻豆明星ai换脸视频| 精品三级av在线导航| 日韩欧美视频一区二区三区| 日韩aⅴ视频一区二区三区| 中文字幕精品一区二区精| 成人毛片免费看| 日韩亚洲欧美一区二区三区| 浮妇高潮喷白浆视频| av在线日韩国产精品| 成人自拍视频在线| 国产精品欧美一区二区三区奶水| 日本中文在线视频| 蜜桃久久久久| 欧洲一区二区三区在线| 日韩一级特黄毛片| 婷婷免费在线视频| 99视频精品免费视频| 国产人妖伪娘一区91| 日韩av片在线播放| 天天做天天爱综合| 亚洲欧美日韩在线一区| 性久久久久久久久久久久久久| 中文av在线全新| 亚洲欧美成人一区二区三区| 欧美日韩一区二区视频在线| jlzzjlzzjlzz亚洲人| 久久天堂精品| 久久久久中文字幕2018| 福利视频第一页| 校花撩起jk露出白色内裤国产精品| 欧美色图一区二区三区| 红桃av在线播放| 香港伦理在线| 国产日韩欧美精品在线| 国产欧美日韩亚洲| 91资源在线视频| 天堂成人免费av电影一区| 欧美国产日韩视频| 欧洲美女女同性互添| 亚洲黄页网站| 日韩欧美在线综合网| 亚洲成熟丰满熟妇高潮xxxxx| www视频在线看| 国产精品美女久久久久久久久久久| 国产一区二区三区黄| av中文字幕在线免费观看| 蜜桃一区二区三区在线| 国产成人亚洲综合91精品| 成人午夜视频精品一区| 狠狠爱综合网| 欧美激情一二三| 69av视频在线| 国产精品www.| 欧美激情免费在线| 精品少妇久久久| 亚洲无中文字幕| 久久综合久久八八| 国产免费一区二区三区四区| 日韩欧美高清在线播放| 中文字幕精品网| 欧美三级黄色大片| 亚洲天堂久久| 欧美影院在线播放| 依依成人在线视频| 国产成人午夜视频| 九九九热999| 成人精品一区二区三区校园激情| 国产精品毛片无遮挡高清| 国产av不卡一区二区| hd国产人妖ts另类视频| 色999日韩国产欧美一区二区| the porn av| 99精品国产高清一区二区麻豆| 日韩av在线电影网| 老司机精品免费视频| 国产精品九九| 国产精品久久久久久久午夜| 国产高清精品软件丝瓜软件| 99久久久精品| 亚洲一区三区在线观看| av电影在线地址| 在线观看91精品国产入口| 人妻激情偷乱视频一区二区三区| 精品嫩草影院| 久久久精品999| 好看的av在线| 国产精品一级二级三级| 欧美福利精品| 少女频道在线观看免费播放电视剧| 欧美性生交大片免网| 亚洲精品乱码久久久久久动漫| 激情视频极品美女日韩| 日韩在线观看高清| 国产微拍精品一区| 国产传媒一区在线| 日韩区国产区| 天天综合av| 日韩一区二区在线观看视频播放| 四虎永久免费在线观看| 欧美精品不卡| 成人www视频在线观看| 日本中文字幕一区二区有码在线| 亚洲天堂福利av| 妺妺窝人体色www在线观看| 久久男人av| 操日韩av在线电影| 在线播放亚洲精品| 久久久91精品国产一区二区精品| 免费看日b视频| 一区二区视频免费完整版观看| 欧美一级搡bbbb搡bbbb| 国产综合精品久久久久成人av| 亚洲久久在线| av成人观看| 欧美一区二区三区在线观看免费| 色老头久久综合| 麻豆国产精品一区| 一区二区三区四区五区在线 | 欧美精品一区男女天堂| 国产麻豆视频在线观看| 日本三级亚洲精品| 欧美一区2区三区4区公司二百| heyzo在线| 精品欧美一区二区在线观看| 农村妇女精品一区二区| 国产在线一区观看| 青春草在线视频免费观看| 国外成人福利视频| 最好看的2019年中文视频| 久久精品视频2| 久久精品视频在线看| 大肉大捧一进一出好爽视频| 精品综合久久88少妇激情| 欧美激情久久久久| 色丁香婷婷综合久久| 亚洲成在人线免费| 久久久久9999| 久久一区二区三区超碰国产精品| 久久99导航| 伊人久久国产| 亚洲丝袜av一区| 免费黄色小视频在线观看| 国产网站一区二区| 日韩精品视频一二三| 国产精品久久久久一区二区三区厕所| 国产精品爽爽爽爽爽爽在线观看| 777电影在线观看| 欧美喷潮久久久xxxxx| 粉嫩av性色av蜜臀av网站| 国产精品中文欧美| 日日摸日日碰夜夜爽无码| 日本在线中文字幕一区| 国产成人午夜视频网址| 男人影院在线观看| 欧美成va人片在线观看| 日韩人妻无码一区二区三区99| 91丨九色丨蝌蚪丨老版| 成人性视频欧美一区二区三区| 精品一区二区三| 亚洲va男人天堂| 日韩中文字幕视频在线观看| 国产精品污视频| 亚洲超丰满肉感bbw| 国产呦小j女精品视频| 蜜桃精品视频在线| 日韩a级黄色片| 亚洲婷婷伊人| 国产一区香蕉久久| 蜜臀av在线| 国产一区二区三区丝袜| 国产v在线观看| 色婷婷综合中文久久一本| 成人做爰视频网站| eeuss国产一区二区三区| 黄色成人免费看| 一区在线视频| 亚洲精品人成| 牛牛影视一区二区三区免费看| 日韩免费观看视频| 视频在线观看入口黄最新永久免费国产| 亚洲欧美成人网| 99re只有精品| 91黄视频在线观看| 久久久久无码国产精品不卡| 国产欧美一区二区精品婷婷| 色诱av手机版| 美腿丝袜亚洲三区| 欧美老熟妇喷水| 中文字幕一区二区三区久久网站| 久久久久久九九九九| 成人在线日韩| 国产精品久久视频| 乱馆动漫1~6集在线观看| 久久精品国产欧美激情| 久久久久久青草| 欧美成人精品二区三区99精品| 久久久999久久久| 欧美日韩免费一区| 欧美黑吊大战白妞| 国产精品麻豆一区二区| 亚洲观看黄色网| 国产激情一区二区三区四区 | 国产一级二级三级| 国产精品污污网站在线观看| 国产性生活毛片| 国产精品亚洲第一| 99re6在线观看| 男人的天堂久久精品| 国产素人在线观看| 欧美日韩天堂| 国产日韩欧美大片| 国产精品成久久久久| 视频一区二区在线| 久久爱www成人| 久久精品第九区免费观看| 999久久精品| 成人动漫在线视频| 欧美h版在线观看| 成人综合国产精品| 国产精品日本一区二区不卡视频 | 日韩在线视频免费观看| 毛片免费在线播放| 亚洲精品中文字| 视频一区二区在线播放| 日韩国产在线播放| 天堂av电影在线观看| 日韩毛片在线观看| 污污视频在线免费看| 亚洲第一网站免费视频| 韩国av永久免费| 精品电影一区二区三区| 亚洲国产精品一| 精品国产91久久久久久久妲己| 亚洲第九十九页| 精品91自产拍在线观看一区| 成人午夜免费在线观看| 亚洲国产精品系列| 亚洲AV成人无码一二三区在线| 日韩高清免费观看| 九色国产在线观看| 国产一区二区三区在线视频| 久久久久久女乱国产| 在线观看成人黄色| 麻豆视频在线观看免费网站| 超碰91人人草人人干| 污视频网站免费在线观看| 欧美激情2020午夜免费观看| www555久久| 国内精品久久久久影院优| 伊伊综合在线| 国产欧美一区二区三区久久人妖| 色综合久久久| 国产精品久久精品国产 | 亚洲精品乱码久久久久久蜜桃91 | 国产福利第一视频| 亚洲精品v天堂中文字幕| 日韩一区二区三区中文字幕| 亚洲性线免费观看视频成熟| 里番在线观看网站| 久久久久久久久亚洲| 欧美日韩国产观看视频| 国产精品久久久久免费a∨| 精品亚洲二区| 蜜桃狠狠色伊人亚洲综合网站| 精品理论电影在线| 2021国产视频| 久久国产精品久久久久久电车 | 无码人妻丰满熟妇精品区| 欧美性色黄大片手机版| www国产一区| 亚洲欧美精品在线| dj大片免费在线观看| 91国语精品自产拍在线观看性色| 日本一道高清亚洲日美韩| 亚洲bt欧美bt日本bt| 欧美大奶一区二区| 中文字幕一区二区三区四区五区| 亚洲大胆视频| av中文字幕网址| 99re这里只有精品首页| 男人晚上看的视频| 欧美性xxxx在线播放| 国产毛片毛片毛片毛片| 亚洲欧美日韩区| 日韩精品亚洲人成在线观看| 国产精品久久久久久一区二区 | 日韩免费电影一区二区| 欧美成人午夜| 亚洲三级视频网站| 成人av电影在线| 成人免费精品动漫网站| 色哟哟在线观看一区二区三区| 精品人妻一区二区三区麻豆91 | 牛牛在线精品视频| 国产精品午夜国产小视频| **国产精品| 亚州欧美一区三区三区在线 | 4388成人网| 在线观看视频一区二区三区| 亚洲成人网上| 免费久久99精品国产自在现线| 日韩高清一二三区| 国产精品成人一区二区三区夜夜夜| 国产成人免费观看视频| 日韩丝袜美女视频| 日韩黄色影院| 国产精品欧美激情| 国产日产精品一区二区三区四区的观看方式 | 2022国产精品| 久久视频精品| www.天天射.com| 久久精品一区二区三区不卡| 亚洲天堂日韩av| 亚洲成人av在线播放| 亚洲国产精品精华素| 成人免费自拍视频| 青青草国产成人a∨下载安卓| 逼特逼视频在线| 99综合电影在线视频| 久久久久99精品成人片试看| 欧美日韩国产高清一区二区| gogogo高清在线观看免费完整版| 日本国产一区二区三区| 天海翼亚洲一区二区三区| 97视频久久久| 99久久久国产精品| 国产成人自拍视频在线| 亚洲国内精品在线| 国产不卡123| 蜜桃av色综合| 日韩和的一区二区| avhd101老司机| 欧美日韩你懂得| 麻豆视频在线观看免费网站| 国产日韩欧美自拍| 亚洲一本二本| 亚洲少妇中文字幕| 天天操天天综合网| 色综合久久网女同蕾丝边| 欧美一级电影免费在线观看| 一区二区三区日本久久久| 成年人黄色片视频| 中文在线免费一区三区高中清不卡| 欧美日韩在线视频播放| 亚洲最新av网址| 四虎影视国产精品| 久久天天东北熟女毛茸茸| 新片速递亚洲合集欧美合集| 久久精品99久久久香蕉| 亚洲精品成a人ⅴ香蕉片| 男人j进女人j| www.欧美色图| 波多野结衣电车痴汉| 日韩中文字幕视频在线| 亚洲国产aⅴ精品一区二区| 人妻av中文系列| 国产日韩欧美精品电影三级在线| 91精品国自产| 欧美激情成人在线视频| 日韩影视高清在线观看| 亚洲欧美激情网| 亚洲精品你懂的| 高清毛片aaaaaaaaa片| 欧美一区二区.| 99久久99视频只有精品| 精品少妇人妻av一区二区三区| 欧美视频一区二区三区…| 伊人免费在线| 国产欧美欧洲| 日本vs亚洲vs韩国一区三区| 性欧美videos| 日韩成人免费视频| 国产成人久久精品一区二区三区| www.好吊操| 中文文精品字幕一区二区| www.五月婷婷| 国产精品国产福利国产秒拍 | 无码人妻久久一区二区三区| 久久精品精品电影网| 特黄特色欧美大片| 无套白嫩进入乌克兰美女| 欧美性猛交xxxx免费看漫画| 日本天堂在线观看| 久久综合入口|