🌈hello,你好鸭,我是Ethan,一名不断学习的码农,很高兴你能来阅读。
✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。
🏃人生之义,在于追求,不在成败,勤通大道。加油呀!
🔥个人主页:Ethan Yankang
🔥推荐:史上最强八股文||一分钟看完我的几百篇博客
🔥温馨提示:划到文末发现专栏彩蛋 点击这里直接传送
🔥本篇概览:详细讲解了JAVA程序的环境是什么、如何配置JAVA环境、JDK、JRE、JVM区别、一个Java程序执行的流程。🌈⭕🔥
【计算机领域一切迷惑的源头都是基本概念的模糊,算法除外】
目录
🌈序言:
JAVA基础必序扎实的一批,此关不过,啥都没有。今日得《JAVA核心技术·卷I》之良品辅助,应按本书学之习之,时时复习,长此以往必能穿魂入脉,习得大功。
感谢Cay S. Horstmann给世界留下如此优美的作品。
对于一个强烈想完全掌握JAVA的技术宅来说,JAVA的XXX万万不能放过,这些基础的概念例程都值得细细体味的,千万别觉得都是文字,浪费时间,记住——别违背科学发展的客观规律。别一味地赶进度以满足自己学的都么快的虚荣心,自欺欺人,要老老实实的走好每一步。
上一篇文章详细讲解了JAVA程序设计概述,建议先将这部分知识掌握之后再来学习本篇内容,点击查看。
🔥《JAVA核心技术卷·I》——第一章——JAVA程序设计概述-CSDN博客
🌈引出:
程序的运行环境
程序的运行环境是一个综合的概念,涵盖了硬件、操作系统、相关软件和各种配置等多方面因素,它们共同作用来支持程序的正常运行和发挥其功能。
那同学们想过没有JAVA程序的环境是什么?包含什么?JDK、JRE、JVM区别是什么?一个Java程序执行的流程是怎样的?什么是JShell?今天这篇文章我们就来详细讲解这些知识点。
🌈1.基本术语
JDK(java development kit) | java开发工具包,包含了 Java 程序开发所需要的一系列工具和 资源。包含编译器、JRE、各种工具 |
JRE(java runtime environment) | Java运行时环境,是运行java程序的软件,包含JVM |
JVM(java virtual machine) | java虚拟机 |
JavaSE(Java standard edition) | Java标准版,用于简单的桌面应用与服务器应用开发 |
JavaEE(Java enterprise edition) | Java企业开发版,用于复杂的服务器平台 |
JavaME(Java micro edition) | Java嵌入式方向平台 |
SDK(software development kit) | 软件开发工具包 |
🌈2.设置JDK
2.1安装JDK【附有安装包】
安装包JDK21版:一键下载
安装包JDK8版:一键下载
--来自百度网盘超级会员V5的分享
--来自百度网盘超级会员V5的分享
最好不要安装在中文和含有空格的路径之下。
下载之后直接解压后,我放如下位置:
2.2配置环境变量
这里一共有三个需要配置,具体我如下:
①在外面新建四个系统变量。
(当然你也可以只建3个,我使用了两个版本。)
分别如下:
CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
JAVA_HOME %JDK8%
JDK21 D:\environment\JDK21\jdk-21.0.2
JDK8 D:\environment\JDK8\jdk1.8.0_131
记住,一定要下载我那两个包,不然你可能不会。(踩了无数次坑忠告)
②在PATH下新增两个项。
PATH是这个:
新增是这个:
%JAVA_HOME%\bin
%JAVA_HOME%jre\bin
网上的教程千千万万,一些是要让你自己去官网下载,你还得弄个Oracle账号;一些是别人成功了,你搞半天怎么搞也搞不成功。按照我的来,保证你成功,如果帮到你的话,可以的话点个赞哈!
🌈3.使用命令行工具
下面讲解从命令行编译运行Java文件,假设文件源代码文件hello.java已被保存在本地。
首先进入java文件存放的目录,这里我直接将其放在桌面。
3.1编译:
javac 文件名.java
注意这里需要加后缀.java。
3.2运行:
java 类名
注意这里不需要加后缀,直接是指定类名即可。
【效果如图】
🌈3.3JAVA程序从编写到运行的整个流程
精简:
javac是一个java编译器,他将文件Hello.java编译成Hello.class。java程序启动java虚拟机,虚拟机将编译器编译到类文件(.class)中的字节码加载进内存并执行,执行过程中可能会遇到JIT优化。将常用的字节码进一步编译成机器码缓存便于下次使用。类文件执行的过程设计各种运算、内存操作、方法调用等,这些操作最终会转化为CPU的指令请求。CPU根据输出再结果反馈给JVM,JVM 再根据程序的逻辑进行后续的处理和输出。如此反复之。
详尽:
当我们使用 javac
编译器对 Hello.java
文件进行编译时,javac
会对源代码进行词法分析、语法分析、语义检查等一系列操作,将其转换为符合 Java 虚拟机规范的字节码,并存储在 Hello.class
文件中。
当我们运行这个 Java 程序时,通过执行 java
命令启动 Java 虚拟机(JVM)。JVM 首先会进行一些初始化工作,包括加载必要的系统类库等。
然后,JVM 读取 Hello.class
文件,将其中的字节码加载到内存中。JVM 中的解释器会逐行解释执行这些字节码指令。
在执行过程中,字节码指令可能会涉及到各种运算、内存操作、方法调用等。当遇到一些频繁执行的代码片段时,JVM 可能会通过即时编译器(JIT)将这些字节码进一步编译成本地机器码,以提高执行效率。
这些运算和操作最终会转化为对 CPU 的指令请求。CPU 会根据这些指令进行计算、数据处理等操作,并将结果反馈给 JVM。JVM 再根据程序的逻辑进行后续的处理和输出。
整个过程是一个复杂而有序的交互过程,通过 JVM 作为中间桥梁,将 Java 程序的逻辑转化为 CPU 能够理解和执行的指令,从而实现程序的功能。
💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖
热门专栏推荐
🌈🌈计算机科学入门系列 关注走一波💕💕
🌈🌈CSAPP深入理解计算机原理 关注走一波💕💕
🌈🌈微服务项目之黑马头条 关注走一波💕💕
🌈🌈redis深度项目之黑马点评 关注走一波💕💕
🌈🌈JAVA面试八股文系列专栏 关注走一波💕💕
🌈🌈JAVA基础试题集精讲 关注走一波💕💕
🌈🌈代码随想录精讲200题 关注走一波💕💕
总栏
🌈🌈JAVA基础要夯牢 关注走一波💕💕
🌈🌈JAVA后端技术栈 关注走一波💕💕
🌈🌈JAVA面试八股文 关注走一波💕💕
🌈🌈JAVA项目(含源码深度剖析) 关注走一波💕💕
🌈🌈计算机四件套 关注走一波💕💕
🌈🌈数据结构与算法 关注走一波💕💕
🌈🌈必知必会工具集 关注走一波💕💕
🌈🌈书籍网课笔记汇总 关注走一波💕💕
📣非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤收藏✅ 评论💬,大佬三连必回哦!thanks!!!
📚愿大家都能学有所得,功不唐捐!