推薦一個專業游戲素材下載的網站 - 愛給網

          推薦:愛給網游戲素材 sina 游戲素材分享 cnblog 游戲素材分享 百度游戲游戲素材 iteye游戲素材分享 點點游戲素材分享
          csdn游戲素材分享 163游戲素材分享
          posts - 66,  comments - 64,  trackbacks - 0

          Java 7剛剛發布沒兩天,但來自Lucene和Solr 社區的某些人立即報料了一些Java 7中的嚴重bug。甚至Apache Lucene項目管理委員會成員Uwe Schindler發布了暫時不要使用Java 7的警告信息。那么到底Java 7是有什么問題,為什么我們等了5年的Java 7現在卻不能使用呢?讓我們來看看實際的情況。

          這個問題跟Java 7無關,而是跟JVM有關

          首先這個問題是跟HotSpot JVM有關,而不是Java 7語言本身的問題。此次發布的GA版本包含三個bug:7070134, 70447387068051,這三個bug直接導致JVM崩潰或者進行錯誤的計算。

          Hotspot是因為PorterStemmer的sigsegv而崩潰的

          第一個問題(7070134)是關于錯誤的編譯器對循環的優化,該特性在Hotspot JVM中是默認啟用的,你可以通過-XX:-UseLoopPredicate參數來關閉這個特性。如果你想了解關于這個問題的詳情,請看Stemmer.java,編譯并允許這個類你將會重現JVM崩潰并報嚴重錯誤,信息如下:

          代碼:

          1. # A fatal error has been detected by the Java Runtime Environment:
          2. #
          3. # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000026536da, pid=5432, t
          4. id=6568
          5. #
          6. # JRE version: 7.0-b135
          7. # Java VM: Java HotSpot(TM) 64-Bit Server VM (21.0-b05 mixed mode windows-amd64
          8. compressed oops)
          9. # Problematic frame:
          10. # J Stemmer.step4()V

          這個錯誤直接在代碼執行過程中發生,在JDK 1.6是體驗不到的。而最近Lucene做了一些更靈活的基于PulsingCodec算法的索引機制,而這個機制相當大的程度上會導致上述的錯誤。

          循環展開優化會導致不正確的結果

          第二個bug(7044738)是“錯誤的計算”,這個錯誤極為罕見的發生在OSR(On-Stack Replacement)編譯嵌套循環上,控制流退出且對應的內存沒有被考慮到,這直接導致重復的克隆結果,想了解編譯細節請看older overview (PDF)

          一個最簡單的解決辦法就是使用-XX:LoopUnrollLimit=1參數來避免這個問題。

          Clone loop predicate during loop unswitch

          第三個bug(7068051)跟一些老的feature request相關,由于一些無效的JVM統計導致使用循環優化后的JVM崩潰。

          結論

          根據這些bug的情況,只有在你大量的使用這些優化方法,那么你才可能已經受Java 7中存在的問題所影響。一般情況下是不受影響的。事實上Java 6的用戶使用了某些優化選項也會存在問題,但因為這些優化選項在Java 7中是默認啟用的才導致這個問題影響那么大,例如(-XX:+OptimizeStringConcat or -XX:+AggressiveOpts),由于這些問題在Java 7發布的前5天才被發現,因此Oracle來不及解決這些bug,目前Oracle似乎也正在準備下一個補丁版本,但對一些高級用戶來說,這些都不是問題,因為源碼是開放的,你可以做你想做的。



          360知識網

          posted on 2011-11-12 09:47 游戲素材資源下載 閱讀(1809) 評論(2)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 兖州市| 东乌珠穆沁旗| 应城市| 沙坪坝区| 青阳县| 庐江县| 平安县| 金塔县| 津市市| 红原县| 班戈县| 任丘市| 双城市| 凌海市| SHOW| 赤水市| 新丰县| 梁山县| 长垣县| 五河县| 尖扎县| 都江堰市| 舟山市| 尼勒克县| 江安县| 南部县| 南皮县| 来宾市| 大同市| 岳阳县| 安宁市| 灵寿县| 嘉祥县| 新河县| 长岛县| 平南县| 斗六市| 黑山县| 永定县| 卢湾区| 镇江市|