日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java Thread in JVM

瀏覽:26日期:2024-07-01 09:45:18
內(nèi)容: 本文從JVM的角度探討Java Thread的語法和編譯結(jié)果。如果需要獲得第一手資料,請直接訪問以下的資源——Java語言規(guī)范,Java虛擬機規(guī)范中有關線程的定義說明。本文旨在介紹這些比較重要的線程相關的規(guī)范,基本上不另作發(fā)揮。(除了提到微軟的“公共語言基礎構造。:-)Java Language Specificationhttp://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#30531JVM Specificationhttp://java.sun.com/docs/books/vmspec/2nd-edition/html/Compiling.doc.html#6530http://java.sun.com/docs/books/vmspec/2nd-edition/html/Instructions2.doc9.htmlhttp://java.sun.com/docs/books/vmspec/2nd-edition/html/Threads.doc.htmlMicrosoft CLI -- Common Language Infrastructure (sorry, off the topic :-)http://msdn.microsoft.com/net/ecma/1.synchronized method 的java語言規(guī)范詳見http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#30531。用synchronized關鍵字修飾的方法,分為兩種情況:(static)靜態(tài)方法,和實例方法。(static)靜態(tài)方法的“鎖是這個擁有這個方法的對象的Class對象;實例方法的“鎖是this,擁有這個方法的當前對象實例。怎么理解這段話,看一看下面的例子就明白了。下面兩段代碼的效果完全相同。代碼1 ==代碼2。代碼1:class Test {int count;synchronized void bump() { count++; }static int classCount;static synchronized void classBump() {classCount++;}}代碼2:class BumpTest {int count;void bump() {synchronized (this) {count++;}}static int classCount;static void classBump() {try {synchronized (Class.forName('BumpTest')) {classCount++;}} catch (ClassNotFoundException e) {...}}}2.synchronized關鍵字的編譯結(jié)果這一節(jié),我們來看一看synchronized關鍵字編譯之后的java虛擬機指令是什么。如果需要第一手資料,請參見java虛擬機規(guī)范相關的部分http://java.sun.com/docs/books/vmspec/2nd-edition/html/Compiling.doc.html#6530這段規(guī)范里面講到,java虛擬機規(guī)范提供兩條指令,monitorenter和monitorexit,來支持線程。但是對于上一節(jié)講到的,用synchronized修飾的方法來說,并不使用這兩個方法,而只是簡單地用ACC_SYNCHRONIZED標志修飾。虛擬機調(diào)用方法的時候會檢查這個標志,進行同步。synchronized語句的編譯結(jié)果對應monitorenter和monitorexit兩條指令。比如,下面的代碼:void onlyMe(Foo f) {synchronized(f) {doSomething();}}的編譯結(jié)果是Method void onlyMe(Foo)0 aload_1 // Push f 1 astore_2 // Store it in local variable 22 aload_2 // Push local variable 2 (f)3 monitorenter // Enter the monitor associated with f4 aload_0 // Holding the monitor, pass this and...5 invokevirtual #5 // ...call Example.doSomething()V8 aload_2 // Push local variable 2 (f)9 monitorexit // Exit the monitor associated with f10 return // Return normally11 aload_2 // In case of any throw, end up here12 monitorexit // Be sure to exit monitor...13 athrow // ...then rethrow the value to the invoker3.monitorenter和monitorexit詳見http://java.sun.com/docs/books/vmspec/2nd-edition/html/Instructions2.doc9.htmlmonitorenter定義的一段節(jié)錄:Operation : Enter monitor for objectOperand Stack : ..., objectref ... Description :The objectref must be of type reference.Each object has a monitor associated with it. The thread that executes monitorenter gains ownership of the monitor associated with objectref. If another thread already owns the monitor associated with objectref, the current thread waits until the object is unlocked, then tries again to gain ownership. If the current thread already owns the monitor associated with objectref, it increments a counter in the monitor indicating the number of times this thread has entered the monitor. If the monitor associated with objectref is not owned by any thread, the current thread becomes the owner of the monitor, setting the entry count of this monitor to 1.這段話的意思是說,monitorenter操作的目標一定要是一個對象,類型是reference。Reference實際就是堆里的一個存放對象的地址。每個對象(reference)都有一個monitor對應,如果有其它的線程獲取了這個對象的monitor,當前的線程就要一直等待,直到獲得monitor的線程放棄monitor,當前的線程才有機會獲得monitor。如果monitor沒有被任何線程獲取,那么當前線程獲取這個monitor,把monitor的entry count設置為1。表示這個monitor被1個線程占用了。當前線程獲取了monitor之后,會增加這個monitor的時間計數(shù),來記錄當前線程占用了monitor多長時間。我們看到,monitor這個詞在java虛擬機規(guī)范規(guī)定出現(xiàn),但是在java語言和API文檔里面并沒有出現(xiàn)。monitor是藏在線程同步后面的原理和概念。4.Threads and Locks詳見http://java.sun.com/docs/books/vmspec/2nd-edition/html/Threads.doc.html。這段規(guī)范詳細地介紹了thread和lock的原理。下面給出這段規(guī)范的highlight。8.4 Nonatomic Treatment of double and long Variables (double和long類型的非原子操作。)8.7 Rules for volatile Variables8.10 Example: Possible Swap8.11 Example: Out-of-Order Writes如果對列出的這些highlight感興趣,請訪問相應的java虛擬機規(guī)范網(wǎng)址。5.Why specification?本文主要討論java相關規(guī)范的內(nèi)容。規(guī)范文檔非常重要,尤其對于java,C#這種生成中間代碼的語言來說。上面說的是java的相關規(guī)范。這里順便提一下微軟.Net的相關規(guī)范。微軟的“公共語言基礎構造規(guī)范:Microsoft CLI -- Common Language Infrastructure (sorry, off the topic :-)http://msdn.microsoft.com/net/ecma/這個網(wǎng)址上有C#語言規(guī)范,CLI規(guī)范的下載。Enjoy it. :-)出處 wang hailong Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91嫩草精品| 久久男人av| 三级欧美在线一区| 日韩高清二区| 精品国产黄a∨片高清在线| 久久青青视频| 久久99伊人| 日韩激情av在线| 久久精品国产精品亚洲毛片| 福利片在线一区二区| 免费av一区二区三区四区| 亚洲aa在线| 日韩精品中文字幕第1页| 丝袜脚交一区二区| 麻豆中文一区二区| 五月婷婷六月综合| 91精品国产自产精品男人的天堂| 国产一区二区色噜噜| 亚洲一区二区免费看| 国产精品巨作av| 国产亚洲一区在线| 国产一区一一区高清不卡| 欧美日韩国产欧| 久久不见久久见中文字幕免费 | 亚洲精品自拍| 日韩1区2区| 亚洲尤物av| 秋霞国产精品| 91精品国产自产观看在线| 国产综合亚洲精品一区二| 国产精品一区二区精品视频观看| 亚洲一级影院| 国产精品午夜一区二区三区| 欧美 日韩 国产一区二区在线视频| 日本中文字幕一区二区| 伊人久久在线| 亚洲精品成a人ⅴ香蕉片| 特黄毛片在线观看| 日韩黄色免费网站| 久久中文字幕av| 欧美黄色一区二区| 免费成人在线影院| 久久裸体视频| 欧美91在线| 中文字幕亚洲在线观看| 欧美亚洲日本精品| 国产精品亚洲人成在99www| 一区在线免费观看| 国产精品久久久久久久久久10秀 | 午夜av成人| 国产乱人伦丫前精品视频| 夜夜精品视频| 91精品国产调教在线观看| 精品资源在线| 国产亚洲欧美日韩在线观看一区二区| 午夜精品亚洲| 精品日韩视频| 国产一区不卡| 国产精品成人**免费视频| 免费久久精品视频| 性欧美69xoxoxoxo| 国产不卡人人| 精品一区电影| 国产精品自拍区| 日韩av网站在线观看| 亚洲美洲欧洲综合国产一区| 日韩欧美精品| 成人国产精品一区二区免费麻豆| 国产精品久久久久久久久久齐齐| 亚欧成人精品| 中文字幕一区二区三区四区久久 | 亚洲综合欧美| 午夜欧美在线| 久久网站免费观看| 黄色在线网站噜噜噜| 精品国产麻豆| 麻豆久久久久久| 国产精品一区亚洲| 欧美日韩一区自拍| 欧美亚洲三级| 欧美久久精品| 日本va欧美va精品| 97久久中文字幕| 日韩精品中文字幕吗一区二区| 鲁大师成人一区二区三区| 国产一区二区精品| 蜜桃视频欧美| 午夜精品一区二区三区国产| 亚洲特级毛片| 免费观看不卡av| 亚洲精品国产偷自在线观看| 欧美日韩在线二区| 欧美 日韩 国产一区二区在线视频| 欧美日韩水蜜桃| 欧美成人久久| 在线亚洲国产精品网站| 蜜桃一区二区三区在线观看| 亚洲色图国产| 日韩激情av在线| 国产视频网站一区二区三区| 国产精品xxx| 开心激情综合| 精品中文字幕一区二区三区四区| 国产一区二区精品久| 日韩在线观看| 欧美日韩精品免费观看视频完整| 麻豆91精品| 69堂精品视频在线播放| 国产极品模特精品一二| 激情久久99| 1024精品一区二区三区| 亚洲中字黄色| 欧美精品三级在线| 高清久久一区| 亚洲天堂久久| 亚洲天堂av资源在线观看| 亚州av日韩av| 美女精品视频在线| 91精品一区二区三区综合| 午夜一级在线看亚洲| 日韩在线观看一区二区三区| 国产精品videossex久久发布| av中文资源在线资源免费观看| 亚洲先锋成人| 综合国产在线| 六月丁香综合在线视频| 日韩一区电影| 爽爽淫人综合网网站| 国产乱子精品一区二区在线观看| 正在播放日韩精品| 最新亚洲一区| 欧美亚洲综合视频| 亚洲精品福利电影| 手机精品视频在线观看| 国产精品网在线观看| 日韩欧美少妇| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美激情视频一区二区三区免费| 国产精品久久久久久久久久10秀 | 欧美资源在线| 国产精品欧美日韩一区| 福利视频一区| 999在线观看精品免费不卡网站| 日本视频中文字幕一区二区三区| 91免费精品| 中文在线日韩| 精品国产美女a久久9999| 亚洲制服少妇| 国产精品久久国产愉拍| 亚洲五月婷婷| 国产精品探花在线观看| 久久国产中文字幕| 国产亚洲久久| 婷婷成人基地| 国产精品日韩精品中文字幕| 欧美不卡在线| 青青国产91久久久久久| 久久天堂av| 91精品国产自产在线丝袜啪| 免费福利视频一区二区三区| 日本中文字幕一区二区| 色婷婷狠狠五月综合天色拍| 日韩美女国产精品| 99精品视频在线| 国产精品3区| 免费看欧美美女黄的网站| 国产白浆在线免费观看| 日本精品一区二区三区在线观看视频 | 日韩欧美激情| 五月激情久久| 国产精品亚洲欧美一级在线| 亚洲精品1区| 福利一区和二区| 日本一不卡视频| 久久精品99久久无色码中文字幕| 国产精品15p| 亚洲三级网址| 亚洲精品va| 老牛影视精品| 国产精品久av福利在线观看| 美女黄网久久| 伊人久久大香线蕉av不卡| 国产精品网站在线看| 男人天堂欧美日韩| 亚洲va在线| 荡女精品导航| 欧美亚洲专区| 蜜臀精品一区二区三区在线观看| 青青青免费在线视频| 国产精品流白浆在线观看| 水野朝阳av一区二区三区| 999国产精品| 六月婷婷综合| 精品国产亚洲一区二区在线观看| 日韩激情视频网站| 免费看黄色91| 亚洲综合精品| 欧美+亚洲+精品+三区| 亚洲综合电影| 精品九九久久|