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

JDK5.0內(nèi)置工具的使用詳解

開發(fā) 后端
JDK5.0內(nèi)置工具的使用在我們實(shí)際工作中是十分有用的,那么JDK5.0內(nèi)置工具有哪些呢?他們具體都是什么特點(diǎn)呢?這篇文章講給你詳細(xì)介紹。

JDK5.0內(nèi)置工具的使用是什么情況呢?首先我們看看JDK5.0包括的調(diào)試工具有哪些?

我們在這里對JDK5.0內(nèi)置工具做大致的概念性的介紹,然后希望通過介紹我自己在實(shí)際工作中使用這些工具解決問題的實(shí)例來讓大家對這些工具有更深入的了解。
 
JDK5.0內(nèi)置工具里面加入了jstack, jconsole, jinfo, jmap, jdb, jstat, jps, 下面對這些工具做簡單介紹:

jstack -- 如果java程序崩潰生成core文件,jstack工具可以用來獲得core文件的java stack和native stack的信息,從而可以輕松地知道java程序是如何崩潰和在程序何處發(fā)生問題。另外,jstack工具還可以附屬到正在運(yùn)行的java程序中,看到當(dāng)時(shí)運(yùn)行的java程序的java stack和native stack的信息, 如果現(xiàn)在運(yùn)行的java程序呈現(xiàn)hung的狀態(tài),jstack是非常有用的。目前只有在Solaris和Linux的JDK版本里面才有。

jconsole – jconsole是基于 Management Extensions (JMX)的實(shí)時(shí)圖形化監(jiān)測工具,這個(gè)工具利用了內(nèi)建到JVM里面的JMX指令來提供實(shí)時(shí)的性能和資源的監(jiān)控,包括了程序的內(nèi)存使用,Heap size, 線程的狀態(tài),類的分配狀態(tài)和空間使用等等。

jinfo – jinfo可以從core文件里面知道崩潰的Java應(yīng)用程序的配置信息,目前只有在Solaris和Linux的JDK版本里面才有。

jmap – jmap 可以從core文件或進(jìn)程中獲得內(nèi)存的具體匹配情況,包括Heap size, Perm size等等,目前只有在Solaris和Linux的JDK版本里面才有。

jdb – jdb 用來對core文件和正在運(yùn)行的Java進(jìn)程進(jìn)行實(shí)時(shí)地調(diào)試,里面包含了豐富的命令幫助您進(jìn)行調(diào)試,它的功能和Sun studio里面所帶的dbx非常相似,但 jdb是專門用來針對Java應(yīng)用程序的。

jstat – jstat利用了JVM內(nèi)建的指令對Java應(yīng)用程序的資源和性能進(jìn)行實(shí)時(shí)的命令行的監(jiān)控,包括了對Heap size和垃圾回收狀況的監(jiān)控等等。

jps – jps是用來查看JVM里面所有進(jìn)程的具體狀態(tài), 包括進(jìn)程ID,進(jìn)程啟動的路徑等等。

另外,還有些其他附帶的工具在這里沒有列出,比如Heap Analysis Tool, kill -3 方法等等,這些在JDK5.0之前就有,同樣也是非常有用的性能調(diào)優(yōu)工具,大家可以參照相應(yīng)的文檔資料來學(xué)習(xí),在文章后面也會推薦一些相應(yīng)的文檔給大家作為參考。

好,說了這么多,讓我們來看看JDK5.0內(nèi)置工具在現(xiàn)實(shí)工作能給我們帶來什么幫助,下面是我和ISV一起共同工作的實(shí)際例子,在這里把它們簡單闡述出來,希望對大家有所幫助。

jconsole和jstack使用實(shí)例:

在做過的項(xiàng)目中,曾經(jīng)有幾個(gè)是使用jstack和jconsole來解決問題的。在下面的例子中,由于部分代碼涉及到公司名字,我使用了xxx來代替。

1. 其中的一個(gè)是Web2.0的客戶,由于目前Sun Microsystem公司推出的Niagara系列非常適合網(wǎng)絡(luò)方面的多線程應(yīng)用,并且已經(jīng)在業(yè)界非常出名,所以他們決定使用T2000來測試一下如果應(yīng)用到他們自己的應(yīng)用是否能夠獲得出眾的性能。
整個(gè)應(yīng)用的架構(gòu)如下:

  1. Apache 2.0.59 + Resin EE 2.1.17 + Jdk 1.5.0.07 + 9   
  2. 運(yùn)行的操作系統(tǒng):  
  3. Solaris 10 Update 3 (11/06), EIS patches包.   
  4. 測試工具:Apache benchmark tool. 

