由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 想写个简单的 JVM- 用C++还是Java
相关主题
有没有java大牛改过class文件?菜鸟读C++ STL源程序的疑问
javascript 真的来自于java上的script?有什么工具可以把一个C++源代码里面各个class之间关系表示出来
其实微软是个做语言的公司 请问c++为什么会编译失败?
java8 lambda 就是语法糖熟悉visual studio的朋友请帮一下忙
qeustion about separation of interface and implementation in java那个语言最适合做科学计算软件
问个弱问题,C++为什么把interface和implementation分开?请问哪儿有C++boost多线程的源程序
现在学LLVM有没有前途如何修改生成exe的VC++ workspace来build dll
g++ problem!!!!别见笑:一个初级问题:如何把开源open-source的源程序导入Visual studio
相关话题的讨论汇总
话题: jvm话题: java话题: c++话题: bytecode
进入Programming版参与讨论
1 (共1页)
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的编译器?

相关主题
问个弱问题,C++为什么把interface和implementation分开?菜鸟读C++ STL源程序的疑问
现在学LLVM有没有前途有什么工具可以把一个C++源代码里面各个class之间关系表示出来
g++ problem!!!! 请问c++为什么会编译失败?
进入Programming版参与讨论
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.

1 (共1页)
进入Programming版参与讨论
相关主题
别见笑:一个初级问题:如何把开源open-source的源程序导入Visual studioqeustion about separation of interface and implementation in java
什么OPEN SOURCE的CODE对初级用户比较有用问个弱问题,C++为什么把interface和implementation分开?
pydev里可以直接引用源程序吗现在学LLVM有没有前途
有偿 求 configure (Autoconf) scriptg++ problem!!!!
有没有java大牛改过class文件?菜鸟读C++ STL源程序的疑问
javascript 真的来自于java上的script?有什么工具可以把一个C++源代码里面各个class之间关系表示出来
其实微软是个做语言的公司 请问c++为什么会编译失败?
java8 lambda 就是语法糖熟悉visual studio的朋友请帮一下忙
相关话题的讨论汇总
话题: jvm话题: java话题: c++话题: bytecode