亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Java成神之路(一)-- JVM基礎

2019-11-14 09:38:16
字體:
來源:轉載
供稿:網友

學習java的同學注意了?。?! 學習過程中遇到什么問題或者想獲取學習資源的話,歡迎加入Java學習交流群,群號碼:183993990  我們一起學Java!

JVM.PNG

JVM內存模型

描述主內存和工作內存之間的通信規則,避免數據不一致。所有線程共享JVM內存區域main memory。而每個單獨線程又有自己的工作內存。為了保證從工作內存寫到主內存的數據的一致性,JVM定義了一系列的規則

所有變量都在主內存中,對所有線程共享(此處的變量與Java編程時所說的變量不一樣,指包括了實例字段、靜態字段和構成數組對象的元素,但是不包括局部變量與方法參數,后者是線程私有的,不會被共享。)每條線程都有自己的工作內存,保存主內存中變量的拷貝,線程對變量的操作只能在工作內存中完成

線程無法直接訪問對方的工作內存

內存之間的8個交互指令

lock(main) unlock(main) read(main) load(work) use(work) assign(work) store(work) write(main)必須順序執行,不必連續執行

不許read load 和 store write單獨出現不許丟棄assign結果,必須同步回主內存不許未assign,直接同步主內存變量只能在主內存誕生。在使用use 和 store前,必須先read和load一個變量同一時刻只能由一個lock操作,與unlock必須成對出現如果lock操作,那么這個變量需要重新執行load 和 assign操作如果沒lock,不許unlockunlock前,必須執行store和write

JVM內存管理

Java虛擬機在運行時會把它所管理的內存分為若干不同個數據區域主內存: 方法區+堆, 由線程共享工作內存:棧 + 程序計數器,線程私有

方法區: 存放類信息,常量,靜態變量,即時編譯后的代碼。堆:存放對象,細分為新生代(Eden,From Survivor, To Survivor)+ 老年代, 也可以劃分出多個線程私有的分配緩存區TLAB棧:局部變量表 + 操作數棧 + 動態鏈接 + 方法出參+其他(debug)程序計數器:當前線程所執行的代碼的行號指示器

JVM垃圾回收

對象已死分析:引用計數法 Vs 可達性分析法GC roots:棧中引用的對象,類靜態變量引用的對象,常量引用的對象,本地方法JNI引用的對象垃圾回收算法:復制,標記-整理,標記-清除,分代回收垃圾回收時間:安全點,安全區域垃圾回收器:新生代:serial parNew ParallelScavenge老年代:serialOld parallelOld CMSG1CMS垃圾回收器:初始標記 -》 并發標記-》重新標記-》并發清除

JVM參數調優

標準參數 (-) -verbose

非標準參數 (-X) -Xmx20m-Xmx 堆最大值-Xms 堆最小值-Xmn 新生代內存-Xss 棧內存

非穩定參數 (-XX) -XX:SurvivorRatio=8

行為參數:DisableExplicitGC 禁止顯示調用system.gcUseConcMarkSweepGCUseSearialGCUseParallelGC

性能調優:PermSize 方法區內存MaxPermSizeSurvivorRatio 新生代中Eden和Survivor的容量比值,默認8:1PRetenureSizeThreshold 直接晉升到老年代的對象大小閾值MaxTenuringThreshold 晉升到老年代的年齡UseAdaptiveSizePolicy 動態調整Java堆各區域的大小及進入老年代的年齡HandlePromotionFailure 是否允許擔保失敗ParallelGCThreads GC內存回收的線程數GCTimeRatio GC占總時間的比例,默認99, 只允許1%,只在parallelScavenge生效MaxGCPauseMillis GC最大停頓時間,只在parallelScavenge生效CMSInitiatingOccupancyFraction 老年代在空間占用多少后觸發回收,默認68%,只在CMS生效UseCMSCompactionAtFullCollection 是否需要整理,僅在CMS生效CMSFullGCsBeforeCompaction 幾次后再整理CompileThreshold JIT編譯閾值 client默認1500 server默認10000

調試:printGCDetails 打印內存回收日志HeapDumpOnOutOfMemoryErrorTraceClassLoadingTraceClassUnloading

java工具

jps: 打印java進程jstack: 查看線程信息jmap: 查看堆信息jconsole, jinfo, jhat, javap, btrace

問題解決

HeapOutOfMemory當堆上分配的對象大于指定堆的最大值時,拋出該錯。可以使用-XX:+HeapDumpOnOutOfMemoryError 查看內存快照進行分析

MethodArea OutOfMemory方法區內存不足,存放類信息,常量,靜態變量,即時編譯后的代碼,檢查這幾個信息是否有異常大多的原因是因為動態產生過多的類。

ConstantPool OutOfMemory常量池溢出,查看是否intern使用不當

DirectMemory OutOfMemory本機直接內存溢出,容量可通過-XX:MaxDirectMemorySize指定,如果不指定,默認和堆最大值相同。這個溢出發生在系統進行直接內存分配。例如:unsafe.allocateMemory()特征為:OOM后發現Dump問價你很小,程序中直接或間接使用了NIO

Stack OutOfMemory擴展棧時無法獲取足夠的內存空間,在創建線程時解決方法之一:減少最大堆

Stack OverFlow棧深度大于虛擬機所允許的深度,經常是由于死循環的遞歸調用

