您好,登錄后才能下訂單哦!
這篇文章給大家介紹java虛擬機的內存模型是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Java內存結構和java內存模型的區別。往往很多人會搞起來。這里主要對這2種進行解釋并進行操作。經實踐會JVM調優和不會JVM調優差別確實很大,足足可以提升服務器一倍的性能。
image.png
image.png
image.png
image.png
image.png
image.png
image.png
新生代設置比較小的話,垃圾回收會頻繁去回收,否則內存不夠用,頻繁回收又影響性能,不回收又會導致內存溢出,所以這個配比很關鍵 一般設置虛擬機內存大小都是為當前PC的內存大小,新生代和老年代的內存比例是1:2,一般老年代都會多點,因為這樣可以減少垃圾回收的次數,提高性能。初始堆內存和最大堆內存設置一樣。 內存溢出,有棧溢出和堆溢出,棧溢出就像下面的死循環,這個在棧當中申明的int最大只能到一定的數字
image.png
image.png
總結:jvm參數調優,主要設置堆內存,主要讓gc不要去頻繁去回收垃圾,減少對老年代的回收。
image.png
gc線程就是守護線程:主線程掛了,gc線程也掛了 非守護線程就是主線程掛了,但是new Thread依然在執行。 如果要把非守護線程變成守護線程,需要使用join,例:new Thread().setDeamon();
image.png
image.png
image.png
image.png
image.png
就是根據新生代和老年代進行垃圾回收,一般新生代回收的較多,老年代回收的較少,所以應該要避免老年代的gc回收,老年代回收比較慢
垃圾回收時的停頓現象 每次gc回收的時候,其他所有線程都會停頓,如果不停頓的話,那又有可能使用對象,或者新增對象,不便于垃圾清理。 垃圾收集器: 串行回收---單線程(單核回收) 并行回收---多線程(多核回收) 企業用的比較多,性能好CMS回收---并行GC,用標記清除算法進行回收,性能是最好的,一般用并行回收就可以了 G1回收,是在jdk1.7提出來的,用的比較少
啟動jmeter測試工具,壓力測試工具,主要測試網站的吞吐量,就是每秒能被訪問多少次
image.png
image.png
image.png
image.png
image.png
關于java虛擬機的內存模型是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。