字节流和字符流的区别?什么是字节码?采用字节码的最大好处是什么?

字节流和字符流的区别?

stream结尾都是字节流,以reader和writer结尾都是字符流

两者的区别就是读写的时候一个是按字节读写,一个是按字符

读写文件需要对内容按行处理

比如比较特定字符,处理某一行数据的时候一般会选择字符流。

只是读写文件,和文件内容无关的,一般选择字节流

什么是字节码?采用字节码的最大好处是什么?

字节码:

Java源代码经过虚拟机编译器编译后产生的文件(即扩展为.class的文件),

不面向任何特定的处理器,只面向虚拟机

采用字节码的好处:

Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。

Java程序运行时比较高效,而且,由于字节码并不专对一种特定的机器

因此,Java程序无须重新编译便可在多种不同的计算机上运行。

java中的编译器和解释器:

在机器和编译程序之间加入了一层抽象的虚拟机器,这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口,编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。

在Java中,这种供虚拟机理解的代码叫做字节码(即扩展为.class的文件),它不面向任何特定的处理器,只面向虚拟机。

每一种平台的解释器是不同的,但是实现的虚拟机是相同的。

Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行,这就是上面提到的Java的特点的编译与解释并存的解释。

Java源代码---->编译器---->jvm可执行的Java字节码(即虚拟指令)---->jvm-- -->jvm中解释器----->机器可执行的二进制机器码---->程序运行                                                              

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值