`
RednaxelaFX
  • 浏览: 3052858 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论

记GreenTeaJUG第二次线下活动(杭州)

阅读更多
新浪微活动页面:http://event.weibo.com/753079

活动内容:
引用
活动主题:

会场一 万松书院(偏向应用层):
  @琴上的日月:《淘宝WEBOS.面向积木编程.分形架构》(45分钟)
  @淘宝君山:《Velocity的优化》(45分钟)
  @淘宝叔同:《淘宝前台应用性能优化实践》(45分钟)
  @温高铁:《各种API的性能、编码优化技巧》(45分钟)
  剩余时间交流答疑

会场二 三味书屋(偏向底层):
  @MinZhou:《Java程序员也要了解CPU》(1小时)
  @RednaxelaFX:《Intrinsic Methods in HotSpot VM》(1小时)
  @王王争:《让Java的世界能够利用PMU的历史》(1小时)
  剩余时间交流答疑
  (@RednaxelaFX 会做一个关于HotSpot VM Serviceability Agent的演示)


我的演讲的演示稿,《Intrinsic Methods in HotSpot VM》:SlideShare, 新浪微盘
Intrinsic method在别的环境里也叫做built-in function;另外,针对intrinsic method的内联在某些地方也叫做semantic inlining。可以参考
Efficient Support for Complex Numbers in Java, Peng Wu, Sam Midkiff, José Moreira, Manish Gupta, 1999
Improving Java Performance Through Semantic Inlining, Peng Wu, Sam Midkiff, José Moreira, Manish Gupta, 1998
(IBM就喜欢把什么东西都起个新名字安上…
这两篇论文里提到的semantic inlining强调“原本的intrinsic”只对操作进行特化,而semantic inlining则既对操作也对数据(类型)进行特化。实际上为了这差异发明个新名字也就是为了写论文吧…
HotSpot VM里,C2实现的StringBuilder|Buffer.append()的intrinsic在内部也是不构造Java层面的char[]来累加字符串内容,而是在native memory里找块空间来做这事情,跟semantic inlining所说的效果也类似吧。

其他演讲者的演示稿等@坤谷整理好放在这里了:http://yunpan.alibaba.com/share/link/L4OU3zA6

@温高铁:《各种API的性能、编码优化技巧》 新浪微盘

==================================================================

关于HotSpot VM Serviceability Agent的演示



我以前在这ItEye上也写过一些关于HotSpot Serviceability Agent的笔记。
最近大概是这篇:关于sa-jdi.jar与tools.jar里的工具的讨论
以前例如:
2011-06-20: 回复:请问,jvm实现读取class文件常量池信息是怎样呢?
2010-08-05: 借助HotSpot SA来一窥PermGen上的对象
2010-08-04: 借助HotSpot SA来反汇编
2010-08-03: 如何dump出一个Java进程里的类对应的Class文件?

更新:加上新帖:2013-04-16: 借HSDB来探索HotSpot VM的运行时数据

这次做的演示以CLHSDB和HSDB为主。以后有空再写个Serviceability Agent的入门演示稿吧。
如果有兴趣自己基于SA API来写小工具,这里有个我写的基于SA的工具的列表,可以参考:http://rednaxelafx.iteye.com/blog/1814429

CLHSDB是command line HotSpot debugger的缩写,顾名思义是个命令行界面的、专门用于调试HotSpot VM的调试器。
它的用法可以搜一下"rednaxelafx clhsdb"关键字,我在Github gist上发过很多例子。
最简单的启动方式如下:
java -cp $JAVA_HOME/lib/sa-jdi.jar sun.jvm.hotspot.CLHSDB

(在某些系统上可能需要在前面加上sudo以获得足够权限去连接到目标进程上;另外有可能需要进一步设置ptrace_scope的值

HSDB则是图形界面版的HotSpot调试器。它的启动方式与CLHSDB类似,
java -cp $JAVA_HOME/lib/sa-jdi.jar sun.jvm.hotspot.HSDB

HSDB的截屏图:



VisualVM里的SAPlugin实际上就是HSDB里的部分功能的移植版。


分享到:
评论
3 楼 moonese 2013-02-26  
也许是觉得 visualvm 里的 SAPlugin 插件支持不完善就去掉了,我发现如果点第二个看 "Stack Memory..." 的按钮会提示 "Not yet implemented"

应该是多谢分享!
2 楼 RednaxelaFX 2013-02-25  
moonese 写道
我是现场提问说 SAPlugin 装了但没有生效的,是我记错了,可以的,没有问题。

另外需要提醒一个小问题,jdk 自带的 visualvm 版本比较低,即使最新的 jdk 1.7.0u15 的 jvisualvm 的版本也才是 build 120605,插件库里面是没有 SAPlugin 的。

JDK捆绑的VisualVM的插件更新源里其实以前是有SAPlugin的。不过某个版本后JDK捆绑版就把SAPlugin从插件列表里去掉了,我现在也不知道是为啥。确实是要手动添加插件源才会看到SAPlugin,或者是直接用stand-alone版的VisualVM。

多谢现场提问!幸好有些互动,不然感觉会好冷,哈哈
1 楼 moonese 2013-02-25  
我是现场提问说 SAPlugin 装了但没有生效的,是我记错了,可以的,没有问题。

另外需要提醒一个小问题,jdk 自带的 visualvm 版本比较低,即使最新的 jdk 1.7.0u15 的 jvisualvm 的版本也才是 build 120605,插件库里面是没有 SAPlugin 的。

而如果去 http://visualvm.java.net/download.html 这里下载到的 1.3.5 的 visualvm 其 build 是 121105,可选的插件则要多得多,其中就有 SAPlugin (没有中间的杠杠 - )

rednaxelafx 的 SA 教程写了很多,用来学习是很好了,相信有心的人会受益良多的。

相关推荐

    YOLO算法-城市电杆数据集-496张图像带标签-电杆.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    (177406840)JAVA图书管理系统毕业设计(源代码+论文).rar

    JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代

    (35734838)信号与系统实验一实验报告

    内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    YOLO算法-椅子检测故障数据集-300张图像带标签.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    基于小程序的新冠抗原自测平台小程序源代码(java+小程序+mysql+LW).zip

    系统可以提供信息显示和相应服务,其管理新冠抗原自测平台小程序信息,查看新冠抗原自测平台小程序信息,管理新冠抗原自测平台小程序。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具

    YOLO算法-俯视视角草原绵羊检测数据集-4133张图像带标签-羊.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    (171674830)PYQT5+openCV项目实战:微循环仪图片、视频记录和人工对比软件源码

    内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    新建 文本文档.docx

    新建 文本文档.docx

    hw06.zip

    hw06

    3. Kafka入门-安装与基本命令

    3. Kafka入门-安装与基本命令

    燃气管道施工资质和特种设备安装改造维修委托函.docx

    燃气管道施工资质和特种设备安装改造维修委托函.docx

    The state of AI 2024.pdf

    AI大模型研究相关报告

    lab02.zip

    lab02

    Unity视频插件AVPro的Win端2.2.3

    仅供学习使用,其他用途请购买正版资源AVPro Video Core Windows Edition 2.2.3 亲测可用的视频播放插件,能丝滑播放透明视频等.

    建设工程消防验收现场指导意见表.docx

    建设工程消防验收现场指导意见表.docx

    MVIMG_20241222_194113.jpg

    MVIMG_20241222_194113.jpg

    五相电机双闭环矢量控制模型-采用邻近四矢量SVPWM-MATLAB-Simulink仿真模型包括: (1)原理说明文档(重要):包括扇区判断、矢量作用时间计算、矢量作用顺序及切时间计算、PWM波的生成

    五相电机双闭环矢量控制模型_采用邻近四矢量SVPWM_MATLAB_Simulink仿真模型包括: (1)原理说明文档(重要):包括扇区判断、矢量作用时间计算、矢量作用顺序及切时间计算、PWM波的生成; (2)输出部分仿真波形及仿真说明文档; (3)完整版仿真模型:包括邻近四矢量SVPWM模型和完整双闭环矢量控制Simulink模型; 资料介绍过程十分详细,零基础手把手教学,资料已经写的很清楚

    YOLO算法-锡罐-牙罐-盖子打开数据集-179张图像带标签-锡罐-牙罐-盖子打开.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    java毕设项目之ssm基于JSP的乡镇自来水收费系统+jsp(完整前后端+说明文档+mysql+lw).zip

    项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7

Global site tag (gtag.js) - Google Analytics