- 浏览: 3048902 次
- 性别:
- 来自: 海外
文章分类
- 全部博客 (430)
- Programming Languages (23)
- Compiler (20)
- Virtual Machine (57)
- Garbage Collection (4)
- HotSpot VM (26)
- Mono (2)
- SSCLI Rotor (1)
- Harmony (0)
- DLR (19)
- Ruby (28)
- C# (38)
- F# (3)
- Haskell (0)
- Scheme (1)
- Regular Expression (5)
- Python (4)
- ECMAScript (2)
- JavaScript (18)
- ActionScript (7)
- Squirrel (2)
- C (6)
- C++ (10)
- D (2)
- .NET (13)
- Java (86)
- Scala (1)
- Groovy (3)
- Optimization (6)
- Data Structure and Algorithm (3)
- Books (4)
- WPF (1)
- Game Engines (7)
- 吉里吉里 (12)
- UML (1)
- Reverse Engineering (11)
- NSIS (4)
- Utilities (3)
- Design Patterns (1)
- Visual Studio (9)
- Windows 7 (3)
- x86 Assembler (1)
- Android (2)
- School Assignment / Test (6)
- Anti-virus (1)
- REST (1)
- Profiling (1)
- misc (39)
- NetOA (12)
- rant (6)
- anime (5)
- Links (12)
- CLR (7)
- GC (1)
- OpenJDK (2)
- JVM (4)
- KVM (0)
- Rhino (1)
- LINQ (2)
- JScript (0)
- Nashorn (0)
- Dalvik (1)
- DTrace (0)
- LLVM (0)
- MSIL (0)
最新评论
-
mldxs:
虽然很多还是看不懂,写的很好!
虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 -
HanyuKing:
Java的多维数组 -
funnyone:
Java 8的default method与method resolution -
ljs_nogard:
Xamarin workbook - .Net Core 中不 ...
LINQ的恶搞…… -
txm119161336:
allocatestlye1 顺序为 // Fields o ...
最近做的两次Java/JVM分享的概要
新浪微活动页面:http://event.weibo.com/753079
活动内容:
我的演讲的演示稿,《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上发过很多例子。
最简单的启动方式如下:
(在某些系统上可能需要在前面加上sudo以获得足够权限去连接到目标进程上;另外有可能需要进一步设置ptrace_scope的值)
HSDB则是图形界面版的HotSpot调试器。它的启动方式与CLHSDB类似,
HSDB的截屏图:
VisualVM里的SAPlugin实际上就是HSDB里的部分功能的移植版。
JDK捆绑的VisualVM的插件更新源里其实以前是有SAPlugin的。不过某个版本后JDK捆绑版就把SAPlugin从插件列表里去掉了,我现在也不知道是为啥。确实是要手动添加插件源才会看到SAPlugin,或者是直接用stand-alone版的VisualVM。
多谢现场提问!幸好有些互动,不然感觉会好冷,哈哈
活动内容:
引用
活动主题:
会场一 万松书院(偏向应用层):
@琴上的日月:《淘宝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的演示)
会场一 万松书院(偏向应用层):
@琴上的日月:《淘宝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 版本比较低,即使最新的 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 教程写了很多,用来学习是很好了,相信有心的人会受益良多的。
另外需要提醒一个小问题,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 教程写了很多,用来学习是很好了,相信有心的人会受益良多的。
发表评论
-
The Prehistory of Java, HotSpot and Train
2014-06-02 08:18 0http://cs.gmu.edu/cne/itcore/vi ... -
MSJVM and Sun 1.0.x/1.1.x
2014-05-20 18:50 0当年的survey paper: http://www.sym ... -
Sun JDK1.4.2_28有TieredCompilation
2014-05-12 08:48 0原来以前Sun的JDK 1.4.2 update 28就已经有 ... -
IBM JVM notes (2014 ver)
2014-05-11 07:16 0Sovereign JIT http://publib.bou ... -
class data sharing by Apple
2014-03-28 05:17 0class data sharing is implement ... -
Java 8与静态工具类
2014-03-19 08:43 16275以前要在Java里实现所谓“静态工具类”(static uti ... -
Java 8的default method与method resolution
2014-03-19 02:23 10453先看看下面这个代码例子, interface IFoo { ... -
HotSpot Server VM与Server Class Machine
2014-02-18 13:21 0HotSpot VM历来有Client VM与Server V ... -
Java 8的lambda表达式在OpenJDK8中的实现
2014-02-04 12:08 0三月份JDK8就要发布首发了,现在JDK8 release c ... -
GC stack map与deopt stack map的异同
2014-01-08 09:56 0两者之间不并存在包含关系。它们有交集,但也各自有特别的地方。 ... -
HotSpot Server Compiler与data-flow analysis
2014-01-07 17:41 0http://en.wikipedia.org/wiki/Da ... -
基于LLVM实现VM的JIT的一些痛点
2014-01-07 17:25 0同事Philip Reames Sanjoy Das http ... -
tailcall notes
2013-12-27 07:42 0http://blogs.msdn.com/b/clrcode ... -
《自制编程语言》的一些笔记
2013-11-24 00:20 0http://kmaebashi.com/programmer ... -
字符串的一般封装方式的内存布局 (1): 元数据与字符串内容,整体还是分离?
2013-11-07 17:44 22394(Disclaimer:未经许可请 ... -
字符串的一般封装方式的内存布局 (0): 拿在手上的是什么
2013-11-04 18:22 21493(Disclaimer:未经许可请 ... -
字符串的一般封装方式的内存布局
2013-11-01 12:55 0(Disclaimer:未经许可请 ... -
关于string,内存布局,C++ std::string,CoW
2013-10-30 20:45 0(Disclaimer:未经许可请 ... -
对C语义的for循环的基本代码生成模式
2013-10-19 23:12 21874之前有同学在做龙书(第二版)题目,做到8.4的练习,跟我对答案 ... -
Java的instanceof是如何实现的
2013-09-22 16:57 0Java语言规范,Java SE 7版 http://docs ...
相关推荐
setting.xml文件,修改Maven仓库指向至阿里仓
基于java的玉安农副产品销售系统的开题报告
dev-c++ 6.3版本
基于java的项目监管系统开题报告
基于springboot多彩吉安红色旅游网站源码数据库文档.zip
毕业设计&课设_基于 AFLFast 改进能量分配策略的毕业设计项目,含 Mix Schedule策略设计及测试结果分析.zip
基于springboot办公用品管理系统源码数据库文档.zip
C++调用qml对象Demo
非常漂亮的类Web界面的Delphi设计54ed7-main.zip
VB SQL车辆管理系统是一款基于Visual Basic(VB)编程语言和SQL数据库开发的综合车辆管理工具。该系统集成了车辆信息管理、驾驶员信息管理、车辆调度、维修记录、数据存储与检索、报告生成以及安全权限管理等多个核心功能模块。 源代码部分提供了详细的开发流程和实现方法,涵盖了从数据库设计、界面设计到事件驱动编程、数据访问技术和错误处理等关键技术点。通过该系统,用户可以方便地录入、查询、修改和删除车辆及驾驶员信息,实现车辆信息的实时更新和跟踪。同时,系统还支持生成各类车辆管理相关的报告,帮助用户更好地掌握车辆运营情况。 系统部分则采用了直观易用的用户界面设计,使得用户能够轻松上手并快速完成车辆管理工作。系统还具备强大的数据处理能力和安全性,通过数据备份和系统升级优化等功能,确保数据的完整性和系统的稳定运行。 总体而言,VB SQL车辆管理系统是一款功能全面、易于操作且安全可靠的车辆管理工具,适用于企业和个人进行日常车辆运营和管理。无论是车辆信息的录入、查询还是报告生成,该系统都能够提供高效、便捷的服务,是车辆管理工作的理想选择。
AutoSAR基础学习资源
基于springboot英语学习平台源码数据库文档.zip
数据集,深度学习,密封数据集,马体态数据集
基于java的数字家庭网站开题报告
podman使用国内源镜像加速器
基于springboot+web的留守儿童网站源码数据库文档.zip
基于springboot的智能宾馆预定系统源码数据库文档.zip
GetQzonehistory-main.zip
环境说明:开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat 开发软件:eclipse/myeclipse/idea Maven包:Maven 浏览器:谷歌浏览器。 项目经过测试均可完美运行
内容概要:本文档详细介绍了QST公司生产的QMI8A01型号的6轴惯性测量单元的数据表及性能参数。主要内容包括设备特性、操作模式、接口标准(SPI、I2C与I3C),以及各种运动检测原理和技术规格。文中还提到了设备的工作温度范围宽广,内置的大容量FIFO可用于缓冲传感器数据,减少系统功耗。此外,对于器件的安装焊接指导亦有详细介绍。 适合人群:电子工程技术人员、嵌入式开发人员、硬件设计师等。 使用场景及目标:适用于需要精准测量物体空间位置变化的应用场合,如消费电子产品、智能穿戴设备、工业自动化等领域。帮助工程师快速掌握该款IMU的技术要点和应用场景。 其他说明:文档提供了详细的电气连接图表、封装尺寸图解等资料,方便用户进行电路板的设计制作。同时针对特定应用提出了一些优化建议。