日期:2014-05-20  浏览次数:20709 次

为什么javac.exe这个文件这么小啊,只有50K都不到?
javac.exe是java的编译器,映象中编译器程序是比较大的,那么sun的工程师是怎么把javac.exe搞的这么小的啊?难道javac.exe是用汇编语言开发的吗?

此外,我有一个开发与javac兼容的编译器的计划,不知道大家有没有兴趣啊?
详情见下贴:
http://topic.csdn.net/u/20070703/23/b45e5de2-e6d3-45e2-8530-64b3bb02aa9b.html

------解决方案--------------------
现在很少有哪个程序把所有东西都打包到一个exe里了,有兴趣的话看看VC、Eclipse的exe有多大。

------解决方案--------------------
javac 只是个解释过程的工具
java 是执行工具
没必要那么大
------解决方案--------------------
实际上exe文件可以调用dll啊,不一定exe要很大的。
------解决方案--------------------
还是看看jre有多大比较有价值些
------解决方案--------------------
当然是要调用其他的 dll,

难道楼主机器上的 javac.exe 就一个文件就可以编译?
------解决方案--------------------
其实javac只是一个入口罢了,具体的功能由一组程序来支撑,你可以把这个程序设置看做是一个批处理罢了
------解决方案--------------------
无论java.exe还是 javac.exe其实都不大,因为它的作用只是一个启动程序


在它们启动的时会通过JNI启动JVM,并加载相应的主类
(java就加载你指定的类,javac就加载com.sun.tools.javac.Main类)

所以两个exe不大
------解决方案--------------------
javac 就是执行的com.sun.tools.javac.Main类
不信的可以去试试 java com.sun.tools.javac.Main
先要把tools.jar放到classpath里面。