當一個Java程序響應很慢時如何查找問題


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩另类字幕中文| 亚洲精品大尺度| 日韩精品视频中文在线观看| 久久精品青青大伊人av| 在线观看亚洲视频| 茄子视频成人在线| 精品久久久久久中文字幕一区奶水| 亚洲天堂免费观看| 欧洲日本亚洲国产区| 亚洲精品电影在线观看| 欧美激情18p| 疯狂做受xxxx高潮欧美日本| 亚洲人在线视频| 久久精品久久久久电影| 亚洲人成免费电影| 国产日韩在线亚洲字幕中文| 国产主播在线一区| 伊人伊成久久人综合网站| 国产精品久久久久9999| 亚洲日本中文字幕| 亚洲一品av免费观看| 久久久久久久999精品视频| 69久久夜色精品国产69| 欧美日韩在线另类| 国产区亚洲区欧美区| 国产一区私人高清影院| 91美女片黄在线观看游戏| 日韩av成人在线观看| 国产精品www网站| 久久五月情影视| 91国语精品自产拍在线观看性色| 久久国产精品偷| 欧美超级免费视 在线| 欧美在线中文字幕| 久久久精品在线观看| 中文字幕视频在线免费欧美日韩综合在线看| 国产精自产拍久久久久久| 国产精品久久久久福利| 欧美激情亚洲精品| 国产亚洲欧洲在线| 国产精品wwwwww| 欧美激情在线视频二区| 奇米影视亚洲狠狠色| 日韩少妇与小伙激情| 亚洲人精选亚洲人成在线| 成人a免费视频| 成人国产在线视频| 久久久成人的性感天堂| 日韩欧美亚洲国产一区| 97超碰国产精品女人人人爽| 久久精品一本久久99精品| 第一福利永久视频精品| 亚洲欧美日韩一区二区三区在线| 狠狠色狠狠色综合日日五| 日韩av一卡二卡| 日韩av三级在线观看| 亚洲福利视频免费观看| 国产精品久久久久久一区二区| 国产精欧美一区二区三区| 国产精品www| 欧美又大又硬又粗bbbbb| 国产精品男人的天堂| 亚洲最大成人网色| 精品无码久久久久久国产| 欧美一级黑人aaaaaaa做受| 欧美成人三级视频网站| 亚洲精品电影网| 国产精品v日韩精品| 在线观看免费高清视频97| 91网在线免费观看| 精品国产福利视频| 国产精品久久中文| 亚洲色图日韩av| 日韩亚洲精品电影| 欧美日韩在线视频一区二区| 国产精品久久久久久久app| 中文字幕亚洲图片| 欧美成人午夜激情视频| 一本一道久久a久久精品逆3p| 九九热精品视频在线播放| 国产精品99久久久久久www| 久久精品99无色码中文字幕| 国产精品黄色av| 欧美激情一区二区三区高清视频| 亚洲日韩欧美视频| 成人av色在线观看| 欧美日韩亚洲激情| 国产成人精品免高潮在线观看| 色综合久久久久久中文网| 欧美成人一二三| 日韩中文字幕免费| 国产亚洲欧美日韩美女| 亚洲成人精品视频在线观看| 97碰碰碰免费色视频| 69av视频在线播放| 国产精品美女主播在线观看纯欲| 午夜精品久久久久久久99热浪潮| 色婷婷综合成人av| 日韩av不卡电影| 色妞色视频一区二区三区四区| 91久久国产婷婷一区二区| 另类美女黄大片| 日韩欧美国产一区二区| 欧美亚洲国产精品| 日韩在线观看高清| 成人性生交大片免费看视频直播| 精品久久久久久亚洲精品| 日韩中文字幕免费| 国产视频在线一区二区| 欧美日本啪啪无遮挡网站| 日韩女优人人人人射在线视频| 51午夜精品视频| 国产午夜精品全部视频播放| 日韩资源在线观看| 国产高清在线不卡| 亚洲高清一二三区| 亚洲国产日韩欧美在线动漫| 亚洲高清免费观看高清完整版| 精品露脸国产偷人在视频| 国产精品久久久久久网站| 91国产高清在线| 亚洲电影免费观看高清完整版| 国产综合久久久久久| 91av福利视频| 欧美日韩国内自拍| 色哟哟亚洲精品一区二区| 欧美日韩国产一区二区三区| 夜夜嗨av一区二区三区四区| 国产精品一区二区三区成人| 亚洲美腿欧美激情另类| 久色乳综合思思在线视频| 91热福利电影| 美女视频久久黄| 国模叶桐国产精品一区| 在线a欧美视频| 亚洲精品一区久久久久久| 欧美日韩中文在线观看| 亚洲免费小视频| 亚洲电影免费观看高清完整版在线观看| 欧美孕妇孕交黑巨大网站| 欧美日韩亚洲网| 一本色道久久综合狠狠躁篇的优点| 97成人超碰免| 日韩激情片免费| 欧美精品久久一区二区| 亚洲国产精品久久久久秋霞不卡| 欧美成人精品三级在线观看| 91精品免费久久久久久久久| 亚洲精品成人久久久| 亚洲已满18点击进入在线看片| 北条麻妃一区二区在线观看| 国产mv免费观看入口亚洲| 17婷婷久久www| 国产精品欧美一区二区| 北条麻妃在线一区二区| 在线观看国产成人av片| 91久久久久久久久| 九九热这里只有精品免费看| 亚洲欧美国产一本综合首页| 亚洲精品国产美女| 国产91在线播放九色快色| 成人综合国产精品| 亚洲va久久久噜噜噜| 亚洲在线视频观看|