关于java项目运行的几个问题

news/2024/7/5 5:37:45

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下面也不能运行。


http://lihuaxi.xjx100.cn/news/173675.html

相关文章

linux中 ~ / . ..分别表示什么

嵌入式之路,贵在日常点滴 ---阿杰在线送代码 目录 ~ 表示代码主目录,也就是当前登录用户的用户目录。 /是指根目录:就是所有目录最顶层的目录 ./表示当前目录 ..表示上级目录 linux中 ~ 表示的是什么目录? ~ 表示代码主目…

图09 --- 最小费用最大流问题

💖💖感谢各位观看这篇文章,💖💖点赞💖💖、收藏💖💖、你的支持是我前进的动力!💖💖 💖💖感谢你的阅读💖,专栏文章💖持续更新!💖关注不迷路!!💖 图01—图的基本概念与模型_ 图02— 存储结构: 邻接矩阵,关联矩阵,权矩阵,邻接表,十字链…

10 张图解 K8S CNI Calico 网络模型原理与功能实战

一、概述 Calico 是一个联网和网络策略供应商。Calico 支持一套灵活的网络选项,因此你可以根据自己的情况选择最有效的选项,包括非覆盖和覆盖网络,带或不带 BGP。Calico 使用相同的引擎为主机、Pod 和(如果使用 Istio 和 Envoy&am…

vue.js毕业设计,基于vue.js前后端分离外卖点餐系统设计与实现(H5移动项目)

功能介绍 【后台管理员功能】 会员列表:查看所有注册会员信息,支持删除 录入资讯:录入资讯标题、内容等信息 管理资讯:查看已录入资讯列表,支持删除和修改 广告设置:上传图片和设置小程序首页轮播图广告地…

SpringBoot中如何获取request对象呢?

转自: SpringBoot中如何获取request对象呢? 下文笔者讲述SpringBoot中获取Request对象的方法分享,如下所示 Request对象简介 Request对象中封装了客户端的请求信息包含请求头,请求体及其它的请求信息 那么如何在SpringBoot中获取这一重要信息呢&…

点击化学FAM荧光素:6-FAM-alkyne,FAM alkyne 6-isomer,6-炔基-羧基荧光素

【中文名称】6-炔基-羧基荧光素 【英文名称】 FAM alkyne,6-isomer,6-FAM-alkyne 【CAS】478801-49-9 【分子式】C24H15NO6 【分子量】413.39 【纯度标准】95% 【包装规格】25mg,50mg,100mg 【是否接受定制】可进行定制,定制时间周…

华为云RDS数据库测评:性能超出预期,双11优惠还在继续

一、前言 作为一名电商行业公司的员工,深刻体会到系统大压力、高并发下保证服务的正常使用是多么严峻的挑战。双11这段时间,因为激增的使用量让我们的数据库服务严重吃紧,压力特别的大,甚至还出现了交易漏单,脏数据等…

Hive 3.1.3

1.下载安装包 Index of /hive/hive-3.1.3https://dlcdn.apache.org/hive/hive-3.1.3/ 2.安装&修改配置文件 2.1 安装MySQL a. 搜索centos7默认的mariadb & 卸载 [root@node1 ~]# rpm -qa | grep mariadb mariadb-libs-5.5.44-2.el7.centos.x86_64 卸载 [r…