javac

        

本章内容可以都是大段落的文字,看起来可能会很无聊,可以边听音乐边细心阅读

--歌曲地址:网易云音乐(有自己的音乐的网站罢工了,不开心)

        首先要说的是java语言规范和java虚拟机规范不是一回事儿,那么如何让java语言规范适应java虚拟机语言规范呢?

这个任务就有javac编译器来完成-它的工作就是讲java语言规范转换成java虚拟机语言规范,来完成翻译工作。

        java语言对于开发者来说是比较友好的语言,可以很容易的读懂和书写,但对于机器来说他不能读懂相对于人来说相对友好的java语言,只能识别目标机器码,但人又不能直接去书写对人不太友好的机器码,所以才有了编译器的出现---有了编译器才有可以出现了这么多的高级编程语言。

        javac的编译器就是将对人友好的编程语言编译成对机器友好的语言 (注:这种语言不是针对某个机器的,他包括不同的种类、不同平台的机器。如何消除不用种类、不同平台机器之间的差别,这个任务就由JVM来完成,而javac的工作就是讲java源代码语言先转化成JVM能够识别的语言,然后由JVM将JVM语言再转化成某种/某个机器能够识别的机器语言)

        这样看来java语言向开发者屏蔽了很多与目标机器相关的一些细节,使得java语言的执行和平台无关---java语言的跨平台

        javac的任务就是将java源码编译成java字节码,也就是JVM能够识别的二进制码。从表面来看就是将.java文件转化成.class文件,而实际上是将java源代码转化成一连串的二进制数字,这些二进制数字是有格式的,只有JVM能够正确识别他们是什么意思。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值