909422229 JVM優化之字串池

2021-10-01 02:57:43 字數 374 閱讀 8406

string str1 = "aaa";

string str2 = "aaa";

system.out.println(str1 == str2);

結果是:true。

什麼原因呢,jvm是如何運轉的呢?

jvm首先會去字串池中查詢是否存在"aaa"這個物件,如果不存在,則在字串池中建立"aaa"這個物件,

然後將池中"aaa"這個物件的引用位址返回給字串常量str,這樣str會指向池中"aaa"這個字串物件;

如果存在,則不建立任何物件,直接將池中"aaa"這個物件的位址返回,賦給字串常量。

後序還會將一些jvm其他的優化機制,歡迎關注!

JVM 效能優化

最近發現服務cpu消耗不是很穩定,在150 600 之間不停跳動,以前沒有這種情況,check了一下,是old區記憶體不太夠導致每隔一小段時間cms gc了,old區記憶體不夠的主要原因是服務需要載入的資料變多了,使得old區頻繁gc 用 jmap heap pid 可以看到當old區佔比超過92 ...

jvm引數優化

堆記憶體優化 調整jvm啟動引數 xms xmx xx newsize xx maxnewsize,如調整初始堆記憶體和最大對記憶體 xms256m xmx512m。或者調整初始new generation的初始記憶體和最大記憶體 xx newsize 128m xx maxnewsize 128m...

jvm晚期優化

最具代表性的幾個優化技術 公共子表示式消除描述 如果乙個表示式e已經計算過了,並且從先前的計算到現在e中的所有變數的值都沒有發生變化,那麼e的這次出現就成為了公共子表示式 int d c b 12 a a b c 優化為int d e 12 a a e 優化為int d e 13 a 2陣列泛微檢查...