java编译都做了些什么?

paopao072 2010-01-09 12:42:13
如题,在源程序编译时,编译器都做了些什么?
...全文
253 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
nj_dobetter 2010-01-10
  • 打赏
  • 举报
回复
词法、语法检查,语义翻译成字节码
Trinx 2010-01-10
  • 打赏
  • 举报
回复
java在编译时,编译器会检查所有程序的基本语法,包括检查调用方法所传的参数类型等等,如果找到错误则立即报错,编译就无法通过。当C编译器编译生成一个对象的代码时,该代码是为在某一特定硬件平台运行而生成的。因此在编译过程中,编译程序通过查表将所有对符号的引用转换为特定的内存偏移量,以保证程序运行。java编译过程:java编译器却不将对变量和方法的引用编译为数值引用,也不确定程序执行过程中的内存布局,而是将些符号引用信息保留在字节码中,由解释器在运行过程中创立内存布局,然后再通过查表来确定一个方法所在的地址,这样就有效地保证了java的可移植性和安全性。如果楼主想了解JAVA编译后都做了哪些具体的事情估计要看看虚拟机的工作原理。

py330316117 2010-01-09
  • 打赏
  • 举报
回复
把java文件编程class文件;和操作系统接口做映射执行程序
py330316117 2010-01-09
  • 打赏
  • 举报
回复
把java文件编程class文件;和操作系统接口做映射执行程序
imasmallbird 2010-01-09
  • 打赏
  • 举报
回复
做的事情太多了~~
如果只是想知道编译时,对JAVA源码做了些什么,你就去看看JAVA虚拟机
要是想知道计算机是怎么编译的就去看一下,编译原理
jayqean 2010-01-09
  • 打赏
  • 举报
回复
google下吧
bolink5 2010-01-09
  • 打赏
  • 举报
回复
编译原理 软件工程系是会开这么课程的啊
不过,学了也忘了。这样的问题还是google下好。个人觉得找技术问题还是google比百度好。
Dan1980 2010-01-09
  • 打赏
  • 举报
回复
去看编译原理。编译的一般步骤是:词法分析->语法分析->中间代码生成->代码优化->目标代码生成,Java编译基本上也是这几步。和C/C++等传统编译型语言不同的是,Java的目标代码不是机器指令,而是一种成为字节码的中间形式,由JVM解释成机器指令来执行。所以说,Java语言是编译型语言,但执行时却是解释执行的。
999朵玫瑰 2010-01-09
  • 打赏
  • 举报
回复
源程序编译
借我那把枪吧 2010-01-09
  • 打赏
  • 举报
回复
百度一下。。。。
bobo415 2010-01-09
  • 打赏
  • 举报
回复
几句话说不清
太多了
百度下就有的 很多
SambaGao 2010-01-09
  • 打赏
  • 举报
回复
http://download.csdn.net/source/250862

java编译器源代码
阿_布 2010-01-09
  • 打赏
  • 举报
回复
Future_Hui_ 2010-01-09
  • 打赏
  • 举报
回复
百度一下。。。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