久久久国产精品,成人无码精品1区2区3区免费看,日韩男人天堂,午夜77777

鄭州信息科技中專職業(yè)學(xué)院中專部

不僅僅統(tǒng)招學(xué)歷喲

  • 熱門專業(yè)!
  • 大學(xué)校園!
  • 就業(yè)保障!
  • 拿學(xué)歷又能高薪就業(yè),誰(shuí)能不愛(ài)!
了解詳情>
鄭州北大青鳥翔天信鴿參加“安心學(xué)習(xí)·放心就業(yè)”公約簽約儀式

讓每一個(gè)家庭“安心”、“放心”

  • 教學(xué)為本
  • 師愛(ài)為魂
  • 安心學(xué)習(xí)
  • 放心就業(yè)
了解詳情>
北大青鳥20周年慶典與總部年會(huì)鄭州翔天信鴿榮獲7項(xiàng)榮譽(yù)

深耕細(xì)作IT職業(yè)教育15載

  • 青鳥之星教學(xué)質(zhì)量大獎(jiǎng)
  • 卓越風(fēng)云人物
  • 北大青鳥中心理事會(huì)成員
  • 七項(xiàng)榮耀載譽(yù)而行!
了解詳情>
鄭州北大青鳥學(xué)員喜獲全國(guó)IT精英挑戰(zhàn)賽冠軍

我們教學(xué)怎么樣

  • 實(shí)力見(jiàn)證
  • 網(wǎng)絡(luò)組一等獎(jiǎng)
  • 網(wǎng)絡(luò)組二等獎(jiǎng)
  • 軟件組四等獎(jiǎng)
  • 200家校區(qū)脫穎而出!
了解更多>
北大青鳥榮獲315重承諾守信用放心品牌

北大青鳥職業(yè)IT20周年

  • 重承諾
  • 守信用
  • 放心品牌
  • 放心學(xué)習(xí)
  • 靠靠譜譜好就業(yè)!
了解更多>
學(xué)IT好工作高薪就業(yè)

我命由我不由天

  • 學(xué)個(gè)性的技術(shù)
  • 做愛(ài)做的事
  • 掙滿意的錢
  • 衣食無(wú)憂
  • 選擇寬且高大尚!
了解更多>
鄭州北大青鳥IT培訓(xùn)辦學(xué)14年

我們靠不靠譜

  • 14年辦學(xué)
  • 14年磨練
  • 14年成長(zhǎng)
  • 14年探索
  • 只為讓每個(gè)學(xué)員成材!
了解更多>
鄭州北大青鳥IT培訓(xùn)

不打工也牛掰

  • 好工作
  • 好環(huán)境
  • 高薪資
  • 好課程
  • 支持你成為有“錢”人!
了解更多>

學(xué)IT就讀北大青鳥

  • 好工作
  • 好未來(lái)
  • 好老師
  • 好課程
  • 支持你成為受人尊敬的人!
了解更多>
Java編程深層挖掘,北大青鳥告訴您3大方法
作者: 添加時(shí)間:10-13 瀏覽次數(shù):0

