考慮到可能有部分粉絲對JVM參數不清楚,因此咱們參照中學的授課模式,給你們作一些知識上的普及。理論上,JVM參數主要分爲三類java
該類型參數在JDK各個版本之間穩定,不多有大的變化。好比查看版本號面試
java -version
複製代碼
這些用的很少,看看就好。bash
// 解釋執行
-Xint
// 第一次使用就編譯成本地代碼
-Xcomp
// 混合模式
-Xmixed
複製代碼
-XX:+ 或者 - 某個屬性值
,+ 表示開啓,-表示關閉。例如:spa
// 打印GC詳細信息
-XX:+PrintGCDetails
複製代碼
// 不打印GC詳細信息
-XX:-PrintGCDetails
複製代碼
-XX:屬性key=屬性值value
,例如code
// 設置Metaspace的大小
-XX:MetaspaceSize=1024m
複製代碼
好了,如今課講完了,那麼咱們來兩道經典的JVM面試題。cdn
在線上生產環境,JVM的Xms
和Xmx
通常設置成_____
比例。緣由是____________
。blog
咱們常設置的JVM參數Xms
和Xmx
,屬於下列哪一種類型的JVM參數?it
A.標配參數io
B.X參數編譯
C.XX參數
D.以上均不是
你們看這兩道題,是否是有中學試卷的味道?上課教的東西,到了考試就全變樣了,美名爲教材內容考點變形,變形能夠,可這都變得面目全非了啊!高三的時候,老師告訴咱們,每一年高考題他都所有命中。那一刻,我覺得清華北大穩了,都準備要發朋友圈裝逼了!
後面才知道,他的意思是,他把課本的內容都給咱們講了,而後高考的內容都源於課本,因此他每一年都所有命中。
言歸正傳,那麼咱們來解答一下這兩道題。
1.Xms
和Xmx
通常設置成1:1
比例,緣由是避免在GC後調整堆大小帶來的壓力
。
2.選C,由於-Xms
等價於-XX:InitialHeapSize
,-Xmx
等價於-XX:MaxHeapSize
。因此他們都是XX
類型參數。易錯選型是B。
這兩道題你都答對了嗎?或者你有什麼中學的回憶,也歡迎留言告訴肥朝。