- 主题:Rust可以用来开发安卓自身了
jvm是个抽象逻辑定义,只要能运行bytecode就叫jvm,与具体实现上用了解释还是编译无关
【 在 wjhtingerx 的大作中提到: 】
: 我的意思是没有vm这块,逻辑上就跟C++没区别了。那这样java岂不是就是原生语言了,还提vm干嘛呢?
:
--
FROM 155.64.23.*
你没明白我的意思,malloc只是个例子,就是说库怎么都可以,你也可以写个后面带线程的,可以自动回收的malloc
【 在 keygen 的大作中提到: 】
: 有自己的线程在后面待机跑
: 跟malloc还是不太一样的,malloc还得自己free
: 除了这些,跟其他语言的确没有太大区别了。
: ...................
--
FROM 106.3.192.*
没明白,既然有bytecode,那肯定得解释啊,如果解释运行,那肯定就不是原生运行了啊
【 在 xiaoju 的大作中提到: 】
: jvm是个抽象逻辑定义,只要能运行bytecode就叫jvm,与具体实现上用了解释还是编译无关
:
--
FROM 106.3.192.*
可以在第一次加载时编译成native,然后直接运行
【 在 wjhtingerx 的大作中提到: 】
: 没明白,既然有bytecode,那肯定得解释啊,如果解释运行,那肯定就不是原生运行了啊
:
--
FROM 155.64.23.*
那又回到这个话题了,既然这样,vm存在的作用是啥,就是运行第一次编译一下吗?
【 在 xiaoju 的大作中提到: 】
: 可以在第一次加载时编译成native,然后直接运行
:
--
FROM 106.3.192.*
为什么 Java 和 JS 等语言需要 VM,不能直接操作内存堆栈空间? - 圆胖肿的回答 - 知乎
https://www.zhihu.com/question/449995754/answer/1838749872
根据这里的说法,vm 的提法是之前java想做到屏蔽底层平台的差异。现在流行的搞法是差异化而不是统一抽象了。所以vm这个概念已经扔掉了。
【 在 wjhtingerx (ca6140) 的大作中提到: 】
: 没明白,既然有bytecode,那肯定得解释啊,如果解释运行,那肯定就不是原生运行了啊
--
FROM 59.41.68.*
jvm是个逻辑概念,可以想象成任何能运行bytecode的黑盒
【 在 wjhtingerx 的大作中提到: 】
: 那又回到这个话题了,既然这样,vm存在的作用是啥,就是运行第一次编译一下吗?
:
--
FROM 155.64.23.*
你没回答我的问题,现在的java到底是编译成native直接运行的,还是需要vm解释运行的?如果是前者,vm除了第一次编译,还有别的作用吗?
【 在 xiaoju 的大作中提到: 】
: jvm是个逻辑概念,可以想象成任何能运行bytecode的黑盒
:
--
FROM 106.3.192.*
歪楼厉害啊,居然大篇幅讨论jvm了
--
FROM 123.118.185.*