很多人對(duì)java的了解都只是個(gè)皮毛,那么怎么更深入的了解java核心及應(yīng)用?隨著Java5中JConsole的引入,一切都發(fā)生了改變。JConsole是一個(gè)內(nèi)置Java性能分析器,可以從命令行或在GUIshell中運(yùn)行。它不是完美的,但是當(dāng)尖頭老板來(lái)問(wèn)你關(guān)于性能的問(wèn)題時(shí),用它來(lái)應(yīng)對(duì)還是綽綽有余的--這比查詢PapaGoogle要好得多。
   
    我們將向您展示3個(gè)方法,使您可以輕松地使用JConsole(或者,它更高端的"近親"VisualVM)來(lái)監(jiān)控Java應(yīng)用程序性能和跟蹤Java中的代碼。
   
    1.JDK附帶分析器
   
    許多開發(fā)人員沒(méi)有意識(shí)到從Java 5開始JDK中包含了一個(gè)分析器。JConsole(或者Java平臺(tái)最新版本,VisualVM)是一個(gè)內(nèi)置分析器,它同Java編譯器一樣容易啟動(dòng)。如果是從命令行啟動(dòng),使JDK在PATH上,運(yùn)行jconsole即可。如果從GUIshell啟動(dòng),找到JDK安裝路徑,打開bin文件夾,雙擊jconsole.
   
    當(dāng)分析工具彈出時(shí)(取決于正在運(yùn)行的Java版本以及正在運(yùn)行的Java程序數(shù)量),可能會(huì)出現(xiàn)一個(gè)對(duì)話框,要求輸入一個(gè)進(jìn)程的URL來(lái)連接,也可能列出許多不同的本地Java進(jìn)程(有時(shí)包含JConsole進(jìn)程本身)來(lái)連接。
   
    使用JConsole進(jìn)行工作
   
    在Java 5中,Java進(jìn)程并不是被設(shè)置為默認(rèn)分析的,而是通過(guò)一個(gè)命令行參數(shù)--Dcom.sun.management.jmxremote--在啟動(dòng)時(shí)告訴Java 5 VM打開連接,以便分析器可以找到它們;當(dāng)進(jìn)程被JConsole撿起時(shí),您只能雙擊它開始分析。
   
    分析器有自己的開銷,因此最好的辦法就是花點(diǎn)時(shí)間來(lái)弄清是什么開銷。發(fā)現(xiàn)JConsole開銷最簡(jiǎn)單的辦法是,首先獨(dú)自運(yùn)行一個(gè)應(yīng)用程序,然后在分析器下運(yùn)行,并測(cè)量差異。(應(yīng)用程序不能太大或者太小;我最喜歡使用JDK附帶的SwingSet2樣本。)因此,我使用-verbose:gc嘗試運(yùn)行SwingSet2來(lái)查看垃圾收集清理,然后運(yùn)行同一個(gè)應(yīng)用程序并將JConsole分析器連接到它。當(dāng)JConsole連接好了之后,一個(gè)穩(wěn)定的GC清理流出現(xiàn),否則不會(huì)出現(xiàn)。這就是分析器的性能開銷。
   
    JConsole或VisualVM?
   
    JConsole從Java 5開始就隨著Java平臺(tái)版本一起發(fā)布,而VisualVM是在NetBeans基礎(chǔ)上升級(jí)的一個(gè)分析器,在Java 6的更新版12中第一次發(fā)布。多數(shù)還沒(méi)有更新到Java 6,因此這篇文章主要介紹JConsole.然而,多數(shù)技巧和這兩個(gè)分析器都有關(guān)。
   
    2.遠(yuǎn)程連接進(jìn)程
   
    因?yàn)閃eb應(yīng)用程序分析工具假設(shè)通過(guò)一個(gè)套接字進(jìn)行連通性分析,您只需要進(jìn)行少許配置來(lái)設(shè)置JConsole(或者是基于JVMTI的分析器,就這點(diǎn)而言),監(jiān)控/分析遠(yuǎn)程運(yùn)行的應(yīng)用程序。
   
    如果Tomcat運(yùn)行在一個(gè)名為"webserve"的機(jī)器上,且JVM已經(jīng)啟動(dòng)了JMX并監(jiān)聽(tīng)端口9004,從JConsole(或者任何JMX客戶端)連接它需要一個(gè)JMX URL"service:jmx:rmi:///jndi/rmi://webserver:9004/jmxrmi".
   
    基本上,要分析一個(gè)運(yùn)行在遠(yuǎn)程數(shù)據(jù)中心的應(yīng)用程序服務(wù)器,您所需要的僅僅是一個(gè)JMX URL.
   
    3.跟蹤統(tǒng)計(jì)
   
    JConsole有許多對(duì)收集統(tǒng)計(jì)數(shù)據(jù)有用的選項(xiàng)卡,包括:
   
    ◆Memory:在JVM垃圾收集器中針對(duì)各個(gè)堆跟蹤活動(dòng)。
   
    ◆Threads:在目標(biāo)JVM中檢查當(dāng)前線程活動(dòng)。
   
    ◆Classes:觀察VM已加載類的總數(shù)。
這些選項(xiàng)卡(和相關(guān)的圖表)都是由每個(gè)Java 5及更高版本VM在JMX服務(wù)器上注冊(cè)的JMX對(duì)象提供的,是內(nèi)置到JVM的。一個(gè)給定JVM中可用bean的完整清單在MBeans選項(xiàng)卡上列出,包括一些元數(shù)據(jù)和一個(gè)有限的用戶界面來(lái)查看數(shù)據(jù)或執(zhí)行操作。(然而,注冊(cè)通知是在JConsole用戶界面之外。)
   
    使用統(tǒng)計(jì)數(shù)據(jù)
   
    假設(shè)一個(gè)Tomcat進(jìn)程死于OutOfMemoryError.如果您想要弄清楚發(fā)生了什么,打開JConsole,單擊Classes選項(xiàng)卡,過(guò)一段時(shí)間查看一次類計(jì)數(shù)。如果數(shù)量穩(wěn)定上升,您可以假設(shè)應(yīng)用程序服務(wù)器或者您的代碼某個(gè)地方有一個(gè)ClassLoader漏洞,不久之后將耗盡PermGen空間。如果需要更進(jìn)一步的確認(rèn)問(wèn)題,請(qǐng)看Memory選項(xiàng)卡。
   
    不要成為典型
   
    發(fā)現(xiàn)應(yīng)用程序代碼中性能問(wèn)題的常用響應(yīng)多種多樣,但也是可預(yù)測(cè)的。早期的Java編程人員對(duì)舊的IDE可能十分生氣,并開始進(jìn)行代碼庫(kù)中主要部分的代碼復(fù)查,在源代碼中尋找熟悉的"紅色標(biāo)志",像異步塊、對(duì)象配額等等。隨著編程經(jīng)驗(yàn)的增加,開發(fā)人員可能會(huì)仔細(xì)研究JVM支持的-X標(biāo)志,尋找優(yōu)化垃圾收集器的方法。當(dāng)然,對(duì)于新手,直接去Google查詢,希望有其他人發(fā)現(xiàn)了JVM的神奇的"make it go fast"轉(zhuǎn)換,避免重寫代碼。
   
    從本質(zhì)上來(lái)說(shuō),這些方法沒(méi)什么錯(cuò),但都是有風(fēng)險(xiǎn)的。對(duì)于一個(gè)性能問(wèn)題最有效的響應(yīng)就是使用一個(gè)分析器--現(xiàn)在它們內(nèi)置在Java平臺(tái),我們確實(shí)沒(méi)有理由不這樣做!
 


本文由站河南北大青鳥校區(qū)整編而成,如需了解更多IT資訊類的文章、新聞、課程和學(xué)習(xí)技巧、就業(yè)案例、招生詳情等問(wèn)題,可以對(duì)在線咨詢老師進(jìn)行一對(duì)一問(wèn)答!


分享到: