- 浏览: 3052768 次
- 性别:
- 来自: 海外
最新评论
-
mldxs:
虽然很多还是看不懂,写的很好!
虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 -
HanyuKing:
Java的多维数组 -
funnyone:
Java 8的default method与method resolution -
ljs_nogard:
Xamarin workbook - .Net Core 中不 ...
LINQ的恶搞…… -
txm119161336:
allocatestlye1 顺序为 // Fields o ...
最近做的两次Java/JVM分享的概要
文章列表
JavaEye的blog系统只允许把帖放到单一类别下,而不能用tag,有点小郁闷。刚才找自己的老帖还花了点时间才找到。还是给一些老帖建个目录置顶好了 T T
现在ItEye终于支持帖子的多tag了!但这帖还是保留置顶吧~
开了一个圈子讨论高级语言虚拟机相关,在这里:http://hllvm.group.iteye.com/
另外开了个新浪微群“JVM源码阅读活动”来组织活动
==========================================================
活动帖:
2013-02-25: 记GreenTeaJUG第二次线下活动(杭州)
2012- ...
Operating System / Desktop
Linux From Scratch
6.6, 2010-03-01
openSUSE (GPLv2)
11.2, 2009-11-12
Ubuntu
10.10
Xfce (GPLv2)
4.6.1, 2009-04-19
================================================================================
IDE
Eclipse (EPL)
3.5.0 "Galileo", 2009-06-24
Easy Explorer
1.0 ...
今天晚饭,老婆连着用了4个锅来做了两菜一汤。好吃
其中一道菜用了1个锅,另一道菜用了3个锅,汤用了2个锅。
还有中间工序放临时状态的食材用的大小碗碟若干。
嗯⋯嗯?但是总共只有4个锅诶。
于是做菜的过程中我也洗了几次碗。
突然想起了什么⋯
老婆做菜跟我洗碗的关系,就是mutator与collector的关系!
老婆作为mutator,做菜途中不断在切换工序的时候把中间状态的食材放到新的干净的锅/碗里。
锅/碗不够用的时候,老婆就调用了我,collector。
老婆跟我用粗粒度同步,大致是个stop-the-world collection。所以我洗碗的时候老婆就在一旁休息着。
我使用 ...
以前要在Java里实现所谓“静态工具类”(static utility class)的话,通常会做两件事:
1、把class声明为final,以免被继承;
2、声明一个private的空参数列表构造器,以免外部能创建该类的实例。
根据Java SE 8版的Java语言规范,9.4小节,现在Java 8允许在接口上声明静态方法了。接口默认而且必须是抽象的,所以不能用final来阻止别人继承或实现这个接口,不过反正是抽象的也不能直接实例化,用来做静态工具类挺好的。
所以现在可以这样了:
package my.util;
public interface StringUtils {
/ ...
先看看下面这个代码例子,
interface IFoo {
default void bar(int i) {
System.out.println("IFoo.bar(int)");
}
}
public class Foo implements IFoo {
public static void main(String[] args) {
Foo foo = new Foo();
foo.bar(42); // (1) invokevirtual Foo.bar(int)void
IFoo ifoo ...
(Disclaimer:未经许可请勿转载。如需转载请先与我联系。
作者:RednaxelaFX -> rednaxelafx.iteye.com)
字符串的一般封装方式的内存布局系列:
(0): 拿在手上的是什么
1、元数据,字符串内容:整体还是分离?
接上一篇,这次来看 ...
(Disclaimer:未经许可请勿转载。如需转载请先与我联系。
作者:RednaxelaFX -> rednaxelafx.iteye.com)
字符串的一般封装方式的内存布局系列:
(0): 拿在手上的是什么
(1): 元数据与字符串内容,整体还是分离?
原本我写这个是作为 ...
忍不住想发牢骚。不是我自己遇到的啥面试笔试题啦。
如果给你这样的题目要填空:
引用// a是密集的number数组,不让用Array的内建方法
function insertion_sort(a) {
for (var i = 1; i < a.length; i++) {
var t = a[i];
var j = 0;
for (_____;_____;_____) {
__________;
}
a[j + 1] = t;
}
}
你会怎么做?
既然是插入排序,外层循环这里是从前向后排序,应该保证每轮 ...
之前有同学在做龙书(第二版)题目,做到8.4的练习,跟我对答案,然后聊起C语言的for循环的代码生成有几种常见的模式。顺道跟大家分享讨论一下。
C语言的for循环大家应该都很熟悉了,C系语言大都有一样或几乎一样的语法结构:一个循环初始化,一个循环条件,一个循环再初始化,然后一个循环体。通常循环初始化在最前面,再初始化的逻辑直接黏在循环体后面,能有变化的就是循环条件的代码生成到什么位置。
举个例子,
for (int i = 0; i < 100; i++) {
foo();
}
把它翻译为龙书第8章所用的三地址指令,可以用许多不同的模式翻译,这里举三种例子:
(注释里标出了基本 ...
刚写了个学习JVM用的豆列跟大家分享。
豆列地址:http://book.douban.com/doulist/2545443/
下面把豆列的介绍贴过来。具体书单请到上面的豆列地址那边去看。
在社会化分工、软件行业细分专业化的趋势下,会真的参与到底层系统实现的人肯定是越来越少(比例上说)。真的会参与到JVM实现的人肯定是少数。
但如果您对JVM是如何实现的有兴趣、充满好奇,却苦于没有足够系统的知识去深入,那么这个豆列就是为您打好基础而准备的。
如果只想用用Java用用JVM,对深入到实现细节无甚兴趣的话,这个豆列就请不必参考了,免得浪费钱浪费时间精力,呵呵 :-)
本豆列的脉络是:
...
(未经许可请勿转载。希望转载请与我联系。)
(如果打开此页面时浏览器有点卡住的话请耐心等待片刻。大概是ItEye的代码高亮太耗时了…)
几天前在HLLVM群组有人问了个小问题,说
public class Test {
static Test2 t1 = new Test2(); ...
新浪微活动页面:http://event.weibo.com/753079
活动内容:
引用活动主题:
会场一 万松书院(偏向应用层):
@琴上的日月:《淘宝WEBOS.面向积木编程.分形架构》(45分钟)
@淘宝君山:《Velocity的优化》(45分钟)
@淘宝叔同:《淘宝前台应用性能优化实践》(45分钟)
@温高铁:《各种API的性能、编码优化技巧》(45分钟)
剩余时间交流答疑
会场二 三味书屋(偏向底层):
@MinZhou:《Java程序员也要了解CPU》(1小时)
@RednaxelaFX:《Intrinsic Methods in HotSp ...
DumpClassURL: print the list of currently loaded Java classes, along with code source path and defining class loader information
打印出HotSpot VM里当前加载的所有类的路径和加载器摘要信息的工具
DirectMemorySize: Print NIO direct memory usage stats, as an alternative on JDK6 without JMX support for direct memory monitoring
打印NI ...
刚把在SDCC 2012做的JVM分享的演示稿上传了。
演示稿下载地址:
微盘: http://vdisk.weibo.com/s/fVekp (更新:新浪微盘非要禁用我共享这个文件所以很可惜这个链接失效了。文件其实还在那儿,就是无法设定状态为共享而已。)
SlideShare: http://www.slideshare.net/RednaxelaFX/jvm-a-platform-for-multiple-languages
录像观看地址:
CSDN: http://v.csdn.hudong.com/s/article.html?arcid=2810640
============= ...
这是链接帖。主体内容都在各链接中。
怕放草稿箱里过会儿又坑掉了,总之先发出来再说…回头再慢慢补充内容。
先把ItEye网站上的信息聚合起来。
近期提问帖:
阅读openjdk源代码
如何来看OpenJDK源码
如何分析OpenJDK中JVM的实现
一个个回复太麻烦了,合在一块儿写这么一篇。
================
前言
我的VM帖的索引
高级语言虚拟机(HLLVM)群组
新浪微群“JVM源码阅读活动”
如何构建javac的调试环境
为什么有时候调试代码的时候看不到变量的值
自己编译JDK的src.zip的步骤
Ubuntu下编译openjdk成为可调试版
有人在Cento ...