亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Java SE 6在Solaris的可觀察性特征分析

2019-11-18 11:35:13
字體:
來源:轉載
供稿:網友

  java平臺標準版(Java SE)6,代碼名為"Mustang",是最新的Java SE發行版本(正在開發中)。Java SE 6源碼和二進制代碼都可以在www.Java.net上下載。Java SE 6平臺要到2006年秋天才能正式發布。不過,現在你可以下載試用Java SE 6 Beta版。

  Java SE 6平臺中提供了多種可觀察性(observability)工具,這其中的許多工具都可在系統中運行,而這些工具中的只有極少數被用于掛起進程或核心復制處理。因此,在本文中,我們將分析這些可觀察性工具在進程上的效果。

  一、 在Java SE 6平臺中的可觀察性工具-DTrace

  在Java SE 6軟件中又引入了許多可觀察性改進功能。盡管其中大多數可適用于所有的平臺,但是其中的一些改進僅是特定于Solaris操作系統(非凡針對Solaris 10及更高版本)的。在J2SE 5.0平臺中,引入了一種新的動態跟蹤(DTrace)行為——Jstack。正如我們已經了解的,Jstack能夠打印混合模式堆棧跟蹤信息(Java和本機C/C++語言是以幀方式顯示的)。當從一個給定的Java進程中發出pollsys系統調用時,下列D腳本將輸出對混合模式堆棧的跟蹤信息:

#!/usr/sbin/dtrace -s
syscall::pollsys:entry
/ pid == $1 / {
/*打印至多50幀*/
jstack(50);
}
  下面是上面腳本的運行結果:

