Java學習筆記(五)-JVM系列

**

JVM的參數

-Xms:設置初始堆大小
-Xmx:設置最大堆大小
-Xss:設置每個線程堆棧大小
-XX:NewSize=n:設置年輕代大小
-XX:NewRatio=n:設置年老代和年輕代的比值。
-XX:SurvivorRatio=n:年輕代中Eden區與兩個Survivor區的比值。默認情況下年輕代按照8:2的比例來分配
-XX:MaxPermSize=n:-XXPermSize=n 設置持久代大小
-XX:MaxTenuringThreshold=20 設置對象複製次數
-XX:CMSInitiatingOccupancyFraction=80設置gc開始的閾值
-XX:+UseCMSInitiatingOccupancyOnly設置是否根據設定值開始gc若不加上面的參數只會起效一次後續自動調整
-XX:+UseSerialGC:設置串行收集器
-XX:+UseParallelGC:設置並行收集器
-XX:+UseParalledlOldGC:設置並行年老代收集器
-XX:+UseConcMarkSweepGC:設置併發收集器

**
**

JVM的內存結構

JVM內存結構主要有三大塊:堆內存、方法區和棧。
其中堆內存是JVM中最大的一塊由年輕代和老年代組成,
而年輕代內存又被分成三部分,Eden空間、From Survivor空間、To Survivor空間在Survivor空間中相同年齡所有對象大小的總和大於Survivor空間的一半, 年齡大於或等於該年齡的對象就可以直接進入老年代。
方法區存儲類信息、常量、靜態變量等數據,線程共享
棧又分爲java虛擬機棧和本地方法棧主要用於方法的執行。線程私有

**

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章