在客戶的測試環(huán)境中,我們分別做了Apache, Resin, Solaris的相應(yīng)調(diào)整,其中包括了Apache使用Prefork模式,并且調(diào)整了httpd.conf文件里面相應(yīng)的ServerLimit, ListenBacklog,Maxclient等等值,Resin服務(wù)器調(diào)整Jvm heap size, 并行回收new generation和old generation, ***線程數(shù),oracle連接數(shù)等等參數(shù),Solaris操作系統(tǒng)做了網(wǎng)絡(luò)和系統(tǒng)的相應(yīng)調(diào)整,最終把整套系統(tǒng)搬進(jìn)了生產(chǎn)環(huán)境,一切順利進(jìn)行,但當(dāng)進(jìn)入其中的一個(gè)論壇系統(tǒng)時(shí)卻發(fā)現(xiàn)系統(tǒng)響應(yīng)時(shí)間非常緩慢,用Apache Benchmark Tool加少量壓力得到結(jié)果如下,由于是在生產(chǎn)環(huán)境下所以不敢使用大的壓力:

  1. This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0   
  2. Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/   
  3. Copyright (c) 2006 The Apache Software Foundation, http://www.apache.org/   
  4. Benchmarking free.xxx.com (be patient).....done  
  5. Server Software: Resin/2.1.17   
  6. Server Hostname: free.xxx.com   
  7. Server Port: 8080 
  8. Document Path: /forum/bbsMessageList.act?bbsThreadId=1580107   
  9. Document Length: 27012 bytes  
  10. Concurrency Level: 10   
  11. Time taken for tests: 92.148883 seconds   
  12. Complete requests: 100   
  13. Failed requests: 0   
  14. Write errors: 0   
  15. Keep-Alive requests: 0   
  16. Total transferred: 2722500 bytes   
  17. HTML transferred: 2701200 bytes   
  18. Requests per second: 1.09 [#/sec] (mean)   
  19. Time per request: 9214.888 [ms] (mean)   
  20. Time per request: 921.489 [ms] (mean, across all concurrent requests)   
  21. Transfer rate: 28.84 [Kbytes/sec] received  
  22. Connection Times (ms)   
  23. min mean[+/-sd] median max   
  24. Connect: 0 0 0.0 0 0   
  25. Processing: 9089 9187 139.4 9140 9789   
  26. Waiting: 3067 3163 138.3 3117 3766   
  27. Total: 9089 9187 139.4 9140 9789 
  28. Percentage of the requests served within a certain time (ms)   
  29. 509140   
  30. 669178   
  31. 759189   
  32. 809201   
  33. 909281   
  34. 959560   
  35. 989739   
  36. 999789 
  37. 1009789 (longest request) 

每一個(gè)請求的響應(yīng)時(shí)間大概去到8-9秒時(shí)間,這個(gè)是客戶所不能接受的。

在實(shí)驗(yàn)的初段,Tomcat, 10g服務(wù)器都是架設(shè)在T2000上,我們在對T2000服務(wù)器的OS,網(wǎng)絡(luò),應(yīng)用服務(wù)器做了必要的調(diào)整后,發(fā)現(xiàn)其表現(xiàn)還是不盡如人意。

JDK5.0內(nèi)置工具就介紹到這里,希望對你在開發(fā)的時(shí)候有所幫助。

【編輯推薦】

  1. JDK的安裝圖解與環(huán)境變量設(shè)置詳解
  2. JDK與JRE的關(guān)系和path的作用淺談
  3. JDK、SDK、JRE、JVM概念詳解
  4. JDK1.6的十大技術(shù)淺談
  5. 安裝JDK后JRE與JVM聯(lián)系淺談
責(zé)任編輯:仲衡 來源: 百度空間
相關(guān)推薦

2009-07-09 11:02:37

JDK5.0內(nèi)置工具

2009-07-07 17:34:15

collectionJDK5.0

2009-07-07 16:22:13

JDK5.0源代碼

2009-03-20 13:40:15

JDK線程并發(fā)

2021-04-13 08:25:12

測試開發(fā)Java注解Spring

2021-04-08 10:10:46

JavaSimpleDateFList接口

2019-03-08 15:35:05

Windows 10屏幕剪切工具Windows

2025-01-24 14:35:10

2010-05-19 10:22:07

2012-05-30 15:25:22

JDKURLConnectiJava

2009-07-09 14:57:08

JDK環(huán)境配置

2009-03-31 09:18:34

客戶端內(nèi)置對象ASP.NET

2021-12-30 12:30:01

Java注解編譯器

2023-11-09 08:36:51

內(nèi)置工具類Spring

2009-07-08 16:43:54

JDK5ProcessBuil

2009-07-09 14:02:58

Tomcat JDK

2022-10-25 08:28:46

JVM分析工具JDK

2013-07-17 15:39:39

Github詳解

2020-01-15 14:51:04

Redis5.0數(shù)據(jù)策略

2010-08-19 15:54:42

MyEclipse 5 WebLogic 9
點(diǎn)贊
收藏

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