libc.so.1`__pollsys+0xa
libc.so.1`poll+0x52
libjvm.so`int os_sleep(long long,int)+0xb4
libjvm.so`int os::sleep(Thread*,long long,int)+0x1ce
libjvm.so`JVM_Sleep+0x1bc
java/lang/Thread.sleep
dtest.method3
dtest.method2
dtest.method1
dtest.main
[...篇幅所限,刪去了一些輸出結果...]
  其實,Jstack就是Java可觀察性在Solaris 10 OS及以上版本中的一個很有用的起點。但是,Java SE 6中遠不止這些,它新增加了許多針對Java虛擬機(JVM)可觀察性和Java應用程序可觀察性的Dtrace PRobe。Java SE 6發行中增加兩種JVM特定的DTrace提供者-hotspot和hotspot_jni。

  二、 hotspot提供者

  hotspot提供者增加了許多探針,它們可以大致地作如下分類:

  · VM生命周期探針-VM啟動,關閉事件

  · 線程生命周期探針-線程啟動,停止,等等

  · 類加載探針-一個Java類加載或卸載

  · 垃圾收集探針-GC啟動,結束

  · 方法編譯探針-Java字節碼-到-本機代碼編譯("hotspot編譯")

  · 監視器探針-Java監視競爭性入口,通知,通知全部,等等

  · 應用程序探針-Java對象分配,Java方法入口/返回,等等

  有關于這些探針的更為具體的信息,請參考Keith McGuigan的博客。下面是使用這些探針的一些示例。

  (一) 打印Java線程的名稱

hotspot$1:::thread-start {
self->ptr = (char*) copyin(arg0, arg1+1);
self->ptr[arg1] = '/0';
self->threadname = (string) self->ptr;
printf("Thread %s started/n", self->threadname);
}

  (二) 在D腳本中的-verbose:class等價物

  你可能已經使用過-verbose:class JVM選項。當一個Java類加載或卸載時,這個選項能夠使JVM打印一個跟蹤消息。下面是使用Dtrace得到相同結果的情況:

/*當每個類加載時,打印出其各自的名稱*/
hotspot$1:::class-loaded {
self->str_ptr = (char*) copyin(arg0, arg1+1);
self->str_ptr[arg1] = '/0';
self->name = (string) self->str_ptr;
printf("class %s loaded/n", self->name);
}
  (三) 打印異常中的棧跟蹤信息(除了混合模式)

  Throwable.printStackTrace()方法打印一個包含Java幀的堆棧跟蹤。這個D腳本將打印Java代碼,Java本機接口(JNI)代碼,C/C++代碼以及OS C/C++代碼的所有的幀-無論何時引發一個例外。

hotspot$1:::method-entry {
 self->ptr = (char*)copyin(arg1, arg2+1);
 self->ptr[arg2] = '/0';
 self->classname = (string)self->ptr;
 self->ptr = (char*)copyin(arg3, arg4+1);
 self->ptr[arg4] = '/0';
 self->methodname = (string)self->ptr;
}
hotspot$1:::method-entry
/ self->classname == "java/lang/Throwable" && self->methodname == "<init>" / {
 jstack();
}
  在Java代碼中的所有的異常和錯誤都直接或間接地派生自java.lang.Throwable,因此所有的異常構造器最后都將調用java.lang.Throwable的構造器。這個D腳本建立一個方法入口探針-使用一個針對該構造器的過濾器(注重,<init>是構造器方法的內部名)。當調用這個構造器時,jstack()行為將打印混合模式堆棧跟蹤。

  (四) Java堆直方圖

  我們可以使用object-alloc探針來構建一個Java堆直方圖,如下所示:



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产91精品久| 亚洲国产精品一区二区久| www国产91| 久久精品成人欧美大片古装| 国产一区二区激情| 精品久久久久久久久国产字幕| 色樱桃影院亚洲精品影院| 日韩欧美高清在线视频| 亚洲视频欧美视频| 久久久国产精品视频| 日本视频久久久| 国模视频一区二区| 国产精品一二三在线| 韩国三级电影久久久久久| 亚洲欧美日韩国产精品| 欧美激情精品久久久久久变态| 日韩精品极品毛片系列视频| 亚洲国产成人在线视频| 久久综合五月天| 亚洲免费视频网站| 亚洲自拍欧美另类| 国产精品一区电影| 国产精品h片在线播放| 国产精品久久久久久久久久久久久久| 亚洲毛片在线看| 在线色欧美三级视频| 日韩av在线免费播放| 日韩欧美在线一区| 黑人巨大精品欧美一区二区免费| 992tv成人免费视频| 伦伦影院午夜日韩欧美限制| 伊人久久精品视频| 久久久精品一区二区| 亚洲一区二区三区sesese| 热久久这里只有精品| 九九热精品视频国产| 国产精品视频一区二区高潮| 国产在线观看精品一区二区三区| 欧美激情视频在线免费观看 欧美视频免费一| 成人动漫网站在线观看| 久久久久成人网| 久久色免费在线视频| 亚洲欧美日韩区| 欧美香蕉大胸在线视频观看| 国产成人在线视频| 国产精品欧美激情| 日本一区二区不卡| 97精品久久久中文字幕免费| 51视频国产精品一区二区| 97国产一区二区精品久久呦| 九九九久久久久久| 日韩精品中文字幕在线播放| 2019中文字幕全在线观看| 久久99视频免费| 成人免费在线网址| 欧美精品www| 日韩中文字幕网址| 国产精品入口日韩视频大尺度| 成人午夜激情网| 亚洲最大激情中文字幕| 久久这里有精品视频| 日韩av日韩在线观看| 狠狠久久五月精品中文字幕| 国产精品日韩欧美综合| 欧美激情国产精品| 国产精品麻豆va在线播放| 欧美极品少妇xxxxx| 亚洲伊人第一页| 亚洲国产精彩中文乱码av在线播放| 中文字幕综合在线| 国产亚洲美女精品久久久| 美女性感视频久久久| 国产精品青草久久久久福利99| 97色在线观看免费视频| 亚洲xxxx视频| 亚洲缚视频在线观看| 欧美日韩加勒比精品一区| 久久99精品国产99久久6尤物| 国产日韩欧美夫妻视频在线观看| 国产精品视频资源| 亚洲天堂男人天堂| 国产精品久久久久久久久久久新郎| 成人精品视频在线| 97超碰色婷婷| 欧美在线性爱视频| 亚洲国产成人久久| 日韩精品在线免费观看视频| 精品美女国产在线| 欧美俄罗斯性视频| 国产在线播放不卡| 久久精品色欧美aⅴ一区二区| 色综合天天狠天天透天天伊人| 欧美日韩视频在线| 91久久久久久| 色爱精品视频一区| 亲子乱一区二区三区电影| 亚洲成色777777女色窝| 久久777国产线看观看精品| 亚洲在线www| 国产精品亚洲аv天堂网| 欧美激情高清视频| 精品亚洲一区二区三区在线观看| 国产精品偷伦视频免费观看国产| 久久的精品视频| 亚洲国产精久久久久久久| 搡老女人一区二区三区视频tv| 精品国产拍在线观看| 欧美在线观看网址综合| 狠狠色噜噜狠狠狠狠97| 91亚洲国产成人精品性色| 日本国产一区二区三区| 国产日本欧美一区二区三区在线| 国产男女猛烈无遮挡91| 黄色成人av网| 国产视频观看一区| 欧美激情在线视频二区| 日韩欧美福利视频| 色樱桃影院亚洲精品影院| 久久这里只有精品视频首页| 中文字幕免费精品一区| 国内精品久久久久久| 国产精品h片在线播放| 国产精品青青在线观看爽香蕉| 国产精品久久久久免费a∨| 久久久久久一区二区三区| 欧美日韩免费在线| 欧美成人国产va精品日本一级| 亚洲一区二区在线播放| 欧美精品一本久久男人的天堂| 中文字幕在线日韩| 欧美黄色免费网站| 精品久久久精品| 国产精品久久久久久久久久免费| 亚洲欧美三级在线| 日韩av电影国产| 精品高清一区二区三区| 欧美日韩福利在线观看| 九九热这里只有精品免费看| 国产精品久久久久久久一区探花| 亚洲午夜性刺激影院| 亚洲欧洲日韩国产| 色综合久久88| 97精品在线视频| 91网在线免费观看| 精品久久国产精品| 欧美激情三级免费| 色综合久久天天综线观看| 国产mv久久久| 91wwwcom在线观看| 97国产suv精品一区二区62| 国产精品海角社区在线观看| 国产91色在线播放| 国产z一区二区三区| 久久综合国产精品台湾中文娱乐网| 欧美激情在线视频二区| 亚洲色图五月天| 精品久久久中文| 91精品国产777在线观看| 亚洲最大av在线| 国产成人啪精品视频免费网| 久久久久久久久久久久久久久久久久av| 国产精品一区久久久| 日本成人精品在线| 中文字幕日本精品|