java基础入门篇(1)

目录

java语言本身的特性

java的文件拓展名

jvm虚拟机的编译与解释器

字节码与机器码的区别辨析

性质本身

进制角度

转化流程


java语言本身的特性

跨平台性:java语言诞生之初就有一句口号,一次编译,到处运行

对比:其他的语言,如C++写出来的代码想要在不同的平台上面运行,那么对于不同的平台来说都需要重新编译一次。,这势必造成资源损耗。但是Java只需要依靠jvm虚拟机就可以让java代码只需要编译一次,就在不同的平台上流畅运行。

java的文件拓展名

(1):“.java” 的含义:编写Java源程序保存时候的文件拓展名。例如“Cat.java”。

(2):“.calss”的含义:java源程序“XXX.java”经过编译转为成的字节码文件拓展名

jvm虚拟机的编译与解释器

前端编译器:比如javac,作用就是把源代码转化为16进制的字节码。因为这个过程发生在编译前期,所以我们把他叫作前端编译器。

后端编译器:

(1)JIT编译器:要运行程序的时候,将jvm虚拟机上的字节码转化为本地的机器码。然后系统来执行本地的机器码。

(2)Java解释器:直接解释执行字节码。

对比:Java解释器的启动时间快(因为不需要像JIT编译器那样把字节码转化为本机的机器码),JIT编译器的运行时间快,因为机器码是“计算机的语言”,没有什么语言可以快过二进制机器码。

字节码与机器码的区别辨析

性质本身

字节码:jvm虚拟机所特有的,可以跨平台使用,十六进制的数。

机器码:二进制的数,在不同的平台上如果想要程序输出"hello world”有可能各平台对应的二进制码不一样。不具有跨平台性。

进制角度

字节码16进制,机器码进制。 

转化流程

前言:由于最后的后端编译器的不同,可能会有两种情况。

流程一: Java源文件——>Java字节码文件——>机器码文件——>系统执行(Jvm后端编译器为JIT编译器的情况)

流程二:Java源文件——>Java字节码文件——>直接被执行(Jvm后端编译器为Java解释器的情况)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值