【Java基础_01】Java运行机制及运行过程

【Java基础_01】Java运行机制及运行过程

文章目录

  • 【Java基础_01】Java运行机制及运行过程
  • 1.Java 运行机制及运行过程
    • 1.1 Java 核心机制-Java 虚拟机 [JVM java virtual machine] 
    • 1.2 JDK,JRE
    • 1.3 JVM,JDK和JRE
    • 1.4 环境变量path
      • 1.4.1 为什么要配置path
      • 1.4.2 配置环境变量 path 的步骤
      • 1.4.3 环境变量配置细节说明
    • 1.5 Java运行
      • 什么是编译
      • 什么是运行
      • 注意事项
    • 1.6 转义字符
      • 1.7 文档注释
      • 1.8 Java代码规范
    • 1.9 DOS相关
      • 1.9.1 DOS介绍
      • 1.9.2 相对路径、 绝对路径
      • 1.9.3 常用的dos指令

1.Java 运行机制及运行过程

1.1 Java 核心机制-Java 虚拟机 [JVM java virtual machine] 

1)JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在 JDK 中.
2) 对于不同的平台,有不同的虚拟机。
3) Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行” [说明]
在这里插入图片描述在这里插入图片描述

1.2 JDK,JRE

  1. JDK 的全称(Java Development Kit Java 开发工具包)
    JDK = JRE + java 的开发工具 [java, javac,javadoc,javap 等]
    JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE。安装了 JDK,就不用单独安装JRE了。
    2)JRE(Java Runtime Environment Java 运行环境)
    JRE = JVM + Java 的核心类库[类] ,即包括 Java 虚拟机(JVM Java Virtual Machine)和 Java 程序所需的核心类库等,如果想要运行一个开发好的 Java 程序, 计算机中只需要安装 JRE 即可。

1.3 JVM,JDK和JRE

JDK = JRE + 开发工具集(例如 Javac,java编译工具等)
JRE = JVM + Java SE 标准类库(java 核心类库)
如果只想运行开发好的 .class 文件 只需要 JRE
在这里插入图片描述

1.4 环境变量path

1.4.1 为什么要配置path

在这里插入图片描述

1.4.2 配置环境变量 path 的步骤

在这里插入图片描述表明JAVA_HOME指向jdk安装目录的位置
%JAVA_HOME%\bin表示会到JAVA_HOME指定的目录下面的bin目录去找相关的指令

1.4.3 环境变量配置细节说明

在这里插入图片描述
Adminnistrator表示对Adminnistrator这个用户生效的环境变量,系统变量表示对所有登录的用户都生效的环境变量。

1.5 Java运行

开发一个 test1.java 程序,可以输出hello world
注意以下指令要cd到源文件目录下进行

什么是编译

javac test1.java // 对该java文件进行编译->生成test1.class文件

1.有了java源文件,通过编译器将其编译成JVM可以识别的字节码文件。
2.在该源文件目录下,通过javac编译工具对test1.java文件进行编译。
3.如果程序没有错误,没有任何提示,但在当前目录下会生成一个test1.class文件,该文件被称为字节码文件,也是可以执行的java程序。

什么是运行

java test1 //运行class文件,写指令时不用加class,因为直接执行test1这个类

1.有了可执行的java程序(test1.class字节码文件)。
2.通过运行工具java.exe对字节码文件进行执行,将.class装载到JVM机执行。

在这里插入图片描述
在这里插入图片描述

注意事项

1.Java源文件以.java为扩展名,源文件的基本组成部分是类(class)。
2.一个源文件中只能有一个public类,其他类的个数不限,如果有一个public类了,那么文件名必须按照该类名命名。
3.Java应用程序的执行入口是main()方法,它有固定的书写格式:
public static void main(String[] args){…}
4.也可以将main写在非oublic类中,制定运行非public类,这样入口方法就是非public的main方法。(main入口可以有多个)

1.6 转义字符

在这里插入图片描述
java19里\r和\n好像是一样的了,可以先不用区分。java8中是汇到已输入字符的第一个字。System.out.println(“北京\r 天”); // 天京

一个\t对不齐可以试着多用几个\t

1.7 文档注释

在这里插入图片描述

/** * @author xx* @version 1.0*///@后面写什么有规定不能乱写//敲了/** 后面会跟着出来剩下的

1.8 Java代码规范

在这里插入图片描述

自己用行尾比较多

1.9 DOS相关

1.9.1 DOS介绍

通过控制台操纵DOS系统完成相关指令
在这里插入图片描述

1.9.2 相对路径、 绝对路径

在这里插入图片描述

关于相对路径的返回上一级:windows是..\,inux系统用的是../
../../是返回上两级

1.9.3 常用的dos指令

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/631624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mesh自组网通信技术概述

Mesh自组网核心技术 Mesh自组网(Mesh Networking)是一种网络技术,主要用于在多个节点之间建立动态的、自我管理的网络连接。这种技术的核心在于其自我组织和自我修复的能力,使得网络能够在节点移动或节点故障时自动调整。以下是Me…

2024.1.17 用户画像day02 - Elastic Search

目录 ES和数据库的类比 ELK集中日志协议栈介绍 ES的介绍 ES的架构 ES中的名词 ES中的角色 分片与副本的区别在于: MYSQL分库与分表: 倒排序索引: ES写入数据原理: ES读取、检索数据原理: 重点: ES 的架构 , ES读写的原理 ES和数据库的类比 关系型数据库非关系型数…

C++发展史

目录 什么是C C的发展史 C的重要性 C在实际工作中的应用 “21天教你学会C” 什么是C 先看看祖师爷,记得多拜拜🤭 C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的 程序,需要高度…

