字节码文件必须要经过Java虚拟机才能被执行吗?
1、Java源程序(.java)要先编译成与平台无关的字节码文件(.class),然后字节码文件再解释成机器码运行。解释是通过Java虚拟机来执行的。
创新互联是专业的前进网站建设公司,前进接单;提供成都网站建设、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行前进网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
2、java字节码是javac编译后产生的,当下次你再运行这个程序时,java虚拟机就直接执行字节码,不再调用java代码。
3、字节码文件就是以.class文件结尾的文件,是通过javac命令编译过生成的。因为java不是编译型语言,所以它需要去解释字节码文件才能够运行。
4、但是,这些字节码需要在Java虚拟机上运行才能执行,而JVM的效率和性能的高低直接影响到程序的运行效果。
5、Java源程序经过编译器编译,产生的代码称为字节码。字节码是不可执行的程序代码,它必须有java虚拟机解释执行。当java程序要在不同的系统上执行时,程序员不需要修改程序,只要使用不同的JVM即可运行,从而实现了java程序。
为什么java要编译成字节码解释执行而不是直接解释执行源码?
java编译器却不将对变量和方法的引用编译为数值引用,也不确定程序执行过程中的内存布局,而是将这些符号引用信息保留在字节码中,由解释器在运行过程中创立内存布局,然后再通过查表来确定一个方法所在的地址。
编译执行和解释执行是不同语言之间的特性,所有的java都是编译执行的。 如果不是编译执行,其实已经完全不用java的编译器。那么只是一个使用java语法的另一种语言而已。编译执行是指把代码先编译成机器码。
编译Java源代码:Java源代码需要通过Java编译器进行编译,生成字节码文件。字节码文件是以.class为扩展名的二进制文件,包含了Java程序的指令、变量和方法。解释执行字节码文件:Java虚拟机(JVM)负责解释执行字节码文件。
字节码是被解释运行的 字节码是一套设计用来在Java 运行时系统下执行的高度优化的指令集,该Java 运行时系统称为Java 虚拟机(JavaVirtual Machine,JVM)。在其标准形式下,JVM是一个字节码解释器。
把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用 。
/*java是一门高级编程语言,是用来写程序代码的。用java写的文本(字符串序列)就是源代码。
什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?_百度...
1、Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。
2、为什么 Java 被称作是“平台无关的编程语言”。JAVA语言是跨平台的,可以实现一次编写,到处运行。这是因为它设计有一个虚拟机的机制,是由虚拟机屏蔽了平台差异。
3、Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种:源代码级和目标代码级。
分享文章:java虚拟机源代码 java虚拟机使用教程
网址分享:http://cqwzjz.cn/article/dcjhieh.html