当前位置:首页 » 编程软件 » jvm启动和编译

jvm启动和编译

发布时间: 2022-07-15 16:30:31

❶ 简述java程序的编辑编译和运行过程

第一步(编译): 创建完源文件之后,程序会先被编译为.class文件。Java编译一个类时,如果这个类所依赖的类还没有被编译,编译器就会先编译这个被依赖的类,然后引用,否则直接引用,这个有点象make。

如果java编译器在指定目录下找不到该类所其依赖的类的.class文件或者.java源文件的话,编译器话报“cant find symbol”的错误。

第二步(运行):java类运行的过程大概可分为两个过程:1、类的加载 2、类的执行。需要说明的是:JVM主要在程序第一次主动使用类的时候,才会去加载该类。也就是说,JVM并不是在一开始就把一个程序就所有的类都加载到内存中,而是到不得不用的时候才把它加载进来,而且只加载一次。

特别说明:java类中所有public和protected的实例方法都采用动态绑定机制,所有私有方法、静态方法、构造器及初始化方法<clinit>都是采用静态绑定机制。而使用动态绑定机制的时候会用到方法表,静态绑定时并不会用到。

(1)jvm启动和编译扩展阅读:

Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程。

Java代码编译:是由Java源码编译器来完成;

Java字节码的执行:是由JVM执行引擎来完成

Java程序从源文件创建到程序运行要经过两大步骤:

1、源文件由编译器编译成字节码(ByteCode)

2、字节码由java虚拟机解释运行。因为java程序既要编译同时也要经过JVM的解释运行,所以说Java被称为半解释语言( "semi-interpreted" language)。

❷ jvm的server参数是启动时编译整个包还是编译将要运行的类

JVM的server参数影响的是JVM的行为,和包、类的编译无关。

Java的编译时在编译期发生的,指的是从java文件编译为class文件的过程,由编译器编译,生成class字节码文件。JVM只识别class文件,所以JVM没有编译过程,JVM的参数不影响class的编译。

JVM的server参数指定的是以服务器模式运行JVM,它会影响JVM的GC机制、算法、JIT(Just in time,即时编译)等。由于JVM的GC等行为会影响Java程序的响应速度、吞吐量、CPU运行效率。所以JVM提供-client和-server参数,以便在不同场景上使用不同算法,让程序运行更合理。一般服务器端对响应速度要求不高,比如没有界面,只负责计算,那么-server模式比较好。但是在Client程序下,比如Swing程序,要求相应速度,那么就开启-client,防止GC时的假死。另外server和client对JIT等技术还稍微有影响。在开发时可以忽略。

不管server和client,JVM只有JIT涉及到编译,JIT是把字节码编译为机器码,有很多技巧和算法,但是和包和类是不沾边的。

❸ 如何启动JAVA里的JVM

方法如下:

1、虚拟机的启动入口位于share/tools/launcher/java.c的main。

2、配置JVM装载环境。

3、解析虚拟机参数。

4、设置线程栈大小。

5、执行Java main。

❹ jvm怎么编译运行类的

设置好环境变量后,运行cmd.exe,cd到你*.java目录
使用命令:javac *.java来编译java文件
java * 来运行文件。

❺ java编译器和JVM有什么区别

java编译器把java源码编译成字节码 (.class文件).
jvm是在运行期将class文件编译成机器码文件.供程序运行.

❻ 关于JVM和编译器

编译为字节码的JAVA程序可以直接在JVM上运行,无需再次编译.

C程序必须在不同的平台重新编译,并且可能需要依据不同的系统修改程序中用到的数据类型.

❼ “java编译器”和“JVM”有什么区别

java编译器把java源码编译成字节码
(.class文件).
jvm是在运行期将class文件编译成机器码文件.供程序运行.

❽ java编译和运行。

首先cd到你java文件存放的目录,比如你的java文件的名称为helloworld.java,在cmd中输入javac
helloworld.java
敲击回车,这个命令会将你的java文件编译成class文件,然后在cmd框中输入java
helloworld敲击回车就能运行你的java文件输出结果

❾ 用于启动JVM运行java程序的java命令

JDK(Java Development Kit)即为Java开发工具包,包含编写Java程序所必须的编译、运行等开发工具以及JRE。开发工具如:用于编译java程序的javac命令、用于启动JVM运行java程序的java命令、用于生成文档的javadoc命令以及用于打包的jar命令等等
JRE(Java Runtime Environment)即为Java运行环境,提供了运行Java应用程序所必须的软件环境,包含有Java虚拟机(JVM)和丰富的系统类库。系统类库即为java提前封装好的功能类,只需拿来直接使用即可,可以大大的提高开发效率。
JVM(Java Virtual Machines)即为Java虚拟机,提供了字节码文件(.class)的运行环境支持。
JDK、JRE、JVM关系如图– 4 所示:

图- 4
从图示可以看出,JDK中包含了编译、运行等开发工具及JRE,而JRE中包含了Java系统类库及JVM,运行一个java程序所需要的最小环境即为JRE,而开发一个Java程序所需要的最小环境为JDK,因为JDK中还包含了很多用到的命令。

热点内容
跳转页源码 发布:2024-09-17 03:13:05 浏览:543
html文件上传表单 发布:2024-09-17 03:08:02 浏览:784
聊天软件编程 发布:2024-09-17 03:00:07 浏览:726
linuxoracle安装路径 发布:2024-09-17 01:57:29 浏览:688
两个安卓手机照片怎么同步 发布:2024-09-17 01:51:53 浏览:207
cf编译后没有黑框跳出来 发布:2024-09-17 01:46:54 浏览:249
安卓怎么禁用应用读取列表 发布:2024-09-17 01:46:45 浏览:524
win10设密码在哪里 发布:2024-09-17 01:33:32 浏览:662
情逢敌手迅雷下载ftp 发布:2024-09-17 01:32:35 浏览:337
安卓如何让软件按照步骤自动运行 发布:2024-09-17 01:28:27 浏览:197