Vue3 + Electron框架读取程序外部配置文件

网上找了一堆都不行,根据这个步骤来肯定能用 1. 在项目下新建一个config.json文件 2. json文件中写入一些配置 3. vue.config.js中配置打包时把config.json文件copy到应用目录下 pluginOptions:{electronBuilder:{nodeIntegration:true,builderOptions: {extraReso…

MySQL表的基本插入查询操作详解

博学而笃志,切问而近思 文章目录 插入插入更新 替换查询全列查询指定列查询查询字段为表达式查询结果指定别名查询结果去重 WHERE 条件基本比较逻辑运算符使用LIKE进行模糊匹配使用IN进行多个值匹配 排序筛选分页结果更新数据删除数据截断表聚合函数COUNTSUMAVGMAXM…

怎样实现安全便捷的网间数据安全交换?

数据安全交换是指在数据传输过程中采取一系列措施来保护数据的完整性、机密性和可用性。网间数据安全交换,则是需要进行跨网络、跨网段甚至跨组织地进行数据交互,对于数据的传输要求会更高。 大部分企业都是通过网闸、DMZ区、VLAN、双网云桌面等方式实现…

2024美赛数学建模思路 - 案例:ID3-决策树分类算法

文章目录 0 赛题思路1 算法介绍2 FP树表示法3 构建FP树4 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法,就是频繁模…

redis数据安全(一)数据持久化

一、Redis数据安全措施: 1、将数据持久化至硬盘 2、将数据复制至其他机器; 复制是在数据持久化的基础上进行的。 二、将数据持久化至硬盘 1、介绍:Redis是一个基于内存的数据库,它的数据是存放在内存中,内存有个问题就是关闭…

Python中使用HTTP代理进行网络请求

在Python中,HTTP代理是一种常用的技术,用于控制和修改HTTP请求和响应。通过使用HTTP代理,我们可以更好地控制网络请求的行为,提高安全性、隐私性和效率。下面我们将详细介绍如何在Python中使用HTTP代理进行网络请求。 一、HTTP代…

风丘科技为您提供完整的ADAS测试方案

一 方案概述 随着5G通讯与互联网的快速发展,智能汽车和ADAS辅助系统的研究与发展在世界范围内也在如火如荼地进行。风丘科技紧跟时代脚步,经多年积累沉淀,携手整车厂与高校共同研发打造出了一套完整且适用于国内ADAS测试的系统方案。 | ADAS…

sql中的explain关键字用法

在SQL中,使用EXPLAIN关键字可以获取查询的执行计划,以便进行性能优化和查询调优。执行计划提供了关于查询操作的详细信息,涵盖了多个表头字段,每个字段都提供了特定的信息。以下是explain表头字段解释: id&#xff1…

工厂企业消防安全AI可视化视频智能监管解决方案

一、方案背景 2023年11月20日下午6时30分许,位于江苏省无锡市惠山区前洲街道的某公司突发严重火灾,共造成7人死亡。这次火灾提醒我们工业安全至关重要,企业都应该时刻保持警惕,加强安全意识和培训,提高应对突发事件的…

vue实现 marquee(走马灯)

样式 代码 <div class"marquee-prompt"><div class"list-prompt" refboxPrompt><span v-for"item in listPrompt" :title"item" class"prompt">{{item}}</span></div> </div>data() {…

【分布式监控】zabbix与grafana连接

1.在zabbix- server服务端安装grafana&#xff0c;并启动服务 先在官网下载软件 https://grafana.com/grafana/download/9.4.7?editionenterprise&pggraf&plcmtdeploy-box-1#可以翻译成中文介绍&#xff0c;很详细的教程 yum install -y https://dl.grafana.com/ent…

PDF转PowerPoint - Java实现方法

通过编程实现PDF转PPT的功能&#xff0c;可以自动化转换过程&#xff0c;减少手动操作的工作量&#xff0c;并根据需要进行批量转换。将PDF文件转换为PPT文档后&#xff0c;可以利用PPT的丰富功能和动画效果&#xff0c;达到更好的演示效果。 在Java中&#xff0c;我们可以使用…

100天精通鸿蒙从入门到跳槽——第5天:TypeScript 知识储备:函数

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通Golang》…

群晖NAS搭建WebDav结合内网穿透实现公网访问本地影视资源

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

酒类销售新模式:让用户成为你的“免费“推销员!

随着市场的不断变化&#xff0c;传统的销售模式已经无法满足消费者的需求。如何创新商业模式&#xff0c;提高销售量&#xff0c;成为了酒类企业面临的重要问题。最近&#xff0c;一种新型的酒类销售模式悄然兴起&#xff0c;该模式以"利己"和"利他"为核心…

用sdkman在linux上管理多个java版本

概述&#xff1a; SDKMAN 是一个用于管理软件开发工具的工具&#xff0c;允许您轻松地安装、升级和切换不同版本的 JDK、Maven、Gradle 等工具。以下是在 Linux 上安装 SDKMAN! 的基本步骤&#xff1a; 安装SdkMan 使用 curl 安装 SDKMAN!: 打开终端&#xff0c;并运行以下命…

axios的原理及源码解析

面试官&#xff1a;你了解axios的原理吗&#xff1f;有看过它的源码吗&#xff1f; 一、axios的使用 关于axios的基本使用&#xff0c;上篇文章已经有所涉及&#xff0c;这里再稍微回顾下&#xff1a; 发送请求 import axios from axios;axios(config) // 直接传入配置 axio…