Java概述

简介: 本篇为Java基础部分的内容,主要介绍了JDK、JRE和JVM及其三者的关系。

关于Java的概述,Java的简介和发展史有兴趣的可以去了解一下,这里不做探究。本节的主要内容如下,先来个导图镇楼。
Java概述导图.png

1、J相关

要学Java,首先得了解JDK、JRE和JVM,首先从目录结构上分析所属范围,最后再得到一个整体的关系认识。

1.1 JDK

​JDK (Java Development Kit),Java标准开发包,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境(JRE),以及常用的 Java类库等。​​
jdk.png

1.2 JRE

1)JRE ( Java Runtime Environment) :Java运行环境,用于解释执行Java的字节码文件。普通用户只需要安装 JRE来运行 Java 程序。而程序开发者必须安装 JDK来编译、调试程序。
2)JRE安装目录:里面有两个文件夹 bin和 lib,一般认为 bin里的就是 jvm,lib中则是 jvm工作所需要的类库,而 jvm和 lib和起来就称为 jre。
jre.png

1.3 JVM

1) JVM(Java Virtual Mechinal),Java虚拟机,是 java 编程语言的核心并且具有平台独立性,是JRE的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件(.class) 的虚拟计算机。所有平台的上的JVM向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。当使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码只面向JVM。不同平台的JVM都是不同的,但它们都提供了相同的接口。JVM是Java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行。
2)Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java能够“一次编译,到处运行”的原因。
3)bin目录下主要可执行文件及其作用:
java:这个可执行程序其实就是JVM,运行Java程序,就是启动JVM,然后让JVM执行指定的编译后的代码;
javac:这是Java的编译器,它用于把Java源码文件(以.java后缀结尾)编译为Java字节码文件(以.class后缀结尾);
jar:用于把一组.class文件打包成一个.jar文件,便于发布;
javadoc:用于从Java源码中自动提取注释并生成文档;
jdb:Java调试器,用于开发阶段的运行调试。
jvm.png

1.4 关系

三者的关系可以简化如下:
j联系.png

1.5 面试可能问的问题

1)JDK、JRE、JVM 三者什么关系?
2)怎么理解Java 被称作是“平台无关的编程语言”?
3)JDK 各版本的新特性?(拓展)
4)Java 和 C++ 有什么区别?(拓展)
前两问答案已经在上面,剩余两问请读者自行查阅资料并思考。

1.6 JSP、JCP(可不看)

1)JSR规范
为了保证Java语言的规范性,SUN公司搞了一个JSR规范,凡是想给Java平台加一个功能,比如说访问数据库的功能,大家要先创建一个JSR规范,定义好接口,这样,各个数据库厂商都按照规范写出Java驱动程序,开发者就不用担心自己写的数据库代码在MySQL上能跑,却不能跑在PostgreSQL上。
2)JCP组织
JSR是一系列的规范,从JVM的内存模型到Web程序接口,全部都标准化了。而负责审核JSR的组织就是JCP。

2、Java主要特性(简单了解)

面向对象、健壮性、安全性、多线程、跨平台/可移植性、动态性等。有很多,简要了解即可。

目录
相关文章
|
IDE Oracle Java
java基础教程(1)-Java概述和相关名词解释
【4月更文挑战第1天】Java是1995年Sun Microsystems发布的高级编程语言,以其跨平台特性著名。它介于编译型和解释型语言之间,通过JVM实现“一次编写,到处运行”。Java有SE、EE和ME三个版本,分别针对标准、企业及嵌入式应用。JVM是Java虚拟机,确保代码在不同平台无需重编译。JRE是运行环境,而JDK包含开发工具。要安装Java开发环境,可从Oracle官网下载JDK,设置JAVA_HOME环境变量并添加到PATH。
212 0
|
2月前
|
Java 应用服务中间件 Docker
java-web部署模式概述
本文总结了现代 Web 开发中 Spring Boot HTTP 接口服务的常见部署模式,包括 Servlet 与 Reactive 模型、内置与外置容器、物理机 / 容器 / 云环境部署及单体与微服务架构,帮助开发者根据实际场景选择合适的方案。
110 25
|
6月前
|
开发框架 移动开发 Java
课时2:Java简介(Java发展概述)
课时2:Java简介(Java发展概述) 摘要: 1. Java基础知识:介绍Java作为编程语言及其思想。 2. Java的发展历史:从1991年GREEN项目到1995年正式推出,历经网景公司、HotJava浏览器等关键节点。 3. Java的版本信息:涵盖从JDK 1.0到JDK 1.8的主要版本及特性,如Lambda表达式和模块化支持。
|
网络协议 算法 Java
【Java网络编程】网络编程概述、UDP通信(DatagramPacket 与 DatagramSocket)
【Java网络编程】网络编程概述、UDP通信(DatagramPacket 与 DatagramSocket)
194 3
|
安全 Java API
Java 18 概述:新特性一览
Java 18 作为 Java 平台的最新版本,引入了多项令人振奋的新特性和改进,包括模式匹配、记录类型、流库改进、外部函数与内存 API 以及并发处理增强。这些新功能不仅提升了开发者的生产力,还显著增强了 Java 的性能和安全性。本文将详细介绍 Java 18 的主要新特性,并通过代码示例帮助读者更好地理解和应用这些功能。
249 3
|
存储 Oracle Java
01 Java概述基础与计算机基础(DOS+进制+原码反码补码)
01 Java概述基础与计算机基础(DOS+进制+原码反码补码)
112 17
|
存储 算法 Oracle
19 Java8概述(Java8概述+lambda表达式+函数式接口+方法引用+Stream+新时间API)
19 Java8概述(Java8概述+lambda表达式+函数式接口+方法引用+Stream+新时间API)
126 8
|
Java 数据安全/隐私保护
09 Java面向对象三大特征(概述)
09 Java面向对象三大特征(概述)
158 4
|
安全 Java 编译器
Java第一课——Java详细图文概述
Java第一课——Java详细图文概述
112 6
Java第一课——Java详细图文概述
|
设计模式 算法 Java
Java设计模式:核心概述(一)
Java设计模式:核心概述(一)

热门文章

最新文章