青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

T9的空間

You will never walk alone!

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  69 隨筆 :: 0 文章 :: 28 評論 :: 0 Trackbacks
from: http://www.cnblogs.com/whjiang/articles/1387364.html

1. 盡可能不要創(chuàng)建global reference和global weak reference. 創(chuàng)建這兩類引用的JNI接口NewGlobalReference和NewGlobalWeakReference內部實現

有一個鎖。這個鎖使得在多處理器上的可擴展性非常差,因為各個線程都在等待這個鎖。所以盡量不要在native保存java 對象的引用,情愿在每次
JNI call時都帶點參數。當然,在native保持java對象的local reference是非常危險的,絕對不能那樣干。

2. 盡量不要使用GetPrimitiveArrayCritical/ReleasePrimitiveArrayCritical來pin住Java內存。JVM本身沒有提供任何只pin住一塊Java內存而不影
響GC的操作,所以這個操作是會阻止GC進行的。作為補償,ReleasePrimitiveArrayCritical會產生一次隱式的GC調用。這樣就可能出現在需要GC的時
候無法GC,而在不需要GC時進行無意義GC的情況。另外,這兩個操作的實現中在某些情況下也可能觸發(fā)鎖。解決方法:如果是小塊內存的話,情愿使
用Get<Type>ArrayRegion和Set<Type>ArrayRegion來在native和Java之間復制內存。

3. 在Java appliation中盡量不要創(chuàng)建phantom reference或者soft reference。這些reference會極大的影響GC。
我們先來談談JVM的GC。GC分為minor GC和full GC。Java內存分為young和old兩代。在young memory中,每個線程都有自己的內存分配塊(不和其它
線程共享),而old memory是由所有線程共享的。minor GC只對young memory作GC,而full GC對所有內存都做GC。minor GC是可以多線程并行進行的
,而full GC默認只能單線程執(zhí)行。所以,一次full GC需要的時間可以是minor GC是10倍以上(可以用-verbose:gc觀察)。所以在一般應用中,
minor GC的次數應該是full GC的10倍左右是比較理想的。minor GC會將無法收集的對象移動到old memory中去。

minor GC不會對phantom reference和soft reference進行收集,只有full GC才會。這樣的問題就是大量的這類對象積聚起來,產生許多的內存復制。

這樣每次minor GC可能就基本上沒有釋放多少內存,使得full GC就會被頻繁觸發(fā)。可能出現minor GC和full GC次數1:1的情況,甚至全是full GC。

這樣,無論是性能還是可擴展性都是非常差的。

weak reference的影響好像小一些,但也應該盡量避免。

 

在JNI開發(fā)中,使用這3種reference的主要目的是保證native資源的釋放。因為java對象的finalize方法是不保證被調用的,所以必須用這些

reference來幫助實現native資源釋放。為了避免上述的問題,一種可行的方法是將native資源serialize成一塊內存,然后放到java對象中保存,從
而避免使用這些reference。

4. NIO是不錯的Java和native之間share memory的方法。但要注意它的性能。首先一定要設置對big endian還是little endian,防止JVM做額外的
endian轉換動作。其次是在啟動JVM時一定要加上-server選項,否則nio性能會非常差。在-server mode下,nio性能大概比java數組慢30%~50%.在-
client mode下,性能差1倍以上。

5. 盡量不要在JNI去new Java String對象。這個比在java層new慢很多。

6. 對java大對象(比方說數組),一定要仔細的tune他的大小。一般來說,小對象對GC比較友好。因為對象分配時先看每個線程自己的young memory
,如果找的到足夠大的內存的話,就分配。否則在old memory中分配。因為old memory是shared,所以可能有鎖開銷。而且old memory中的對象只有
full GC才能釋放它。所以對象比較小是比較好的。JVM的內存分配算法是為小對象優(yōu)化過的,大量小對象的分配是很高效的,所以不用怕把大對象拆小。
在某些情況下,如果知道對象會活的很久的話,就讓它大一點,增加它直接分配在old memory中的概率。這樣可以節(jié)約young GC拷貝這個對象到old 

memory中的開銷。

posted on 2013-12-09 17:40 Torres 閱讀(622) 評論(0)  編輯 收藏 引用 所屬分類: Useful information

