s*****n 发帖数: 169 | 1 读bytecode 然后执行给出结果。多难? 困难是怎么invoke methods with object
parameters. |
z****e 发帖数: 54598 | 2 建议你先弄清楚java和jvm之间是个什么关系
有java的地方一定有jvm |
k**********g 发帖数: 989 | 3
不妨做个x86模拟器。
http://bellard.org/jslinux/
做JVM模拟器的话,先熟读Reflection API.
http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Meth
http://en.wikipedia.org/wiki/Java_bytecode_instruction_listings
invokedynamic
invokeinterface
invokespecial
invokestatic
invokevirtual
【在 s*****n 的大作中提到】 : 读bytecode 然后执行给出结果。多难? 困难是怎么invoke methods with object : parameters.
|
S*******s 发帖数: 13043 | 4 如果用java的话,那个java在什么上运行呢?
不过在某些特殊的场合可能有这样的需求
【在 s*****n 的大作中提到】 : 读bytecode 然后执行给出结果。多难? 困难是怎么invoke methods with object : parameters.
|
w****w 发帖数: 521 | 5 是你没弄清楚吧?为什么不可以用他的在标准jvm里运行的jvm运行一些java小程序?
他如果牛的话,可以在他的jvm里跑他的jvm。
【在 z****e 的大作中提到】 : 建议你先弄清楚java和jvm之间是个什么关系 : 有java的地方一定有jvm
|
e*****t 发帖数: 1005 | 6 问题是为什么要那么做。如果是个term project也就算了。如果是真实工作,那我觉得
纯粹是自己造轮子。
【在 w****w 的大作中提到】 : 是你没弄清楚吧?为什么不可以用他的在标准jvm里运行的jvm运行一些java小程序? : 他如果牛的话,可以在他的jvm里跑他的jvm。
|
w****w 发帖数: 521 | 7 当然是写着玩。
【在 e*****t 的大作中提到】 : 问题是为什么要那么做。如果是个term project也就算了。如果是真实工作,那我觉得 : 纯粹是自己造轮子。
|
e*****t 发帖数: 1005 | 8 如果要实现jvm,那就要从Java Language Specification开始吧。不过我个人不觉得这是
可以自己写着玩的东西。
如果只想实现指令部分,参见这个:
http://en.wikipedia.org/wiki/Java_bytecode_instruction_listings
【在 w****w 的大作中提到】 : 当然是写着玩。
|
n******t 发帖数: 4406 | 9 你这个说法貌似没有任何根据。
虽然大部分Java的implementation都用了jvm.
但是Java作为一门程序语言,为什么standard的compiler technique不能用来实现一个
Java的编译器?
【在 z****e 的大作中提到】 : 建议你先弄清楚java和jvm之间是个什么关系 : 有java的地方一定有jvm
|
g*****g 发帖数: 34805 | 10 当然可以。
http://types.bu.edu/Espresso/report/Espresso.html
【在 n******t 的大作中提到】 : 你这个说法貌似没有任何根据。 : 虽然大部分Java的implementation都用了jvm. : 但是Java作为一门程序语言,为什么standard的compiler technique不能用来实现一个 : Java的编译器?
|
|
|
s*****n 发帖数: 169 | 11 不错。有明白人。我是开个玩笑。不过我正在做的JVM是直接读bytecode instructions
, 然后执行。不是读源程序。至于为什么要做着个东西,是和research有关。举个例子
,你想做自动测试,必须知道JVM的反馈信息。但是JVM不会给你你想要的信息因为安全
原因。Java reflection, AspectJ 也不行。
有人感兴趣,我可以open source. 合作开公司也许行。目前的版本是Java写的。的确
是在标准jvm里运行自己的jvm运行java 编译过的程序,i.e., xxx.class files。
【在 w****w 的大作中提到】 : 是你没弄清楚吧?为什么不可以用他的在标准jvm里运行的jvm运行一些java小程序? : 他如果牛的话,可以在他的jvm里跑他的jvm。
|
b***i 发帖数: 3043 | 12 有意思。但是有开源的,可以修改其源代码,会不会简单?
instructions
【在 s*****n 的大作中提到】 : 不错。有明白人。我是开个玩笑。不过我正在做的JVM是直接读bytecode instructions : , 然后执行。不是读源程序。至于为什么要做着个东西,是和research有关。举个例子 : ,你想做自动测试,必须知道JVM的反馈信息。但是JVM不会给你你想要的信息因为安全 : 原因。Java reflection, AspectJ 也不行。 : 有人感兴趣,我可以open source. 合作开公司也许行。目前的版本是Java写的。的确 : 是在标准jvm里运行自己的jvm运行java 编译过的程序,i.e., xxx.class files。
|
k**********g 发帖数: 989 | 13
instructions
对,sandbox。
推荐 Eric Lippert 的博客。 Some ideas are applicable to both Java and C#.
http://www.coverity.com/company/press-releases/read/coverity-de
【在 s*****n 的大作中提到】 : 不错。有明白人。我是开个玩笑。不过我正在做的JVM是直接读bytecode instructions : , 然后执行。不是读源程序。至于为什么要做着个东西,是和research有关。举个例子 : ,你想做自动测试,必须知道JVM的反馈信息。但是JVM不会给你你想要的信息因为安全 : 原因。Java reflection, AspectJ 也不行。 : 有人感兴趣,我可以open source. 合作开公司也许行。目前的版本是Java写的。的确 : 是在标准jvm里运行自己的jvm运行java 编译过的程序,i.e., xxx.class files。
|
p*a 发帖数: 592 | 14 跑题一下,哪些关于软件开发的博客比较值得读,能否推荐几个。实在是时间有限,没
精力自己找,也看不了太多。这个Eric Lippert我知道,貌似微软养了不少
evangelists,很有闲。
【在 k**********g 的大作中提到】 : : instructions : 对,sandbox。 : 推荐 Eric Lippert 的博客。 Some ideas are applicable to both Java and C#. : http://www.coverity.com/company/press-releases/read/coverity-de
|
s***o 发帖数: 2191 | 15 coverity? 那个整天放炮的王垠好像就在那里?不知这家伙现在混得咋样
【在 k**********g 的大作中提到】 : : instructions : 对,sandbox。 : 推荐 Eric Lippert 的博客。 Some ideas are applicable to both Java and C#. : http://www.coverity.com/company/press-releases/read/coverity-de
|
z****e 发帖数: 54598 | 16 可以是可以,只是很怪异罢了
就好比在windows上实现一个windows的虚拟机
要是实现的是其它平台,比如是android的话
那比较可以理解
【在 n******t 的大作中提到】 : 你这个说法貌似没有任何根据。 : 虽然大部分Java的implementation都用了jvm. : 但是Java作为一门程序语言,为什么standard的compiler technique不能用来实现一个 : Java的编译器?
|
z****e 发帖数: 54598 | 17 试试jmx
instructions
【在 s*****n 的大作中提到】 : 不错。有明白人。我是开个玩笑。不过我正在做的JVM是直接读bytecode instructions : , 然后执行。不是读源程序。至于为什么要做着个东西,是和research有关。举个例子 : ,你想做自动测试,必须知道JVM的反馈信息。但是JVM不会给你你想要的信息因为安全 : 原因。Java reflection, AspectJ 也不行。 : 有人感兴趣,我可以open source. 合作开公司也许行。目前的版本是Java写的。的确 : 是在标准jvm里运行自己的jvm运行java 编译过的程序,i.e., xxx.class files。
|
k**********g 发帖数: 989 | 18
You're probably looking for this one?
Jikes RVM (Research Virtual Machine)
http://jikesrvm.org/
【在 s*****n 的大作中提到】 : 读bytecode 然后执行给出结果。多难? 困难是怎么invoke methods with object : parameters.
|