JVM專題之垃圾收集器

JVM參數

3.1.1 標準參數
-version
-help
-server
-cp

3.1.2 -X參數

 非標準參數,也就是在JDK各個版本中可能會變動

```
-Xint     解釋執行
-Xcomp    第一次使用就編譯成本地代碼
-Xmixed   混合模式,JVM自己來決定

3.1.3 -XX參數

> 使用得最多的參數類型
>
> 非標準化參數,相對不穩定,主要用于JVM調優和Debug

```
a.Boolean類型
格式:-XX:[+-]<name>            +或-表示啟用或者禁用name屬性
比如:-XX:+UseConcMarkSweepGC   表示啟用CMS類型的垃圾回收器
     -XX:+UseG1GC              表示啟用G1類型的垃圾回收器
b.非Boolean類型
格式:-XX<name>=<value>表示name屬性的值是value
比如:-XX:MaxGCPauseMillis=500
```

3.1.4 其他參數

```
-Xms1000M等價于-XX:InitialHeapSize=1000M
-Xmx1000M等價于-XX:MaxHeapSize=1000M
-Xss100等價于-XX:ThreadStackSize=100
```

> 所以這塊也相當于是-XX類型的參數

3.1.5 查看參數

> java -XX:+PrintFlagsFinal -version > flags.txt

> 值得注意的是"="表示默認值,":="表示被用戶或JVM修改后的值
> 要想查看某個進程具體參數的值,可以使用jinfo,這塊后面聊
> 一般要設置參數,可以先查看一下當前參數是什么,然后進行修改

3.1.6 設置參數的常見方式

* 開發工具中設置比如IDEA,eclipse
* 運行jar包的時候:java  -XX:+UseG1GC xxx.jar
* web容器比如tomcat,可以在腳本中的進行設置
* 通過jinfo實時調整某個java進程的參數(參數只有被標記為manageable的flags可以被實時修改)

3.1.7 實踐和單位換算


1Byte(字節)=8bit(位)
1KB=1024Byte(字節)
1MB=1024KB
1GB=1024MB
1TB=1024GB
```

```
(1)設置堆內存大小和參數打印
-Xmx100M -Xms100M -XX:+PrintFlagsFinal
(2)查詢+PrintFlagsFinal的值
:=true
(3)查詢堆內存大小MaxHeapSize
:= 104857600
(4)換算
104857600(Byte)/1024=102400(KB)
102400(KB)/1024=100(MB)
(5)結論
104857600是字節單位
```

3.1.8 常用參數含義

| 參數                                                                                |                                                 含義                                                 |                                                                    說明                                                                    |
| :---------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------: |
| -XX:CICompilerCount=3                                                               |                                            最大并行編譯數                                            |                               如果設置大于1,雖然編譯速度會提高,但是同樣影響系統穩定性,會增加JVM崩潰的可能                               |
| -XX:InitialHeapSize=100M                                                            |                                             初始化堆大小                                             |                                                                簡寫-Xms100M                                                                |
| -XX:MaxHeapSize=100M                                                                |                                              最大堆大小                                              |                                                                簡寫-Xms100M                                                                |
| -XX:NewSize=20M                        

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42386.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42386.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42386.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RedHat運維-Linux文本操作基礎-牛客AWK

1. 查看static這個連接文件是否自動連接的命令是____________________________________&#xff1b; 2. 查看default這個連接文件是否自動連接的命令是_____________________________________&#xff1b; 3. 查看con0這個連接文件是否自動連接的命令是_______________________…

【Python】已解決:(paddleocr導包報錯)ModuleNotFoundError: No module named ‘paddle’

文章目錄 一、分析問題背景二、可能出錯的原因三、錯誤代碼示例四、正確代碼示例五、注意事項 已解決&#xff1a;&#xff08;paddleocr導包報錯&#xff09;ModuleNotFoundError: No module named ‘paddle’ 一、分析問題背景 近日&#xff0c;一些使用PaddleOCR庫進行文字…

