社区
Java
帖子详情
java编译成字节码之后,编译执行时,是不是最终还是要转换成二进制机器码执行
我不是小白脸
2018-11-05 08:54:47
java编译成字节码之后,编译执行时,是不是最终还是要转换成二进制机器码执行。??
...全文
430
2
打赏
收藏
java编译成字节码之后,编译执行时,是不是最终还是要转换成二进制机器码执行
java编译成字节码之后,编译执行时,是不是最终还是要转换成二进制机器码执行。??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
我不是小白脸
2018-11-06
打赏
举报
回复
哦哦,谢谢了(-_-)
Gin369
2018-11-05
打赏
举报
回复
对,Java是跨平台的,一旦Java代码被编译成Java字节码之后,在任何jvm的平台上不用编译就能运行,而且不需要重新编译,在jvm上在转换为机器码进行运行。java是跨平台的,但是jvm不是。
计算机二级
Java
语言复习资料
1.
Java
的源程序代码的扩展名为.
java
。
Java
的
编译
器和解释器的扩展名为.exe,他们分别是
java
c.exe、
java
.exe。 通过
Java
编译
器
编译
生成的是
二进制
字节码
文件,其扩展名为.class。 调用applet小程序的HTML文件的扩展名为.html或.htm。 2.
Java
语言的
执行
模式是半
编译
和半解释型。
Java
编写好的程序首先由
编译
器转换为标准字节代码,然后由
Java
虚拟机去解释
执行
。字节代码也是一种
二进制
文件,但不能直接在操作系统上运行,它可看作虚拟机的
机器码
。虚拟机把字节代码程序与各操作系统和硬件分开,使
Java
程序独立于平台。
Java
虚拟机(JVM)是可运行
Java
代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过
编译
的任何
Java
代码能够在该系统上运行。运行JVM
字节码
的工作是由解释器来完成的。解释
执行
过程分三步进行:代码的装入、代码的校验和代码的
执行
。
JVM、
Java
编译
器和
Java
解释器1
Java
编译
器:将
Java
源文件(.
java
文件)
编译
成
字节码
文件(.class文件,是特殊的
二进制
文件,
二进制
字节码
文件),这种
字节码
就是JVM的“机器语言”
java
Notes:
Java
的一般注释和代码片段
Java
笔记 此存储库包含
Java
的一般注释和代码片段。 “一次编写,随处运行”是伴随
Java
的通用格言。 其想法是,由于程序运行在
Java
虚拟机上,无论硬件如何,从用户代码生成的
字节码
都应该运行相同。 这与 C/C++ 不同,C/C++
编译
后的
二进制
文件可以在托管平台上手动调试后在任何机器上运行。 当打算在多台机器上运行
时
,用
Java
编写的程序很有用。 概述 为了实现跨平台兼容性,
Java
代码被
编译
成
字节码
而不是机器特定的代码。 此
字节码
旨在由
Java
虚拟机 (JVM) 解释和
执行
。 虽然
Java
应用程序及其
编译
的
字节码
被设计为不受硬件影响而运行,但 JVM 是专门为它所在的机器编写的,这意味着 JVM 是平台相关的,而不是用户应用程序。 由于程序由 JVM 而非主机解释,因此与 C/C++ 等语言(它们生成由主机直接运行的
二进制
文件)相比,它通常被认为在
python程序需要
编译
吗
Python是
编译
型语言还是解释型语言?回答这个问题前,应该先弄清楚什么是
编译
型语言,什么是解释型语言。 所谓
编译
执行
就是源代码经过
编译
器
编译
处理,生成目标
机器码
,就是机器能直接运行的
二进制
代码,下次运行
时
无需重新
编译
。 不过它是针对特定CPU体系的,这些目标代码只能在特定平台
执行
,如果这个程序需要在另外一种 CPU 上面运行,这个代码就必须重新
编译
。 它不具备可移植性,但是
执行
速度快,C、C++这类语言属于
编译
型语言。 而解释型语言是在代码运行期间逐行翻译成目标
机器码
,下次
执行
时
,还是需要逐行解释,我们可以简单认为
Java
、Python 都是解释型语言。
编译
型相当于厨师直接做好一桌子菜,
Python解释
执行
原理分析
本文较为详细的分析了Python解释
执行
的原理,对于深入理解Python可以起到一定的帮助作用。具体分析如下: 首先,这里的解释
执行
是相对于
编译
执行
而言的。我们都知道,使用C/C++之类的
编译
性语言编写的程序,是需要从源文件
转换成
计算机使用的机器语言,经过链接器链接
之后
形成了
二进制
的可
执行
文件。运行该程序的
时
候,就可以把
二进制
程序从硬盘载入到内存中并运行。 但是对于Python而言,python源码不需要
编译
成
二进制
代码,它可以直接从源代码运行程序。当我们运行python文件程序的
时
候,python解释器将源代码转换为
字节码
,然后再由python解释器来
执行
这些
字节码
。这样,python就不用
Java
50,526
社区成员
85,605
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章