- 浏览: 3048940 次
- 性别:
- 来自: 海外
文章分类
- 全部博客 (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分享的概要
上周六参加程序员圆桌会议第二期--关于JVM的那些事的活动,做了一次“简略”的分享……
对里面的每个知识点来说都确实是相当简略,但我太贪心了,想一口气把相关的内容多说一些,结果没控制住时间,不小心连着废话了4个小时……
期待以后能听到校长和毕玄本来要在这次活动做的分享~
Anyway,那4个小时的内容有现场录像,毕玄老大已经将视频上传,并在他的博客放出,地址是:杭州程序员圆桌交流第二期视频
现在视频文件的有效链接是:
Part I
Part II
Part III
Part IV
Part V
Part VI
(国内的同学打不开的话请自备梯子喔)
现场的讲解过程中有些口误的状况,主要原因当然是我水平有限。各位同学如果发现错误的话请积极反馈哦~
仍在不断演化中的那演示稿可以在这里的附件下载到。没有JavaEye帐号的同学可以从115网盘下载:http://u.115.com/file/t03916e70a
其中有几张GIF图在转成PDF后就变静态了,可以到我这边的原帖去看相应的图。
演示稿中有很多地方还是空白的……觉得有些概念还是画个图来比较容易解释,但画出能清晰解释概念的图也挺烧时间的,所以很抱歉,只能把现在“as-is”的稿发出来了。
真正有意思的我觉得不是我写的字,是演示稿里嵌的链接;可以把这个演示稿看成资料堆的粘合剂之类的 >_<
另外这演示稿与其说是为做presentation用还不如说是资料的一顿乱堆……以后要是再有机会做presentation的话得从里面抽出确定的主题出来精简下才行 T T
===============================================================
这次分享的主题是Java程序的执行。以Sun JDK的实现为例,从Java语言的源码开始,通过源码级编译器(javac)编译为Class文件,再由底下的JVM来执行;其中JVM在概念上是怎样的,HotSpot VM是一个怎样的JVM,为“执行程序”提供了怎样的运行时支持,解释器与JIT编译器各自又是怎样的。内容可能有点分散、冗长、在某些点过于钻到细节里。请各位有耐心阅读演示稿的同学在遇到觉得不清晰、或是觉得有错误的地方时不啬指点一下,让我们能共同学习进步 ^_^
更新:
新版本请在另一帖的附件里下载:Java虚拟机分享演示稿2010-12-28版
我是用FireWorks做多帧PNG然后导出为GIF的。每帧都是人肉做的嗯,方法很土鳖 =_=
如果是有些页只有标题下面没东西的话,那些是原本就还没写完的地方……也就是TODO/FIXME
有兴趣的话我可以发原始PPTX给你 ^_^ 可惜最近都没怎么添加内容进去。
同感,后面都没有看了,不知道在前面提到的一个可以嵌入“注解解释器”还是什么来着,后面的视频有没有提到怎么嵌入,这个还估计还能玩一玩。。。
呃,那么夸张……抱歉哈,确实不是所有内容都“实用”的。本来应该跳着看的,挑自己感兴趣的看了就OK。
对主要写Java应用的程序员来说,JVM本身就是个良好的抽象层,本意就是屏蔽过多早“噪音”,让程序员能安心的实现业务逻辑。换句话说那底下是怎么实现的,本身并不是一般工作上会需要特别关注的地方。
大概……我只是想出点力气,把实现方式总结出来,去对冲掉一些对JVM“实现”方面的误解吧,例如说“局部变量在循环内定义比在循环外定义多耗内存”之类的。本来这种内容就已经穿过JVM的抽象层而试图向更接近底层的方向去探,所以如果停留在JVM抽象层以上来分析的话就会有问题。
我是觉得这种本来就不需要Java程序员去关心的部分,跟工作没关系的话不去碰就是最好了,不然留下错误的印象反而不好。
经常被老大说我在错误的地方花费了过多精力。我承认也同意在现在的工作上是这样的。所以说那视频……原本兴趣不大的话,全部看完确实是比较浪费时间的,而且很多问题也没说清楚。抱歉了哈 <(_ _)>
对里面的每个知识点来说都确实是相当简略,但我太贪心了,想一口气把相关的内容多说一些,结果没控制住时间,不小心连着废话了4个小时……
期待以后能听到校长和毕玄本来要在这次活动做的分享~
Anyway,那4个小时的内容有现场录像,毕玄老大已经将视频上传,并在他的博客放出,地址是:杭州程序员圆桌交流第二期视频
现在视频文件的有效链接是:
Part I
Part II
Part III
Part IV
Part V
Part VI
(国内的同学打不开的话请自备梯子喔)
现场的讲解过程中有些口误的状况,主要原因当然是我水平有限。各位同学如果发现错误的话请积极反馈哦~
仍在不断演化中的那演示稿可以在这里的附件下载到。没有JavaEye帐号的同学可以从115网盘下载:http://u.115.com/file/t03916e70a
其中有几张GIF图在转成PDF后就变静态了,可以到我这边的原帖去看相应的图。
演示稿中有很多地方还是空白的……觉得有些概念还是画个图来比较容易解释,但画出能清晰解释概念的图也挺烧时间的,所以很抱歉,只能把现在“as-is”的稿发出来了。
真正有意思的我觉得不是我写的字,是演示稿里嵌的链接;可以把这个演示稿看成资料堆的粘合剂之类的 >_<
另外这演示稿与其说是为做presentation用还不如说是资料的一顿乱堆……以后要是再有机会做presentation的话得从里面抽出确定的主题出来精简下才行 T T
===============================================================
这次分享的主题是Java程序的执行。以Sun JDK的实现为例,从Java语言的源码开始,通过源码级编译器(javac)编译为Class文件,再由底下的JVM来执行;其中JVM在概念上是怎样的,HotSpot VM是一个怎样的JVM,为“执行程序”提供了怎样的运行时支持,解释器与JIT编译器各自又是怎样的。内容可能有点分散、冗长、在某些点过于钻到细节里。请各位有耐心阅读演示稿的同学在遇到觉得不清晰、或是觉得有错误的地方时不啬指点一下,让我们能共同学习进步 ^_^
更新:
新版本请在另一帖的附件里下载:Java虚拟机分享演示稿2010-12-28版
评论
33 楼
RednaxelaFX
2011-12-10
ydpiaoyun 写道
gif图片是怎么做的啊
我是用FireWorks做多帧PNG然后导出为GIF的。每帧都是人肉做的嗯,方法很土鳖 =_=
32 楼
ydpiaoyun
2011-12-09
gif图片是怎么做的啊
31 楼
dollordoll
2011-08-27
谢谢分享 学习了
30 楼
0704681032
2011-01-06
很好的资料,就是水平不够,到后来就听不懂了...
29 楼
arcko
2011-01-04
杭州西湖好风光
28 楼
dplead
2010-11-28
RednaxelaFX好厉害,我这阵子也在学习这方面相关的知识,谢谢共享
27 楼
kingsvinus
2010-08-24
请问
杭州程序员圆桌交流第三期:GC Tuning Case
的视频在哪里下载呀?
u115网盘不能下了。谢谢了。
杭州程序员圆桌交流第三期:GC Tuning Case
的视频在哪里下载呀?
u115网盘不能下了。谢谢了。
26 楼
copy
2010-06-30
看了一下挺好的
本人菜鸟
虽然有的东西没听过
但大体不影响
本人菜鸟
虽然有的东西没听过
但大体不影响
25 楼
lurker0
2010-06-23
PDF内容好多啊 再展开一下都可以写书了
24 楼
RednaxelaFX
2010-06-02
ZangXT 写道
先谢谢博主提供这么有价值的分析、学习资料。
pdf文件中好像有些图片显示不出来。
pdf文件中好像有些图片显示不出来。
如果是有些页只有标题下面没东西的话,那些是原本就还没写完的地方……也就是TODO/FIXME
有兴趣的话我可以发原始PPTX给你 ^_^ 可惜最近都没怎么添加内容进去。
23 楼
ZangXT
2010-06-02
先谢谢博主提供这么有价值的分析、学习资料。
pdf文件中好像有些图片显示不出来。
pdf文件中好像有些图片显示不出来。
22 楼
lgdlgd
2010-05-31
sesame 写道
经老大要求,看那长长的4个小时视频,化了我整整1下午时间。前面100页PPT还听的懂,能理解,感觉有用;后面100页感觉和java程序的工作实在是没有联系,看不下去。大家觉得如何?
同感,后面都没有看了,不知道在前面提到的一个可以嵌入“注解解释器”还是什么来着,后面的视频有没有提到怎么嵌入,这个还估计还能玩一玩。。。
21 楼
RednaxelaFX
2010-05-30
sesame 写道
经老大要求,看那长长的4个小时视频,化了我整整1下午时间。前面100页PPT还听的懂,能理解,感觉有用;后面100页感觉和java程序的工作实在是没有联系,看不下去。大家觉得如何?
呃,那么夸张……抱歉哈,确实不是所有内容都“实用”的。本来应该跳着看的,挑自己感兴趣的看了就OK。
对主要写Java应用的程序员来说,JVM本身就是个良好的抽象层,本意就是屏蔽过多早“噪音”,让程序员能安心的实现业务逻辑。换句话说那底下是怎么实现的,本身并不是一般工作上会需要特别关注的地方。
大概……我只是想出点力气,把实现方式总结出来,去对冲掉一些对JVM“实现”方面的误解吧,例如说“局部变量在循环内定义比在循环外定义多耗内存”之类的。本来这种内容就已经穿过JVM的抽象层而试图向更接近底层的方向去探,所以如果停留在JVM抽象层以上来分析的话就会有问题。
我是觉得这种本来就不需要Java程序员去关心的部分,跟工作没关系的话不去碰就是最好了,不然留下错误的印象反而不好。
经常被老大说我在错误的地方花费了过多精力。我承认也同意在现在的工作上是这样的。所以说那视频……原本兴趣不大的话,全部看完确实是比较浪费时间的,而且很多问题也没说清楚。抱歉了哈 <(_ _)>
20 楼
sesame
2010-05-29
经老大要求,看那长长的4个小时视频,化了我整整1下午时间。前面100页PPT还听的懂,能理解,感觉有用;后面100页感觉和java程序的工作实在是没有联系,看不下去。大家觉得如何?
19 楼
ssooss
2010-05-10
各位都是大大,咱实在是看不懂
18 楼
wujiazhao88
2010-05-05
从毕玄的博客上看到的,特意过来看,果然是好分享啊。谢啦兄弟!
17 楼
landslide
2010-05-04
感谢分享~
16 楼
xiaolongfeixiang
2010-05-04
非常感谢你们的无私奉献!!
15 楼
lbfhappy
2010-05-04
<p>如果视频下载不了的,可以到如下地址下载,我已经上传到我的QQ中转站去了。<br>不知道QQ中转站可以被下载多少次,如果下载不了的,可以发email给我(hadeslee#vip.qq.com),我再发给你们。<br>感谢楼主对知识的无私奉献。<br><br>1,<span style="font-family: 'lucida Grande', Verdana; color: #8396b7; line-height: 19px;">(提取码 ca938849)</span><br><a href="http://mail.qq.com/cgi-bin/ftnExs_download?k=2a613933329b9fcb754d4a321e380616010709550a0f010a4e510e000a15005b5754145209080c1405505856000f570f5a020805382c3474513409030b0f05143a0e4c674d5a5117050d4f337f&t=exs_ftn_download&code=ca938849" target="_blank">http://mail.qq.com/cgi-bin/ftnExs_download?k=2a613933329b9fcb754d4a321e380616010709550a0f010a4e510e000a15005b5754145209080c1405505856000f570f5a020805382c3474513409030b0f05143a0e4c674d5a5117050d4f337f&t=exs_ftn_download&code=ca938849</a><br><br>2,<span style="font-family: 'lucida Grande', Verdana; color: #8396b7; line-height: 19px;">(提取码 6e0e947f)</span><br><a href="http://mail.qq.com/cgi-bin/ftnExs_download?k=7f65306595079b94204943641f3405490e560355585601571b01565c0819035501571d5c0e56024b5206535d0b5254045003005d3920372b043000550a03054b6f0a45314c565248500946657e&t=exs_ftn_download&code=6e0e947f" target="_blank">http://mail.qq.com/cgi-bin/ftnExs_download?k=7f65306595079b94204943641f3405490e560355585601571b01565c0819035501571d5c0e56024b5206535d0b5254045003005d3920372b043000550a03054b6f0a45314c565248500946657e&t=exs_ftn_download&code=6e0e947f<br></a><br>3,<span style="font-family: 'lucida Grande', Verdana; color: #8396b7; line-height: 19px;">(提取码 6a83e9d8)</span><br><a href="http://mail.qq.com/cgi-bin/ftnExs_download?k=7f613833c968d5ca204d4b324339561753580156520f53081b030d00511450010403150a5209521552020e005258010106575b56652d647504340803560e57156f0e4d67105b0116500d4e3322&t=exs_ftn_download&code=6a83e9d8" target="_blank">http://mail.qq.com/cgi-bin/ftnExs_download?k=7f613833c968d5ca204d4b324339561753580156520f53081b030d00511450010403150a5209521552020e005258010106575b56652d647504340803560e57156f0e4d67105b0116500d4e3322&t=exs_ftn_download&code=6a83e9d8</a><br><br>4,<span style="font-family: 'lucida Grande', Verdana; color: #8396b7; line-height: 19px;">(提取码 8ac6dc78)</span><br><a href="http://mail.qq.com/cgi-bin/ftnExs_download?k=7161633687f09cca2e4d1037426305170b0305555454065915520706024e030e5e034e0e075506150e5902075d54525d0f565a57647737750a34530657540315610e1662110152165e0d153623&t=exs_ftn_download&code=8ac6dc78" target="_blank">http://mail.qq.com/cgi-bin/ftnExs_download?k=7161633687f09cca2e4d1037426305170b0305555454065915520706024e030e5e034e0e075506150e5902075d54525d0f565a57647737750a34530657540315610e1662110152165e0d153623&t=exs_ftn_download&code=8ac6dc78<br></a><br>5,<span style="font-family: 'lucida Grande', Verdana; color: #8396b7; line-height: 19px;">(提取码 04bfb1fe)</span><br><a href="http://mail.qq.com/cgi-bin/ftnExs_download?k=79346266bc05b691261811674431544a010d54575a0154541d030103511c520403504f5e5b0853485556560350075f5306555051622566280261525651065348695b17321753034b5658146625&t=exs_ftn_download&code=04bfb1fe" target="_blank">http://mail.qq.com/cgi-bin/ftnExs_download?k=79346266bc05b691261811674431544a010d54575a0154541d030103511c520403504f5e5b0853485556560350075f5306555051622566280261525651065348695b17321753034b5658146625&t=exs_ftn_download&code=04bfb1fe<br></a><br>6,<span style="font-family: 'lucida Grande', Verdana; color: #8396b7; line-height: 19px;">(提取码 c9c0d124)</span><br><a href="http://mail.qq.com/cgi-bin/ftnExs_download?k=2a3963306828cdcb751510314231001b520e5101025402014e5f0709051c0607010c4e095d030619515c005507030055560b500164253279516c5300570604193a5616641153571a0555153023&t=exs_ftn_download&code=c9c0d124" target="_blank">http://mail.qq.com/cgi-bin/ftnExs_download?k=2a3963306828cdcb751510314231001b520e5101025402014e5f0709051c0607010c4e095d030619515c005507030055560b500164253279516c5300570604193a5616641153571a0555153023&t=exs_ftn_download&code=c9c0d124</a></p>
<p> </p>
<p> </p>
14 楼
dargoner
2010-05-03
PDF我看的一楞一楞的,太牛逼了
发表评论
-
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 16276以前要在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 ... -
字符串的一般封装方式的内存布局 (1): 元数据与字符串内容,整体还是分离?
2013-11-07 17:44 22395(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 ... -
oop、klass、handle的关系
2013-07-30 17:34 0oopDesc及其子类的实例 oop : oopDesc* ... -
Nashorn各种笔记
2013-07-15 17:03 0http://bits.netbeans.org/netbea ... -
《深入理解Java虚拟机(第二版)》书评
2013-07-08 19:19 0值得推荐的中文Java虚拟机入门书 感谢作者赠与的样书,以下 ... -
豆列:从表到里学习JVM实现
2013-06-13 14:13 48366刚写了个学习JVM用的豆列跟大家分享。 豆列地址:http: ...
相关推荐
基于springboot大学生就业信息管理系统源码数据库文档.zip
基于java的驾校收支管理可视化平台的开题报告
时间序列 原木 间隔5秒钟 20241120
毕业设计&课设_基于 Vue 的电影在线预订与管理系统:后台 Java(SSM)代码,为毕业设计项目.zip
基于springboot课件通中小学教学课件共享平台源码数据库文档.zip
基于java的网上购物商城的开题报告
Delphi人脸检测与识别Demo1fdef-main.zip
基于java的咖啡在线销售系统的开题报告
基于java的自助医疗服务系统的开题报告.docx
内容概要:本文档全面介绍了Visual Basic(VB)编程语言的基础知识和高级应用。首先概述了VB的基本特性和开发环境,随后详细讲述了VB的数据类型、变量、运算符、控制结构、数组、过程与函数、变量作用域等内容。接着介绍了窗体设计、控件使用、菜单与工具栏的设计,文件操作、数据库访问等关键知识点。最后讨论了VB的学习方法、发展历史及其在桌面应用、Web应用、数据库应用、游戏开发和自动化脚本编写等领域的广泛应用前景。 适合人群:初学者和中级程序员,尤其是希望快速掌握Windows桌面应用开发的人群。 使用场景及目标:①掌握VB的基础语法和开发环境;②学会使用VB创建复杂的用户界面和功能完整的应用程序;③理解数据库操作、文件管理和网络编程等高级主题。 其他说明:Visual Basic是一种简单易学且功能强大的编程语言,尤其适合用于开发Windows桌面应用。文中不仅覆盖了基础知识,还包括了大量的实用案例和技术细节,帮助读者快速提升编程技能。
基于java的疫情期间高校防控系统开题报告.docx
基于springboot+vue社区老年人帮扶系统源码数据库文档.zip
基于java的超市商品管理系统的开题报告.docx
基于SpringBoot房屋买卖平台源码数据库文档.zip
xdu限通院23微处理器系统与应用大作业(两只老虎),适应于汇编语言keil软件,
<项目介绍> - 新闻类网站系统,基于SSM(Spring、Spring MVC、MyBatis)+MySQL开发,高分成品毕业设计,附带往届论文 - 不懂运行,下载完可以私聊问,可远程教学 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
基于java的学生网上请假系统的开题报告.docx
社会经济繁荣发展的今天,电子商务得到了飞速发展,网上交易越来越彰显出其独特的优越性,在人们的日常生活中,出现了各种类型的交易网站。其中一个就是车辆易主交易网站,它是一个服务于用户买卖二手车辆的交易网站,为用户提供了平等互利、方便快捷的网上交易平台,通过这一类型的网站,用户可自由出售和购买车辆。 本课题主要根据车辆本身的特性,充分发挥互联网的特点与优势,构建一个以二手车辆为商品、基于互联网平台的车辆易主业务交易管理系统,并根据车辆易主业务交易管理系统的应用需求,进行需求分析,进而对网站系统作规划设计。采用IDEA为运行平台,以SSH为框架,运用HTML语言、JSP技术、MySql数据库、JSP与后台数据库链接等关键技术建设二手车网上交易系统,构建车辆易主交易系统的会员注册与登录,网站首页展示、用户发布商品车辆,用户求购商品车辆,分页浏览、购物系统、用户后台管理、管理员用户后台管理等功能,并使这些功能得以实现并更好为用户服务。网站整体构建完成且测试成功后,用户可以进入网站进行注册、登录,登录后,用户可以在网站上发布自己的闲置车辆或者寻找想要购买的车辆,还可以收藏车辆,管理发布和收藏的车辆,
SQLite3的向量扩展库,windows dll,版本0.1.5
基于C++实现(控制台)商品库存管理系统