Python數據分析案例49——基于機器學習的垃圾郵件分類系統構建(樸素貝葉斯,支持向量機)

案例背景 trec06c是非常經典的郵件分類的數據&#xff0c;還是難能可貴的中文數據集。 這個數據集從一堆txt壓縮包里面提取出來整理為excel文件還真不容不易&#xff0c;肯定要做一下文本分類。 雖然現在文本分類基本都是深度學習了&#xff0c;但是傳統的機器學習也能做。本案…

C#架構師的成長之路

成為一名C#架構師不僅需要深厚的技術功底&#xff0c;還需要廣泛的行業知識、優秀的團隊協作能力和領導力。以下是C#架構師成長之路上的關鍵步驟和技能要求&#xff1a; 1. 扎實的技術基礎 精通C#語言&#xff1a;深入理解C#的語法、特性&#xff0c;包括但不限于泛型、多線程…

Xilinx FPGA:vivado關于真雙端口的串口傳輸數據的實驗

一、實驗內容 用一個真雙端RAM&#xff0c;端口A和端口B同時向RAM里寫入數據0-99&#xff0c;A端口讀出單數并存入單端口RAM1中&#xff0c;B端口讀出雙數并存入但端口RAM2中&#xff0c;當檢測到按鍵1到來時將RAM1中的單數讀出顯示到PC端&#xff0c;當檢測到按鍵2到來時&…

Vim編輯器與Shell命令腳本

前言&#xff1a;本博客僅作記錄學習使用&#xff0c;部分圖片出自網絡&#xff0c;如有侵犯您的權益&#xff0c;請聯系刪除 目錄 一、Vim文本編輯器 二、編寫Shell腳本 三、流程控制語句 四、計劃任務服務程序 致謝 一、Vim文本編輯器 “在Linux系統中一切都是文件&am…

Rust 程序設計語言學習——函數式語言功能:迭代器和閉包

Rust 的閉包&#xff08;closures&#xff09;是可以保存在一個變量中或作為參數傳遞給其他函數的匿名函數。可以在一個地方創建閉包&#xff0c;然后在不同的上下文中執行閉包運算。不同于函數&#xff0c;閉包允許捕獲被定義時所在作用域中的值。 迭代器&#xff08;iterato…

C++ STL 隨機數用法介紹

目錄 一:C語言中的隨機數 二:C++中的隨機數 1. 生成隨機數的例子 2. 隨機數引擎 3. 隨機數引擎適配器 4. C++中預定義的隨機數引擎,引擎適配器 5. 隨機數分布 一:C語言中的隨機數 <stdlib.h>//初始化隨機種子 srand(static_cast<unsigned int>(time(nullptr)…

C#面: 依賴注入有哪幾種方式?

依賴注入&#xff08;Dependency Injection&#xff0c;簡稱DI&#xff09;是一種設計模式&#xff0c;用于解耦組件之間的依賴關系。在C#中&#xff0c;常見的依賴注入方式有以下幾種&#xff1a; 構造函數注入&#xff08;Constructor Injection&#xff09;&#xff1a;通過…

dependencyManagement的作用、nacos的學習

使用SpringCloudAlibaba注意各組件的版本適配 SpringCloudAlibaba已經包含了適配的各組件&#xff08;nacos、MQ等&#xff09;的版本號&#xff0c;也是一個版本仲裁者&#xff0c;但是可能已經有了父項目Spring-Boot-Starter-Parent這個版本仲裁者&#xff0c;又不能加多個父…

什么是獨立服務器?

獨立服務器是指一個單獨的物理服務器&#xff0c;整體的硬件設施都是獨立存在的&#xff0c;有著強大的性能&#xff0c;只需要運行用戶個人的數據信息&#xff0c;并且可以享受到獨立服務器的硬件與軟件&#xff0c;當網站有著大量的用戶進行訪問或者是需要運行大型的軟件時&a…

