Java是美国Sun公司(Stanford University Network)在1995年推出的高级编程语言,是一门面向对象的编程语言。随后Sun公司在2009年被财大气粗的甲骨文(Oracle)公司收购
James Gosling(詹姆斯·高斯林)是Java语言的创始人之一,被称Java之父
Java的设计之初式根据嵌入式软件的要求,对C++进行改造而开发出来的,随后发现该语言编写的程序非常小,适合在网络上传输,从此开始流行起来
Java名字的由来还有一个小故事,Java在进行设计时原名是叫Oak,但在申请注册商标时候发现Oak已经被人使用了,最终使用了提议者在喝一杯Java咖啡时无意提到的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年发布)
学习Java肯定离不开JVM, JRE和JDK,那么他们分别是什么东西呢?为什么需要他呢?
JVM的全称是Java Virtual Machine,即Java虚拟机
Java有一个广为人知的特性,跨平台性,什么是跨平台性呢?举一个栗子,你在电脑安装了一个腾讯QQ,但是你把这个安装包发到手机是没办法使用的,因为你的电脑是Windows系统,手机是Android系统,这就叫没有跨平台性
Java语言的跨平台性:跨,意思是不区分;平台,代表是操作系统,Java只需要编写一次操作程序,就可以到处运行,那么实现这个特性的,依靠的就是Java的语言的核心 --> JVM
下面来个图
注意:Java虚拟机本身是不具有跨平台性的,每个操作系统都有不同版本的虚拟机,具有跨平台性的是Java程序,Java程序依靠不同版本的虚拟机进行“翻译”,翻译成各个操作系统能听懂的话来实现跨平台的特性
JRE的全称是Java Runtime Environment,即Java运行环境,包含JVM与核心类库(API)
简单来说,如果你想要运行Java程序,那么你就需要安装JRE
JDK的全称是Java Development Kit,即Java开发工具包,包含JRE与其它开发工具
作为开发人员,JDK是我们必须安装使用的,Java每个版本的更新实际上就是JDK的更新,通常情况下会更新一些新的特性或者优化,这也是程序员最为关心的
Java发布至今已经25年了,JDK的大版本也有十几个迭代,但并不是每一个版本的发布都会有人愿意去更新,也并非每一个版本都能成为当时的主流
据调查统计,即使现在最新版本已经更新到了Java 14,但Java 8的市场占有率仍然在7成以上,另外一个占大头的版本是Java 11,但也仅仅占大约2成份额
Java8 新增了非常多的特性,主要有以下几种:
Java 11的主要新特性:
前面说了,Java的现今的长期支持版本是8和11,什么是长期支持版本呢?我们先来说说普通版本,自从Java 9以后,Java大版本的更新频率就变成了半年一次,分别是3月和9月, 可见大版本的更新频率之高,但是,甲骨文公司更新了那么多版本,不可能对每一个版本都提供长期的技术支持,例如补丁、安全性增强之类的,因此例如Java 9、Java 10、Java 12、Java 13、Java 14,甚至后续的Java 15和16都是普通版本,只提供半年的技术支持,换言之,下一个新版本的发布,旧版本就会停止技术支持。长期支持版本可不同,按照甲骨文公司的计划,Java 8的技术支持可提供到2030年,而Java 11的技术支持可提供到2026年
贴上官网的网址及计划表https://www.oracle.com/java/technologies/java-se-support-roadmap.html
如果你作为公司的决策人,你会使用长期支持版本还是普通版本呢?那肯定是毫无疑问的,这也就是Java 8和Java 11是当前市场份额最高的版本的原因
那么下面再来分析一下,占大头的为什么是Java 8而不是Java 11呢?首先从时间线上来看,Java 8先于Java 11发布,Java 8已经发布6年有余,而Java 11发布不够2年,市场份额高似乎理所当然。另外,对于企业来说,升级一个Java版本费时费力,起码还得花费半个月到一个月的时间,那就得有足够的利益驱使我才会去升级一个版本。话说回来,Java 8是Java的一次重大更新,相比之下Java 11就显得有点平淡,有点不那么够意思的感觉,因此很多企业也愿意停留在Java 8,部分需要使用Java 11新特性的才会去主动升级
下载链接先扔出来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版本