日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java导出pdf_一张PDF了解JDK11 GC调优秘籍-附PDF下载

發布時間:2024/9/27 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java导出pdf_一张PDF了解JDK11 GC调优秘籍-附PDF下载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

JDK11相比JDK10,添加了一個新的Source-File Mode,可以直接通過java來運行單個java源文件,而不需要進行編譯。同時還提供了新的HTTP API,支持響應性stream。

當然上面的都不是重點,重點的是JDK11是一個LTS版本,是繼JDK8之后的又一個LTS版本,也可能是大家日后使用的最多的一個版本。

所以JDK11的JVM參數吸收了JDK9,JDK10的新特性和改動,并在他們的基礎上進行了微調。

同樣在文章最后,我也將JDK11的GC調優秘籍做成了一張PDF,歡迎大家下載。

廢棄的VM選項

JDK11和JDK9,JDK10相比,廢棄的選項都差不多。這里重點講下面幾個:

-XX:+AggressiveOpts

aggressive的中文意思是激進的,有進取心的意思。這個參數的意思是啟用激進的優化選項,默認情況下是禁止的,并且是作為一個體驗選項提供的。

因為這個選項可能在后面的版本中作為默認選項,所以在JDK11中是廢棄的。

-XX:+UseAppCDS

AppCDS是在JDK9 JPMS中引入的新特性,可以提升java程序的啟動速度。

AppCDS默認情況下是開啟的所以這里也廢棄掉了。

注意,JVM中的參數如果是被廢棄掉了,并不一定說這個選項的特性JVM已經不支持了,也有可能是JVM默認是開啟了這個選項。

Source-File Mode

什么是Source-File Mode呢?

Source-File Mode就是指可以直接使用java命令來運行java源代碼,而不用使用javac進行編譯。

當然這個只對單文件的源代碼有效。

有兩種方式使用Source-File Mode,一種是源文件后面帶.java后綴,如:

java HelloWorld.java

一種是添加參數–source version選項:

java -source 11 HelloWorld這里的version指的是JDK版本號,可以取值6,7,8,9,10,11。

如果沒有使用.java,則必須使用-source。

Source-File Mode的原理是將源代碼編譯到內存中,然后執行源代碼中的第一個class。

Code Heap狀態分析

我們知道JVM中的JIT編譯器會將一些熱點的java代碼編譯成機器碼,而這些機器碼會存儲在一個叫做code cache的地方。

CodeHeap就是用來生成和管理這些機器碼的類。每次存儲請求都會分配一定大小的空間,這個值是由CodeCacheSegmentSize來定義的。

當然,為了提升效率,你可以將CodeCacheSegmentSize的大小設置為和cache line大小一致。不過這不是必須的。

Code Heap狀態分析就是分析code cache的狀態。

CodeHeap狀態分析分為兩個部分。 第一部分檢查整個CodeHeap并匯總所有認為有用/重要的信息。 第二部分可以根據需要選的特定的命令來輸出自己需要的那部分。

我們舉幾個例子:

實時分析:

jcmd <pid> Compiler.CodeHeap_Analytics [<function>] [<granularity>]

其中function可以有下面的幾個選項:

  • all – 列出所有的信息
  • aggregate – 檢查CodeHeap,并記住本地結構中的數據。
  • UsedSpace – 輸出已使用的空間
  • FreeSpace – 輸出空閑的空間
  • MethodCount – 輸出method count信息
  • MethodSpace – 輸出method space信息
  • MethodAge – 輸出method age信息
  • MethodNames – 輸出name信息
  • discard – 釋放該方法的所有資源

granularity是和aggregate配合使用的,代表一個aggregate代表的存儲空間大小。

AppCDS

JDK11在AppCDS上面有所提升,可以支持從module path導出 archiving classes:

$ java -Xshare:dump -XX:SharedClassListFile=class_list_file -XX:SharedArchiveFile=shared_archive_file --module-path=path_to_modular_jar -m module_name

使用:

$ java -XX:SharedArchiveFile=shared_archive_file --module-path=path_to_modular_jar -m module_name

總結

同樣的,為JDK11特意準備了一個PDF,下載鏈接如下:

JDK11GC-cheatsheet.pdf

本文鏈接:http://www.flydean.com/jdk11-gc-cheatsheet/最通俗的解讀,最深刻的干貨,最簡潔的教程,眾多你不知道的小技巧等你來發現!歡迎關注我的公眾號:「程序那些事」,懂技術,更懂你!

總結

以上是生活随笔為你收集整理的java导出pdf_一张PDF了解JDK11 GC调优秘籍-附PDF下载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。