Java概述
Java由来
Java是由James Gosling设计的。最初是为了网联化的市场前景而开启的项目计划,起名为Oak,但这个市场并不友好,这个项目就被搁置了;但在1994 年,该项目小组看到了浏览器在未来的发展前景,于是决定将 OaK 应用于万维网,就这样Java诞生了。随着Java的发展,体系越来越完整;截止到2024年9月,已经到JDK23了。
Java名词解释
JDK、JRE、JVM
JVM(Java Virtual Machine):Java虚拟机(bin目录下的文件),其就是一个运行在操作系统上的一个软件,用于将Java编译后的 .class 文件(字节码文件)转化成机器码(二进制代码文件)。但有一个问题就是:实际的物理机器不同(Windows、Linux等),二进制代码的编码方式也不一样,这样就没办法统一转化成一种形式的机器码了;所以Java的一次编译、处处运行实际上靠的是特定机器上的JVM来转化成该机器可执行的二进制文件,所以不同物理机器(不同操作系统)所用的JVM不一样,下载的时候需要注意。这里可以说一下:其实所谓的跨平台运行的道理就是将与特定平台无关的逻辑单独抽离出来整合(编译、字节码文件),将不能跨平台的部分按照特定平台的需求依次实现(机器码、二进制文件)。JVM需要学习的内容非常多,也很有趣,但这里先简单了解一下它是用来将字节码转化为特定平台的机器码即可(后面再专门学)。
JRE(Java Runtime Environment):Java运行环境(bin目录和lib目录下的文件),JRE = JVM + Java核心类库,在编译后的字节码文件中包含一些依赖的类库,为了将这些引入的类库和该字节码文件整合,这就需要JRE出手了,它包含了JVM和lib下Java包含的核心类库,帮助JVM将字节码转化为机器码。
JDK(Java Development Kits):Java开发工具包(整个下载下来的JDK),JDK = JRE + Java开发工具集 = JVM + Java核心类库 + Java开发工具集,JDK包括编译、转化、打包工具等,是整个Java程序运行的必要程序集。
JSR、JCP
JCP(Java Community Process):是一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新,监督Java的发展,设立Java规范标准(看起来还是相当正式的,Java还是庞大的)。
JSR(Java Specification Requests):Java 规范请求(或者活规范提案)。这个请求(提案)是提给 JCP 的(Java Community Process);只能说这么多人一起努力,才有了Java现在这样的水平。
Java SE、Java EE、Java ME
- Java SE:Standard Edition
- Java EE:Enterprise Edition
- Java ME:Micro Edition
简单来说,Java SE就是标准版,包含标准的JVM和标准库,而Java EE是企业版,它只是在Java SE的基础上加上了大量的API和库,以便方便开发Web应用、数据库、消息服务等,Java EE的应用使用的虚拟机和Java SE完全相同。Java ME就和Java SE不同,它是一个针对嵌入式设备的“瘦身版”,Java SE的标准库无法在Java ME上使用,Java ME的虚拟机也是“瘦身版”。
标签:类库,文件,Java,字节,初识,JVM,SE From: https://www.cnblogs.com/cmhjavastudy/p/18560654