自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JDK里面自帶了這么多的Exe,你都挨著試過么?

開發(fā) 前端
話說面試這塊,JVM算是一個經(jīng)典的也是三年必問的知識點了,而且這個知識點算是最重要的一個知識點,你如果會這個內(nèi)容,那么對你的在之后的面試中,能夠喊出一個不錯的價格。

[[357370]]

本文轉(zhuǎn)載自微信公眾號「Java極客技術(shù)」,作者鴨血粉絲。轉(zhuǎn)載本文請聯(lián)系Java極客技術(shù)公眾號。  

JVM

話說面試這塊,JVM算是一個經(jīng)典的也是三年必問的知識點了,而且這個知識點算是最重要的一個知識點,你如果會這個內(nèi)容,那么對你的在之后的面試中,能夠喊出一個不錯的價格。

而關(guān)于JVM和還有關(guān)于垃圾回收算法的解析,阿粉在這里就不在給大家進行講解了。大家有興趣的可以看一下阿粉之前推出的這幾篇文章

性能監(jiān)控工具

我們都在最開始學Java的時候,安裝過Java,不管是直接安裝版本還是復制過來解壓好的,大家都可以在JDK的安裝目錄中找到一些exe的程序,而這些exe的程序里面,有很多是我們不怎么去關(guān)注的性能的監(jiān)控工具。

大家可以看一下里面這些exe,是不是感覺Sun公司有時候也是很給力的,各種給大家隱藏的福利,就比如下面我們要說的JVM的調(diào)優(yōu)工具,就是Jconsole,而還有一些比如說

jstack :顯示虛擬機的線程快照

jps :虛擬機進程狀況工具

JConsole :JMX的可視化管理工具

VisualVM :多合一故障管理工具 (阿粉認為最牛掰的工具)

關(guān)于使用,我們在下面開始一一的講述,先從我們最關(guān)心的JVM調(diào)優(yōu)開始。

JVM調(diào)優(yōu)工具

主要的調(diào)優(yōu)工具有JDK自己帶的工具,也有外部的屬于收費的,大致就這么幾種。Jconsole,jProfile,VisualVM。

  • Jconsole :jdk自帶,功能簡單,但是可以在系統(tǒng)有一定負荷的情況下使用。對垃圾回收算法有很詳細的跟蹤。
  • JProfiler :這就是需要你另外付費的了的商業(yè)軟件,功能強大(付錢付錢)。
  • VisualVM :JDK自帶,功能強大,與JProfiler類似。

而就因為阿粉不知道這么幾個工具而且沒使用過這些工具,被公司老弟瘋狂嘲笑了一波,那叫一個悲慘,既然不知道那么阿粉一定要學習一波的呀,那么我們就來看看這個工具。

那收費的我就管了,反正不如白嫖的香。那我們就來看看 Jconsole和 VisualVM吧。

VisualVM:

大家可以看一下左邊,顯示的是你正在運行的程序,pid是15908,端口號是我這邊的,你們那邊必然不是,但是大家可以當個參考嘛。

VisualVM可以根據(jù)需要安裝不同的插件,每個插件的關(guān)注點都不同,有的主要監(jiān)控GC,有的主要監(jiān)控內(nèi)存,有的監(jiān)控線程等。

比如說看下圖:

這里你如果不顯示的話,直接點那個檢查最新版本。在可用的插件里面就會顯示出我們所有的能用的插件來。

我們雙擊一個內(nèi)容進去看一下:

在這里我們可以監(jiān)控各種堆棧信息,而這個工具和Jconsole是我們大家經(jīng)常使用的吧,除了有些高大上的喜歡用第三方的,但是阿粉還沒怎么使用過,畢竟公司不大,沒有那么多事,能看出問題來并且解決就OK啦。

下面我們再來看看JConsole。

JConsole :一款JMX的可視化管理工具

它是一個java GUI監(jiān)視工具,可以以圖表化的形式顯示各種數(shù)據(jù)。并可通過遠程連接監(jiān)視遠程的服務(wù)器VM。用java寫的GUI程序,用來監(jiān)控VM,并可監(jiān)控遠程的VM,非常易用,而且功能非常強。

在我們看到的進程信息隨便點一個進去就可以看到

里面也有和VisualVm一樣的內(nèi)容,比如說堆內(nèi)存的使用量;內(nèi)存池“PS Old Gen”

 

而且還有我們的類的路徑,庫的路徑,以及Vm的參數(shù)等等,都是非常不錯的。

jps(JavaVirtual Machine Process Status Tool):虛擬機進程狀況工具

說實話,阿粉從安裝JDK以來,還真的是沒有太注意這個jps,畢竟他僅僅是來輸出JVM中運行的進程狀態(tài)信息.

語法說實在的也是非常簡單的,給大家安利一下:jps 【options】 【hostid 】

options中可以選擇有很多種比如說

q :不輸出類名、Jar名和傳入main方法的參數(shù),僅輸出VM標識符

m :輸出傳入main方法的參數(shù)

l :輸出完全的包名,應(yīng)用主類名,jar的完全路徑名

v :輸出jvm參數(shù)

而后免得hostid更好說了,主機或者是服務(wù)器的id,你如果什么東西都不寫,那么就是默認的嘍。

如下所示:

大家有興趣的可以去自己動手試試,很有意思的。

jstack :堆棧跟蹤工具

這個工具也是非常好的,我們給他一個java進程ID,那么它就會給我們打印出Java堆棧信息。

而他的語法也是非常簡單的:jstack 【-l】 pid

這個說實話阿粉就更喜歡VisualVM了,同樣也能看到堆棧信息,至于怎么選擇,那就看你們的需要什么了?

 

責任編輯:武曉燕 來源: Java極客技術(shù)
相關(guān)推薦

2017-11-10 07:08:24

前端優(yōu)化策略

2021-06-09 10:10:20

代碼內(nèi)存編程語言

2021-03-24 08:44:11

代碼內(nèi)存消耗語言

2022-05-29 08:54:44

Edge瀏覽器

2024-02-20 08:09:51

Java 8DateUtilsDate工具類

2023-11-13 08:49:54

2019-02-28 10:37:19

開源數(shù)據(jù)庫Oracle

2021-08-09 11:32:30

左葉子節(jié)點二叉樹

2020-06-03 08:15:50

IO軟件

2018-10-07 06:30:40

代碼設(shè)計模式面向?qū)ο笤瓌t

2016-12-01 13:40:37

2021-06-14 07:23:42

Windows10操作系統(tǒng)微軟

2017-08-11 14:21:33

軟件開發(fā)前端框架

2024-04-02 08:41:10

ArrayListSubList場景

2023-07-17 08:21:52

漏洞版本項目

2022-01-12 20:04:09

網(wǎng)絡(luò)故障斷網(wǎng)事件網(wǎng)絡(luò)安全

2020-12-31 05:49:44

FlinkSQL函數(shù)

2015-07-27 10:15:57

互聯(lián)網(wǎng)程序員薪資

2020-09-07 13:05:17

MySQL面試索引

2018-06-26 15:00:24

Docker安全風險
點贊
收藏

51CTO技術(shù)棧公眾號