1. 程式人生 > >第5課:實戰演示JVM三大效能調優引數:-Xms -Xmx -Xss

第5課:實戰演示JVM三大效能調優引數:-Xms -Xmx -Xss

第3課:
1、應用程式是多執行緒的,多執行緒共享全域性共享記憶體空間,每個執行緒也有自己的記憶體空間,
執行緒與全域性共享記憶體空間怎麼互動呢?

執行緒如果要使用全域性共享變數,就將全域性共享變數拷貝過去,拷貝到執行緒的記憶體空間,交給執行緒的程式碼去處理,而不是直接去操作全域性共享變數,原因是如果其他的執行緒也在操作,會帶來狀態不一致。

2、如果多執行緒有1-5個,而core只2個,如執行緒1執行到一段時間以後,執行緒4要運行了,執行緒1到執行緒4的切換,怎麼正常工作?

--程式計數器(Program Counter Register)。這樣當執行緒執行切換的時候,就可以在上次執行
的基礎上繼續執行。

第4課:

1、程式計數器是每個一個執行緒私有區域的,每個執行緒下一步執行的語句,適用於執行緒數大於cpu 個數或cores個數時。
2、Native Method Area是 C/C++層面的
3、Stack是執行緒私有的,管理方法執行時的區域性變數、引數等,關注stack深度,是否溢位。
4、Method Area 所有執行緒共享的,常量、位元組碼等,一般不會被JVM回收。
5、HEAP 空間存放物件池的資料,也是垃圾回收的核心。
6、NIO直接通過本地來操作記憶體空間,Tacyon應用。

第5課程

xms xmx 設定同樣的值

-verbose:gc -Xms12M -Xmx12M -Xss256k-XX:+PrintGCDetails

-verbose:gc -Xms12M -Xmx12M -Xss10k-XX:+PrintGCDetails