leetcode熱題100.零錢兌換(動態規劃)

今天給大家分享一道動態規劃的常考題&#xff0c;零錢兌換&#xff0c;很有趣的動態規劃題目&#xff0c;希望可以對大家找工作過程中起到幫助&#xff0c;幫助大家拓展下思維 給你一個整數數組 coins &#xff0c;表示不同面額的硬幣&#xff1b;以及一個整數 amount &#xf…

6、Redis系統-數據結構-06-跳表

六、跳表&#xff08;Skiplist&#xff09; 跳表是一種高效的動態數據結構&#xff0c;可以用于實現有序集合&#xff08;Sorted Set&#xff0c;Zset&#xff09;。與平衡樹相比&#xff0c;跳表具有實現簡單、效率高的優點&#xff0c;因此被 Redis 選用作為有序集合的底層數…

階段三:項目開發---搭建項目前后端系統基礎架構:任務13:實現基本的登錄功能

任務描述 任務名稱&#xff1a; 實現基本的登錄功能 知識點&#xff1a; 了解前端Vue項目的基本執行過程 重 點&#xff1a; 構建項目的基本登陸功能 內 容&#xff1a; 通過實現項目的基本登錄功能&#xff0c;來了解前端Vue項目的基本執行過程&#xff0c;并完成基…

如何讓代碼兼容 Python 2 和 Python 3?Future 庫助你一臂之力

目錄 01Future 是什么? 為什么選擇 Future? 安裝與配置 02Future 的基本用法 1、兼容 print 函數 2、兼容整數除法 3、兼容 Unicode 字符串 03Future 的高級功能 1. 處理字符串與字節 2. 統一異常處理…

linux kthread任務管理

目錄 一、linux 創建內核線程1.1 kthread_create1.2 kthread_create_worker kthread_queue_work 二、設置線程優先級和調度策略2.1 sched_setscheduler2.2 調度策略 一、linux 創建內核線程 1.1 kthread_create 在 linux 中&#xff0c;可以使用 kthread_create 接口創建內核…

移動校園(7)ii:uniapp路由響應攔截器處理token,以及微信小程序報錯當前頁面正在處于跳轉狀態,請稍后再進行跳轉....

依據昨天的寫完&#xff0c;在token過期之后&#xff0c;再次調用接口&#xff0c;會觸發后端攔截&#xff0c;扔進全局錯誤處理中間件 前端說明提示都沒有&#xff0c;只有一個這個&#xff0c;現在優化一下&#xff0c;再寫一個類似全局后置守衛&#xff0c;當狀態碼是401的時…

MySQL——數據連接池

數據庫連接 --- 執行完畢 --- 釋放&#xff08;連接到釋放的過程十分浪費系統資源&#xff09; 池化技術&#xff1a;準備一些預先的資源&#xff0c;過來就連接預先準備好的 編寫連接池&#xff0c;實現一個接口 DataSource 開源數據源實現&#xff08;拿來即用&#xff09;…

增強安全防護,解讀智慧校園系統的登錄日志功能

在構建智慧校園系統時&#xff0c;登錄日志功能扮演著不可或缺的角色&#xff0c;它不僅是系統安全的守護者&#xff0c;也是提升管理效率和確保合規性的有力工具。這一機制詳細記錄每次登錄嘗試的方方面面&#xff0c;涵蓋了時間戳、用戶身份、登錄來源的IP地址乃至使用的設備…

phpcms 升級php8.3.8

windows 2008 server 不支持php8.3.8,需升級為windows 2012 1.下載php8.3.8 PHP8.3.9 For Windows: Binaries and sources Releases 2.配置php.ini (1.)在php目錄下找到php.ini-development文件&#xff0c;把它復制一份&#xff0c;改名為php.ini (2.)修改php安裝目錄 根…