3. Java入门之Java是什么?Java 8为什么依然坚挺?(含JDK1.8的安装包及安装步骤)

1. Java的概述

1.1 什么是Java

Java是美国Sun公司(Stanford University Network)在1995年推出的高级编程语言,是一门面向对象的编程语言。随后Sun公司在2009年被财大气粗的甲骨文(Oracle)公司收购

James Gosling(詹姆斯·高斯林)是Java语言的创始人之一,被称Java之父
在这里插入图片描述
Java的设计之初式根据嵌入式软件的要求,对C++进行改造而开发出来的,随后发现该语言编写的程序非常小,适合在网络上传输,从此开始流行起来

Java名字的由来还有一个小故事,Java在进行设计时原名是叫Oak,但在申请注册商标时候发现Oak已经被人使用了,最终使用了提议者在喝一杯Java咖啡时无意提到的Java词语

1.2 Java的发展历史

1995年5月Sun公司正式发布Java 1.0
1996年1月Sun公司发布了Java的第一个开发工具包,也就是JDK 1.0
1997年2月Java 1.1面世
1998年12月Java 1.2发布
2000年5月Java 1.3发布
2002年2月Java 1.4发布
2004年9月Java 5发布,也就是Java 1.5,由于该版本为重大更新,因此也更改了命名规则
2005年6月Java 6发布
2009年4月甲骨文(Oracle)公司收购Sun公司
2011年7月Java 7发布
2014年3月Java 8发布,这是Java更新的又一里程碑,为长期支持版本
2017年9月Java 9发布
2018年3月Java 10发布
2018年9月Java 11发布,为长期支持版本
2019年3月Java 12发布
2019年9月Java 13发布
2020年3月Java 14发布,是目前最新版本
(Java 15预计2020年9月发布,下一长期支持版本为Java 17,预计2021年发布)

2. JVM, JRE与JDK

学习Java肯定离不开JVM, JREJDK,那么他们分别是什么东西呢?为什么需要他呢?

首先扔出一张图
在这里插入图片描述

2.1 JVM

JVM的全称是Java Virtual Machine,即Java虚拟机

Java有一个广为人知的特性,跨平台性,什么是跨平台性呢?举一个栗子,你在电脑安装了一个腾讯QQ,但是你把这个安装包发到手机是没办法使用的,因为你的电脑是Windows系统,手机是Android系统,这就叫没有跨平台性

Java语言的跨平台性:,意思是不区分平台,代表是操作系统,Java只需要编写一次操作程序,就可以到处运行,那么实现这个特性的,依靠的就是Java的语言的核心 --> JVM

下面来个图
在这里插入图片描述
注意Java虚拟机本身具有跨平台性的,每个操作系统都有不同版本的虚拟机,具有跨平台性的是Java程序Java程序依靠不同版本的虚拟机进行“翻译”,翻译成各个操作系统能听懂的话来实现跨平台的特性

2.2 JRE

JRE的全称是Java Runtime Environment,即Java运行环境,包含JVM核心类库(API)

简单来说,如果你想要运行Java程序,那么你就需要安装JRE

2.3 JDK

JDK的全称是Java Development Kit,即Java开发工具包,包含JRE其它开发工具

作为开发人员,JDK是我们必须安装使用的,Java每个版本的更新实际上就是JDK更新,通常情况下会更新一些新的特性或者优化,这也是程序员最为关心的

3. 主流的Java版本

Java发布至今已经25年了,JDK的大版本也有十几个迭代,但并不是每一个版本的发布都会有人愿意去更新,也并非每一个版本都能成为当时的主流

据调查统计,即使现在最新版本已经更新到了Java 14,但Java 8的市场占有率仍然在7成以上,另外一个占大头的版本是Java 11,但也仅仅占大约2成份额

3.1 Java 8与Java 11的新特性

Java8 新增了非常多的特性,主要有以下几种:

  • Lambda 表达式 − Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。
  • 方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。
  • 默认方法 − 默认方法就是一个在接口里面有了一个实现的方法。
  • 新工具 − 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。
  • Stream API −新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。
  • Date Time API − 加强对日期与时间的处理。
  • Optional 类 − Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。
  • Nashorn, JavaScript 引擎 − Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。

Java 11的主要新特性:

  • 本地变量类型推断
  • 字符串加强
  • 集合加强
  • Stream 加强
  • Optional 加强
  • InputStream 加强
  • HTTP Client API
  • 化繁为简,一个命令编译运行源代码

3.2 Java 8流行的原因

前面说了,Java的现今的长期支持版本是811,什么是长期支持版本呢?我们先来说说普通版本,自从Java 9以后,Java大版本的更新频率就变成了半年一次,分别是3月和9月, 可见大版本的更新频率之高但是,甲骨文公司更新了那么多版本,不可能对每一个版本都提供长期的技术支持,例如补丁、安全性增强之类的,因此例如Java 9、Java 10、Java 12、Java 13、Java 14,甚至后续的Java 1516都是普通版本,只提供半年的技术支持,换言之,下一个新版本的发布,旧版本就会停止技术支持。长期支持版本可不同,按照甲骨文公司的计划,Java 8的技术支持可提供到2030年,而Java 11的技术支持可提供到2026

贴上官网的网址及计划表https://www.oracle.com/java/technologies/java-se-support-roadmap.html
在这里插入图片描述
如果你作为公司的决策人,你会使用长期支持版本还是普通版本呢?那肯定是毫无疑问的,这也就是Java 8Java 11是当前市场份额最高的版本的原因

那么下面再来分析一下,占大头的为什么是Java 8而不是Java 11呢?首先从时间线上来看,Java 8先于Java 11发布,Java 8已经发布6年有余,而Java 11发布不够2年,市场份额高似乎理所当然。另外,对于企业来说,升级一个Java版本费时费力,起码还得花费半个月到一个月的时间,那就得有足够的利益驱使我才会去升级一个版本。话说回来Java 8Java的一次重大更新,相比之下Java 11就显得有点平淡,有点不那么够意思的感觉,因此很多企业也愿意停留在Java 8,部分需要使用Java 11新特性的才会去主动升级

3.3 JDK1.8的安装及环境变量的配置

下载链接先扔出来https://download.csdn.net/download/weixin_45453739/12538076

JDK的安装步骤也很傻瓜式,无脑next就行,不过要注意的一点是,安装路径不要出现中文和中文标点符号

安装完成后,工作还没结束,我们需要配置环境变量

为什么要配置环境变量呢?简单来说,就相当于告诉电脑我的java编译器在哪里

此电脑 -> 右键 -> 属性
在这里插入图片描述
打开高级系统设置
在这里插入图片描述
高级处,找到环境变量
在这里插入图片描述
系统变量新建
在这里插入图片描述
变量名JAVA_HOME变量值通过浏览目录,找到你安装的JDK位置注意只选择到 jdkxxx的文件夹,不要再向下选择 bin,填好后确定
在这里插入图片描述
然后找到Path,选择新建,然后输入%JAVA_HOME%\bin
在这里插入图片描述
全部确定保存后就配置好了,接下来win + R打开运行窗口,输入cmd回车打开命令窗口
在这里插入图片描述
在命令窗口内输入java,能出现信息代表已经安装配置好了
在这里插入图片描述
此时也可输入命令java -version查看所安装的JDK版本
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45453739/article/details/106868004