首页
登录 | 注册

java 从源码到字节码到机器码是如何实现的????

源码是函数实现的原理,实现原理都在具体类里,这就牵涉到具体的算法以及数据结构

api只负责告诉你这个函数是用来做什么的,参数是啥,参数类型是啥

源码是如何通过计算机实现的,这就牵涉到jvm,java虚拟机,把java源码编译成字节码,

源代码 到机器码 发生了什么????

java垃圾回收机制????

存储机制????

https://www.cnblogs.com/chanshuyi/p/jvm_serial_04_from_source_code_to_machine_code.html

 

当源代码转化为字节码之后,其实要运行程序,有两种选择。一种是使用 Java 解释器解释执行字节码,另一种则是使用 JIT 编译器将字节码转化为本地机器代码。

这两种方式的区别在于,前者启动速度快但运行速度慢,而后者启动速度慢但运行速度快。至于为什么会这样,其原因很简单。因为解释器不需要像 JIT 编译器一样,将所有字节码都转化为机器码,自然就少去了优化的时间。而当 JIT 编译器完成第一次编译后,其会将字节码对应的机器码保存下来,下次可以直接使用。而我们知道,机器码的运行效率肯定是高于 Java 解释器的。所以在实际情况中,为了运行速度以及效率,我们通常采用两者相结合的方式进行 Java 代码的编译执行。



2020 jeepxie.net webmaster#jeepxie.net
10 q. 0.009 s.
京ICP备10005923号