只有注冊用戶登錄后才能發(fā)表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久国产精品一区二区| 亚洲天堂av在线免费| 一区二区三区波多野结衣在线观看| 国产精品揄拍一区二区| 国产精品美女主播| 国产精品免费区二区三区观看| 国产精品扒开腿做爽爽爽软件| 国产精品爱啪在线线免费观看 | 老鸭窝毛片一区二区三区| 久久九九久久九九| 欧美电影免费观看高清| 欧美片在线播放| 国产精品青草综合久久久久99 | 亚洲影视综合| 久久精品国产一区二区电影 | 久久久久国产精品一区| 久久综合国产精品| 欧美精品一区二区高清在线观看| 欧美日韩中文在线| 国产日本亚洲高清| 最新69国产成人精品视频免费| 一本色道久久| 理论片一区二区在线| 日韩视频在线观看免费| 欧美在线啊v| 亚洲一级二级| 欧美资源在线观看| 欧美激情精品久久久久久变态| 亚洲精品日产精品乱码不卡| 香蕉免费一区二区三区在线观看| 久久久www成人免费毛片麻豆| 欧美h视频在线| 国产精品一区在线观看| 亚洲二区在线| 欧美一级电影久久| 91久久国产自产拍夜夜嗨| 欧美国产日韩xxxxx| 亚洲性av在线| 欧美精品国产| 激情综合久久| 欧美一区二区福利在线| 欧美激情bt| 午夜精品一区二区在线观看| 欧美黄色aaaa| 在线播放日韩专区| 欧美在线free| 一区二区三区欧美日韩| 欧美电影电视剧在线观看| 韩曰欧美视频免费观看| 亚洲欧美日韩在线不卡| 亚洲精品日韩在线观看| 免费在线欧美视频| 亚洲国产欧美在线| 欧美www视频| 久久精品视频在线免费观看| 一区二区三区国产在线| 亚洲精品国产欧美| 欧美成人午夜剧场免费观看| 黑人一区二区| 久久深夜福利| 久久久欧美精品sm网站| 国产亚洲一区二区三区在线播放 | 欧美日韩国语| 一本一道久久综合狠狠老精东影业| 久久久久久夜精品精品免费| 亚洲欧美国产不卡| 欧美韩日高清| 在线看片第一页欧美| 久久国产精品99国产| 日韩一级黄色片| 欧美国产先锋| 一本色道久久综合亚洲精品不卡| 亚洲高清毛片| 麻豆9191精品国产| 99精品国产在热久久| 亚洲韩国日本中文字幕| 欧美韩日一区| 在线一区二区日韩| 亚洲性视频网址| 国产综合视频| 欧美国产日韩一区二区三区| 免费在线观看日韩欧美| 一区二区高清在线| 新狼窝色av性久久久久久| 一区二区三区自拍| 亚洲国产精品第一区二区| 欧美视频一区二| 久久精品国产99精品国产亚洲性色| 久久av在线| 一区二区三区日韩| 欧美一区二区三区视频在线 | 国产精品亚洲一区| 久久久91精品国产一区二区三区| 久久免费99精品久久久久久| 亚洲精品欧美一区二区三区| 亚洲精品中文字幕在线观看| 国产精品日韩精品欧美在线| 浪潮色综合久久天堂| 欧美日韩国产页| 久久精品国产一区二区三区免费看 | 亚洲电影自拍| 宅男66日本亚洲欧美视频| 精品91在线| 这里只有精品视频| 亚洲国产91| 亚洲一区二区视频在线| 亚洲黑丝一区二区| 亚洲欧美在线一区二区| 91久久午夜| 欧美在线3区| 亚洲欧美日韩区| 欧美韩日一区二区三区| 久久久久久久999精品视频| 欧美日韩亚洲精品内裤| 狼人社综合社区| 日韩一级成人av| 久久久久久久综合日本| 亚洲一区二区三区免费观看| 麻豆成人综合网| 久久久久久久久伊人| 国产精品v欧美精品v日韩精品| 欧美.www| 狠狠色丁香婷综合久久| 亚洲综合久久久久| 亚洲性感激情| 欧美日韩大片| 亚洲国产精品国自产拍av秋霞| 激情国产一区二区| 性久久久久久久久久久久| 亚洲一区免费视频| 欧美视频在线看| 亚洲精品国精品久久99热| 亚洲激情成人网| 久久久综合激的五月天| 久久麻豆一区二区| 国产在线视频欧美| 欧美一区二区三区婷婷月色| 亚洲欧美国产精品va在线观看| 欧美性一二三区| 在线视频亚洲欧美| 亚洲欧美日韩高清| 国产精品麻豆成人av电影艾秋| 亚洲精品在线视频| 亚洲视频在线观看一区| 欧美视频中文在线看| 一区二区三区国产| 亚洲欧美日韩综合| 国产精品久久午夜| 亚洲影院色无极综合| 久久国内精品视频| 精品电影在线观看| 欧美大尺度在线| 在线一区欧美| 欧美一级一区| 亚洲第一天堂av| 欧美精品久久99| 亚洲图片在区色| 久久久噜噜噜久久久| 亚洲国产mv| 欧美日韩亚洲三区| 亚洲午夜av| 美日韩精品免费观看视频| 亚洲精品久久| 国产精品实拍| 老司机久久99久久精品播放免费 | 亚洲免费av片| 欧美在线观看网站| 亚洲国产99精品国自产| 欧美啪啪成人vr| 欧美一区二区三区四区高清| 欧美激情va永久在线播放| 亚洲一区二区三区欧美| 国语自产精品视频在线看抢先版结局| 久久深夜福利免费观看| 99精品视频免费观看| 久久精品视频在线| 一本色道久久加勒比88综合| 国产精品永久入口久久久| 久久青青草综合| 亚洲午夜一级| 亚洲国产精品久久久久秋霞影院| 午夜国产精品影院在线观看| 亚洲国产精品一区二区三区| 国产精品国产三级国产普通话三级 | 欧美日韩在线免费视频| 性欧美激情精品| 亚洲人成人一区二区在线观看| 亚洲综合首页| 亚洲激情av在线| 国产一区欧美日韩| 欧美视频在线不卡| 欧美高潮视频| 久久婷婷丁香| 欧美在线观看一区| 亚洲视频综合| 日韩亚洲在线| 亚洲欧洲一区二区天堂久久| 免费欧美网站| 久久伊人一区二区| 久久久亚洲午夜电影|