1.java项目是如何部署给用户使用的?
准备一台服务器,安装操作系统
服务器上安装jdk 和数据库等依赖项(mysql、redis)
使用Maven的构建工具对代码进行编译和打包
通过jenkins将jar包放到服务器中指定的路径下,运行jar包
2.在自己的电脑上写的java代码是如何运行的?
需要安装JDK,JDK中的编译工具javac将.java文件编译成.class文件,JVM会加载.class文件并运行。
3.1和2之间有哪些是相同的,有哪些是不同的?
相同点是都需要安装JDK,不同点是本地运行的java代码不需要打包,直接编译运行。而部署到服务器的项目需要先编译然后打包再执行。
4.class的文件是如何形成的?
.class文件是javac将.java文件编译之后得到的文件。当JVM加载类时,会首先读取字节码文件到内存,然后为类创建一个Class实例并与加载的类关联起来。这个Class类对象(Class实例)是JVM内部创建的,并在实例中保存了该类的所有信息,包括类名、包名、父类、实现的接口、所有方法、字段等。
5.Class文件是如何被执行的?
class文件是JVM可以识别的字节码文件.当运行java.exe命令执行某个java程序时,由于java程序本身以.class字节码的形式存在,它不是一个可执行文件,所以需要JVM将类文件加载到内存中。当类被加载后,系统就会创建一个对应的Class对象,接着进入连接阶段.JVM负责对类进行初始化,
6.Class文件在被执行的过程中是不是变成了操作系统所需要的 exe文件?
不是,也不需要,class文件直接交给JVM解释执行了,运行class文件的平台只需要安装JVM就可以。另外.exe文件在linux下面也不能运行。