深入分析java web javac编译原理(其一)

一、javac是什么

如何将java的语法规则适应到java虚拟机的语法规则中呢?这个任务就由javac编译器来完成。它的任务就是将java语言规范转化为java虚拟机语言规范,完成“翻译”的工作,”翻译“的工作是如何将java的源代码转化为class字节码的。


javac是一种编译器,能将一种语言规范转化成另外一种语言规范,通常编译器都是将便于人理解的语言规范转化成机器容易理解的语言规范,如c,c++或者汇编语言都是将源码直接编译成目标机器吗,这个目标机器码是CPU直接执行的指令集合,这些指令集合也就是底层的一种语言规范,这种语言规范机器能够直接识别,但是人不可能直接去写目标机器码,虽然这种机器码执行非常高效,但是对人不太友好,往往开发这个代码的成本远远高于省下的机器的执行成本,所以才有了编译器的出现,有了编译器才有可能出现了这么多的高级编程语言。


从某种意义上来说,有了编译器才有了程序语言的繁荣,因为编译器是人类和机器沟通的一个纽带,那么回过头来,javac的编译器也是将java这种对人非常友好的编程语言编译成对所有机器都非常友好的一种语言。注意这种语言不是针对某个机器的,甚至包括不同种类,不同平台的机器。如果消除不了不同种类,不同平台机器之间的差别,这个任

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值