Java版本区分/Java语言特性/JDK、JRE、JVM 三者关系/Java 的加载与执行

1.1 什么是Java语言

Java语言:是美国Sun公司(Stanford University Network)在1995年推出的计算机语言

Java之父:詹姆斯·高斯林(James Gosling)

重要事件:2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:https://www.oracle.com 

Java 是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了 C++里难以理解的多继承、指针等概念,因此 Java 语言具有功能强大和简单易用两个特征。

1.2  Java版本的区分

2005 年,Java 诞生十周年,从之前的J2SE/J2EE/J2ME 分别改名为:JaveSE/JavaEE/JavaME。

如上图所示,JavaEE 和JavaME 都包含JavaSE。实际上,这三大块就是Java 的三大版本。

JavaSE 是Java 的标准版,是学习JavaEE 和JavaME 的基础,JavaEE 是企业版,JavaME 是微型版。

JavaSE:java基础语法+核心技术

JavaEE:企业版,为我们提供了13项技术规范,这些技术规范其中都包含了例如:

Web开发、数据库JDBC开发、邮件开发…

但是实际项目开发中,JavaEE(企业版),我们根本就不用!!!

因为Java的类库,不仅仅只是第一方强大,很多第三方提供的类库更加的强大。

例如我们要开发邮件系统,虽然JavaEE为我们提供了相应的类库,但是JavaEE为我们提供的类库不好用。甚至好多其他的规范不能用。

我们现在就拿开发邮件来举例,很多第三方提供的类库是非常好用的,所以实际项目开发中,我们肯定是不会用到JavaEE提供的技术规范。

如果说要使用JavaEE的类库,我们未来的实际项目开发,只使用两项规范。

这两项规范是我们在实际工作中做web相关开发的。

JavaME:微型版、游戏版 现在早就已经过时了

1.3 Java语言特性

①  简单性Java 语言底层采用C++语言实现,相对于C++来说,Java 是简单的,在Java语言中程序员不需要再操作复杂的指针(指针的操作是很复杂的),继承方面也是只支持单继承(C++语言是一种半面向对象的编程语言,支持多继承,多继承会导致关系很复杂),在很多方面进行了简化。

②  面向对象Java 中提供了封装、继承、多态的面向对象机制。

③  健壮性:在C++程序当中的无用数据/垃圾数据需要编程人员手动释放,当忘记释放内存的时候,会导致内存使用率降低,影响程序的执行;在Java 语言当中这种问题得到了解决,因为Java 语言引入了1)自动垃圾回收机制(GC 机制)Java 程序启动了一个单独的垃圾回收线程,时刻监测内存使用情况,在特定时机会回收/释放垃圾数据,这样会让内存时刻处于最好的状态。

多线程:Java 语言支持多个线程同时并发执行,同时也提供了多线程环境下的安全机制。

可移植性/跨平台:可移植性/跨平台表示Java 语言只需要编写/编译一次,即可处处运行。Java 代码既可以运行在windows 的环境下,又可以运行在Linux 的环境下,而不需要修改Java 源程序,那么它是怎么做到的呢?功劳全在于“Java 虚拟机(Java Virtual Machine,简称JVM)”这种机制,实际上 Java 程序运行的时候并不是直接运行在操作系统上面的,而是在操作系统上先安装了一个 JVM,把 Java 程序放到了 JVM 当中运行,JVM 屏蔽了各操作系统之间的差异,这样就完成了跨平台。2)一次编译,随处运行

 

大家对以上的特性来说重点知道Java 的跨平台性以及垃圾回收机制即可,其它的作为了解。


 

1.4  JDKJREJVM 三者关系

① JDK:JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。它是每一个 Java 软件开发人员必须安装的。JDK 安装之后,它会自带一个 JRE,因为软件开发人员编写完代码之后总是要运行的。注意:如果只是在这台机器上运行 Java 程序,则不需要安装 JDK,只需要安装 JRE 即可(JRE 是有独立安装包的,这个大家可以从 Oracle 官网上找一下)。

② JRE:JRE(Java Runtime Environment,Java 运行环境),运行JAVA 程序所必须的环境的集合,包含JVM 标准实现及Java 核心类库。

①  JVM:JVM 是Java Virtual Machine(Java 虚拟机)的缩写,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM 是实现Java 语言跨平台的法宝。 

如图所示:

JDK、JRE、JVM 之间存在这样的包含关系:JDK 包含JRE,JRE又包含JVM。换句话说,只要安装了JDK,JRE 和JVM 则自动就安装了。

JDK:java开发工具包(SDK

做java开发,JDK必须安装

JDK安装之后,自带安装JRE

JRE:java运行环境

Java核心类库+JVM虚拟机

JVM: java虚拟机,是真正运行java程序的

JVM可跨平台


 1.5了解 Java 的加载与执行

 

 

 

 

posted @ 2022-01-04 01:03  鹿先森JIAN  阅读(440)  评论(0编辑  收藏  举报