java编译
来源:互联网 发布:outlook是什么软件 编辑:程序博客网 时间:2024/06/15 20:31
Javac
首先javac将代码编译成字节码, .class文件。
如果一个.java文件中有多个class(当然了,只能有一个public class),则会产生多个.class文件,而且是以class的名字命名的。
我们通常会把.class文件打成jar包。之后jar包可以在任何一个操作系统运行。
其实.class文件的可读性仍然很高,也就是说字节码文件的内容和java代码差别不是很大。因为java很容易被反编译。
Java
为什么要编译
其实.class文件的可读性仍然很高,也就是说字节码文件的内容和java代码差别不是很大。因为java很容易被反编译。
Java
将jar包放到我们希望运行的机器上。该机器已经安装了这个操作系统对应的JVM,因此java解释器(Java interpreter)知道应该将字节码文件翻译成什么样的机器码:
The Java interpreter is responsible for finding, loading, and interpreting these files.
The Java interpreter is responsible for finding, loading, and interpreting these files.
使用java,启动JVM,同时解释这些字节码,然后运行程序。
为什么要编译
1,如果直接从高级语言到机器码则太慢。但是也有工具可以一次完成这个过程。
2,编译和运行分离,所以java程序才拥有了在各个平台运行的能力。如大家所知,打好的jar包可以放到任何一个安装了JVM的机器上运行。
2,编译和运行分离,所以java程序才拥有了在各个平台运行的能力。如大家所知,打好的jar包可以放到任何一个安装了JVM的机器上运行。
同时对于java翻译完成的机器码,据说比c语言的多。例如同样的事情,最终c需要5条机器指令完成,而java最后形成的机器指令是8条。
这也是为什么说c的效率比java高。
同时java将字节码翻译成机器码的过程是比较耗资源的。因此hotspot JVM在heap中有了一个区域code cache。该区域存储了最常被调用的机器码,从而提高效率。
- java编译
- java编译
- java编译
- java 编译
- java编译
- java 内存编译-动态编译
- java 编译.java文件
- 动态编译JAVA程序
- 编译 java 出错
- 动态编译Java程序
- java常见编译错误
- 动态编译JAVA程序
- 构建JAVA编译环境
- JAVA动态编译简介
- 使用UltraEdit编译java
- java编译原理
- Java中的条件编译
- java编译原理
- JFrame(框架)中添加和设置JPanel(面板)的方法
- 完全优化MySQL数据库性能的八大巧方法
- JConsole
- HDU1051(Wooden Sticks)
- PCI总线驱动程序
- java编译
- java synchronized详解
- Tomcat源码解析一(概论)
- 锋利的jQuery
- MENU菜单的设计
- JFreeChart 解决中文乱码问题
- jquery功能插件
- javaScript-----数组使用字符串作为下标
- String s = "a"+"b"+"c"+"d"共创建了多少个对象?