- 浏览: 3052560 次
- 性别:
- 来自: 海外
文章分类
- 全部博客 (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分享的概要
最近我发blog的密度似乎比较低?其实写了不少东西,不过很多英文的所以没发在ItEye上而已。如果有关注置顶的VM帖目录可能会留意到我最近在别的地方发过的东西。
Anyway,单独发一帖来让有兴趣的人能留意到那些链接:
2011-08-24: About PrintCompilation
2011-08-09: A failed attempt to add Phi::exact_type() to C1
2011-07-27: Number of CMS collections and the JMM GC counters
2011-07-14: 分析一个由并发访问HashMap.get()导致无限循环的问题
2011-07-13: 回复:分析一个抛局部异常的微型测试代码
2011-07-06: Inconsistency between -Xss and -XX:ThreadStackSize in the java launcher
呵呵,可以到[urlhttp://hllvm.group.iteye.com/高级语言虚拟机群组[/url]去问的,相信关注那个群组的人也有了解这些内容的 (^_^) 我有可能一忙会漏看东西⋯⋯
针对这个问题的话,你关心的代码其实并不在main方法里,而是在别的地方对吧?所以其实并不需要关注premain。类改写是可以在某个类已经加载之后进行的,可以做redefine或者retransform。限制是只能改变类的方法体而不能改变类的结构(包括继承关系、实现的接口、成员的名字个数类型等等)。
你的实际需求是怎样的呢?——请到上面提到的高级语言虚拟机群组开帖吧
Anyway,单独发一帖来让有兴趣的人能留意到那些链接:
2011-08-24: About PrintCompilation
2011-08-09: A failed attempt to add Phi::exact_type() to C1
2011-07-27: Number of CMS collections and the JMM GC counters
2011-07-14: 分析一个由并发访问HashMap.get()导致无限循环的问题
2011-07-13: 回复:分析一个抛局部异常的微型测试代码
2011-07-06: Inconsistency between -Xss and -XX:ThreadStackSize in the java launcher
评论
3 楼
daly1987
2011-09-01
谢了,我在发个帖子问问,晚上又仔细看了一眼JDK,发现网上说的不尽其然,很多都是人云亦云。
我目前做类似于AOP的操作,就是对关注的方法进行时间统计。
我参考的是IBM上相应JavaAgent文章写的,但是加上了try。catch语句防止引起异常,导致应用失败。
主要是针对J2EE应用,我发现通过片tranform方法确实能在加载类时候添加方法片段譬如统计关注的DAO方法执行时间、或者关注的Servlet执行时间,但是对于JSP,如果你不是预编译的话,一般都是第一次访问才进行编译吧,这时候Web服务器肯定已经启动了。
因此,这就有点让人不明白了,我写的Transformer能够对其进行添加方法片段。
我本身也是由于工作需要,才涉足这里,通过1周学习,大体上对字节码的生成,ASM、BCEL有了大致的感悟,就是在这块有些疑惑。
google了以下,关于这个内容几乎没有,就是在sun的论坛上有人问过,可就是没人回答
我目前做类似于AOP的操作,就是对关注的方法进行时间统计。
我参考的是IBM上相应JavaAgent文章写的,但是加上了try。catch语句防止引起异常,导致应用失败。
主要是针对J2EE应用,我发现通过片tranform方法确实能在加载类时候添加方法片段譬如统计关注的DAO方法执行时间、或者关注的Servlet执行时间,但是对于JSP,如果你不是预编译的话,一般都是第一次访问才进行编译吧,这时候Web服务器肯定已经启动了。
因此,这就有点让人不明白了,我写的Transformer能够对其进行添加方法片段。
我本身也是由于工作需要,才涉足这里,通过1周学习,大体上对字节码的生成,ASM、BCEL有了大致的感悟,就是在这块有些疑惑。
google了以下,关于这个内容几乎没有,就是在sun的论坛上有人问过,可就是没人回答
2 楼
RednaxelaFX
2011-09-01
daly1987 写道
借您宝地问个问题,呵呵,希望能帮忙或者能帮着指引一下。
JavaAgent,按照JDK说法,在调用main之前调用premain,可以调用ClassFileTranform接口,进行字节码修改,这个网上的成熟例子比较多了。
最近我在做这个的时候,发现对于JSP的访问,也可以。但是在Web容器里面,对JSP访问都是在Web服务器启动后了,这时候怎么JavaAgent还能起作用呢?
望大拿帮忙分析一下。
JavaAgent,按照JDK说法,在调用main之前调用premain,可以调用ClassFileTranform接口,进行字节码修改,这个网上的成熟例子比较多了。
最近我在做这个的时候,发现对于JSP的访问,也可以。但是在Web容器里面,对JSP访问都是在Web服务器启动后了,这时候怎么JavaAgent还能起作用呢?
望大拿帮忙分析一下。
呵呵,可以到[urlhttp://hllvm.group.iteye.com/高级语言虚拟机群组[/url]去问的,相信关注那个群组的人也有了解这些内容的 (^_^) 我有可能一忙会漏看东西⋯⋯
针对这个问题的话,你关心的代码其实并不在main方法里,而是在别的地方对吧?所以其实并不需要关注premain。类改写是可以在某个类已经加载之后进行的,可以做redefine或者retransform。限制是只能改变类的方法体而不能改变类的结构(包括继承关系、实现的接口、成员的名字个数类型等等)。
你的实际需求是怎样的呢?——请到上面提到的高级语言虚拟机群组开帖吧
1 楼
daly1987
2011-09-01
借您宝地问个问题,呵呵,希望能帮忙或者能帮着指引一下。
JavaAgent,按照JDK说法,在调用main之前调用premain,可以调用ClassFileTranform接口,进行字节码修改,这个网上的成熟例子比较多了。
最近我在做这个的时候,发现对于JSP的访问,也可以。但是在Web容器里面,对JSP访问都是在Web服务器启动后了,这时候怎么JavaAgent还能起作用呢?
望大拿帮忙分析一下。
JavaAgent,按照JDK说法,在调用main之前调用premain,可以调用ClassFileTranform接口,进行字节码修改,这个网上的成熟例子比较多了。
最近我在做这个的时候,发现对于JSP的访问,也可以。但是在Web容器里面,对JSP访问都是在Web服务器启动后了,这时候怎么JavaAgent还能起作用呢?
望大拿帮忙分析一下。
发表评论
-
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 16290以前要在Java里实现所谓“静态工具类”(static uti ... -
Java 8的default method与method resolution
2014-03-19 02:23 10465先看看下面这个代码例子, 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 22408(Disclaimer:未经许可请 ... -
字符串的一般封装方式的内存布局 (0): 拿在手上的是什么
2013-11-04 18:22 21508(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 21884之前有同学在做龙书(第二版)题目,做到8.4的练习,跟我对答案 ... -
Java的instanceof是如何实现的
2013-09-22 16:57 0Java语言规范,Java SE 7版 http://docs ...
相关推荐
压缩包中的"圆体.jpg"可能包含了一些展示圆体书法的范例,供学习者参考和模仿。 意大利体,又称斜体或Italic,是另一种广受欢迎的英文书法风格。它源自15世纪的意大利,由乔万尼·皮昂布诺内西(Giovanni Bembo)等...
此外,这样的练习帖往往包含了一些趣味性的元素,比如字母形状的填色页、寻找不同游戏或与字母相关的简短故事,这些元素极大地丰富了学习内容,使得学习过程更加轻松有趣。通过这些有趣的学习方式,不仅能够吸引儿童...
一些英文写作的语言技巧总结一些英文写作的语言技巧总结
一些英文名字及含义.pdf
以下是一些常见的菜单项及其对应的中英文解释: 1. **File(文件)**: - New(新建):创建新的设计项目。 - Open(打开):打开已有的设计文件。 - Save(保存):保存当前的设计。 - Save As(另存为):将...
通信原理的一些习题英文的,对大家看外国的资料有很大的帮助!
在深入了解这两个方法之前,我们首先需要了解一些基本的概念: - **Unicode**: 一种国际标准的字符集,用于处理世界上所有语言的文字。 - **ASCII**: 一种早期的字符编码方式,仅支持英文和其他拉丁文字。 - **UTF-8...
关于热力学的一些知识,英文课本,比较的优秀的外文教材
本软件和大人都能用来取英文名,对于宝宝的英文名,建议发音简单些,不超过2个音节,也就是名字要求长度设置得短一些,3-7左右,大人则无限制。现在大多数幼儿园都要求取好英文名,到了小学,那是必须取了 ,不如早...
在网络中常用的一些英文缩写及解释 网络 简称 工程师 英语 缩写 网络 简称 工程师 英语 缩写
最近做国家化,涉及国家省市中英文,下载的excel表格,发到数据库修修改改可以用了
一些英文审稿意见与回复的模板.doc
java 中文字转为英文java 中文字转为英文java 中文字转为英文
"java实现英文文档分词" 本资源摘要信息主要关注java实现英文文档分词的知识点, 涵盖文档读取、分词、词频统计、结果输出等方面的内容。 一、 文档读取 在该实验中,使用java的BufferedReader类来读取文档,读取...
从给定的文件信息中,可以提取出以下关于数学分析英文版教材的知识点: 首先,教材的标题为“数学分析英文版教材”,这表明它是一本以英文编写的专业教科书,专门针对数学分析这一主题。数学分析是大学数学系本科...
金山英文写作助手就是一款为英文写作人士精心打造的实用工具,它具有自动弹出英文全拼、检查拼写错误等功能,源自于著名的金山词霸和金山快译,其功能和便捷性得到了广大用户的认可与好评。 该助手的核心优势在于其...
在C#编程中,进行中英文转换是一项常见的需求,特别是在开发多语言支持的应用程序时。本文将深入探讨如何在C#环境中实现这一功能,并提供一个实际的案例。 首先,我们需要理解的是,中英文转换主要涉及字符编码的...