Java基础知识(体系与特点、特性、JVM与GC概述、JDK与JRE)与环境变量
一、Java体系与特点
JavaSE是的基础,主要应用于桌面开发以及一些商务应用的解决方案 。但是Java并不擅长这方面
的开发,更多的是应用于服务器端的开发,也就是JavaEE,它更擅长以企业为环境而开发应用程序的
解决方案。剩下的还有JavaME,它现在的应用场景很少了,主要用于一些嵌入式设备的开发。
二、Java特性
1. 一种纯面向对象的程序语言,相对于其他非面向对象的程序语言来说有很多优点
2. 一种与平台无关(跨平台)的语言。(它提供了在不同平台下运行的解释环境)
跨平台:编写的代码可以在不同的平台开发,例如windows环境下编写的代码可以在苹果电脑运行,
目前很多语言都有这种特性。
3. 一种健壮的语言,吸收了C/C++语言的特点
底层有很多C/C++的语言特点,保留好的地方,不好的地方进行替代。
4. 有较高的安全性(自动回收,强制类型检查,取消指针)
在进行某些有可能出错的操作时是不允许操作的,会有一些异常提示。
5. 自动回收垃圾功能
程序在运行的过程中会持续占用我们的内存,因此不使用时应该释放掉这部分内存,C/C++需要程序
员自己去处理程序产生的内存垃圾,而Java有一个自动回收垃圾的垃圾回收器,称为GC。它会不定时的
观察我们的程序是否会产生垃圾,然后把垃圾回收掉。
三、JVM与GC概述
跨平台的原理是:Java代码通过编译变成一个叫字节码的文件,它的格式是.class,可以被虚拟机JVM运
行,可以看作现实中的翻译官,把字节码翻译给其他平台,实现代码在其他平台的运行,在不同的平台有不同
的JVM。
JVM可以理解成一个可运行Java字节码的虚拟计算机系统,它有一个解释器组件,可以实现Java字节码和
计算机操作系统之间的通信,对于不同的平台有不同的JVM。
GC又叫垃圾回收器,不再使用的内存空间应当进行回收,在C/C++等语言中,由程序员负责回收无用内存,
Java语言消除了程序员回收无用内存空间的责任。JVM提供了一个系统线程,用于跟踪存储空间的分配情况,检
查并释放那些可以被释放的存储空间。垃圾回收器在Java程序运行过程中自动启用,程序员无法精确控制和干预。
四、JDK与JRE
JDK指的是开发工具集,里面包含一个JRE,除此之外还包含一些工具程序和api,JRE指的是对我们编译好的程
序进行运行的一套工具。
JDK:
1. JRE——Java运行时环境
2. JVM
3. JavaAPI(应用程序编程接口)
4. Java编译器(javac.exe)、Java运行时解释器(java.exe)、Java文档化工具(javadoc.exe)及其它工具资源
JRE:
1. 加载代码:由类加载器(class loader)完成;
2. 校验代码:由字节码校验器(byte code verifier)完成;
3. 执行代码:由运行时解释器(runtime interpreter)完成。
五、环境变量
1. 什么是环境变量
环境变量是指在进行指令执行时,为执行的指令提供的环境。
2. 为什么要配置环境变量
使用环境变量便于指令的快速执行。
3. 合理地配置文件
新建环境变量,填写变量名以及软件安装的路径(例如JAVA_HOME,C:\Program Files\Java\jdk-11.0.6),然后在path
里面添加(新建的变量名+“\”+需要到的路径+“;”,例如:JAVA_HOME\bin;)需要改变版本时在新建的环境变量里面改,尽
量不再path里面改,防止删多或删少导致path出错。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?