小工具知识网

当前位置: 首页 > 行业知识 > 01-初始Java-JDK下载和安装配置

行业知识

01-初始Java-JDK下载和安装配置

2026-10-26 23:11:34 来源:互联网转载

1 概述

Java���什么: 

  1. Java是一门非常优秀的计算机编程语言

○ Java 英文翻译为印尼爪哇岛,地名,因盛产咖啡而闻名,漫漫长夜、唯 有咖啡陪伴程序员

○ 1991年诞生,叫做 Oak (橡树),1995年改名为 Java ,2000年前后,成为世界上最流行的编程语言,过去二十多年中蓬勃发展、孤独求败。

○ 语言:人与人交流沟通的表达方式

○ 计算机语言:人与计算机之间进行信息交流沟通的特殊语言

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

○ Java 编程语言的共同创始人之一,公认的Java之父

○ 1955年5月19日诞生于加拿大,1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位。

○ 毕业后到IBM工作,设计IBM第一代工作站 NeWS系统 ,但不受重视。后来转至Sun公司。1990年,与Patrick Naughton和Mike Sheridan等人合作开发"绿色计划"项目,期间开发了一套语言叫做 Oak ,后改名为 Java 。

2 历史

Java 的历史要追溯到 1991 年,当时Sun 公司的詹姆斯·高斯林(James Gosling)及其团队要完成一个项目"Green",该项目需要设计一种小型的计算机语言,主要用于有线电视转换盒这类的消费设备。由于这类设备的处理能力和内存都非常有限,且不同厂商会选择不同的CPU,所以对编程语言有2个明确的要求:

  1. 该语言必须设计的非常小且能够生成紧凑的代码
  2. 该语言不应该与任何特定的体系结构绑定(跨平台)

Sun公司开发团队具有Unix的应用背景,所以以C++为基础语言开发出了这种语言,当时称之为 Oak(橡树) ,后来去注册名称时发现 Oak 这个名字已经被占用, 于是将其改名为 Java 。

Java语言 设计之初主要作为平台独立语言使用,可以嵌入到各种消费类电子设备(家用电器等)中,但市场反应不佳。但随着上个世纪90年代随着互联网的崛起, Java 逐渐成为重要的Web应用开发语言,在过去二十多年中Java蓬勃发展、孤独求败。

世界编程语言排名:

Java关键时间节点:

  1. 1991年4月,由 James Gosling 博士领导的 绿色计划Green 启动项目目的是开发一种能够在各种消费性电子产品(如机顶盒、冰箱等)上运行的程序架构该项目最终的产品是 Oak(橡树) ,即Java语言的前身

2. 1995年5月23日,Oak语言改名为Java,并且在SunWorld大会上正式发布Java 1.0版本

Java语言第一次提出了Write Once,Run Anywhere的口号

3. 1996年1月23日,JDK 1.0发布,Java语言有了 第一个正式版本 的运行环境

JDK 1.0提供了一个纯解释执行的Java虚拟机实现(Sun Classic VM)

JDK 1.0版本的代表技术包括:Java虚拟机、Applet、AWT等。

4. 1997年2月19日,Sun公司发布了JDK 1.1

Java技术的一些最基础的支撑点(如JDBC等)都是在JDK 1.1版本中发布的Java语法也有了一定的发展,如内部类和反射

  1. 1999年4月8日,JDK 1.1在此期间一共发布了1.1.0~1.1.8九个版本从1.1.4之后,每个JDK版本都有一个自己的名字(工程代号)例如:JDK 1.1.4 - Sparkler(宝石)、JDK 1.1.5 - Pumpkin(南瓜)

6. 1998年12月4日,JDK迎来了里程碑式的版本JDK1.2,代号Playground(竞技场)

Sun公司在这个版本中把Java技术体系拆分为3个方向:

  1. 面向桌面应用开发的J2SE(Java 2 Platform,Standard Edition)
  2. 面向企业级开发的J2EE(Java 2 Platform,Enterprise Edition)
  3. 面向手机等移动终端开发的J2ME(Java 2 Platform,Micro Edition)

7. 1999年4月27日, HotSpot虚拟机 发布

HotSpot最初由一家名为"Longview Technologies"的小公司开发,因为 HotSpot的优异表现,这家公司在1997年被Sun公司收购了

HotSpot虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK1.3及之后所有版本的Sun JDK的默认虚拟机

8. 2004年9月30日, JDK1.5 发布,代号Tiger(老虎)

从JDK 1.2以来,Java在语法层面上的变换一直很小,而JDK1.5在Java语法易用性上做出了非常大的改进

例如,自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环

(foreach循环)等语法特性都是在JDK 1.5中加入的

9. 2006年12月11日,JDK 1.6发布,代号Mustang(野马)

在这个版本中,Sun终结了从JDK 1.2开始已经有8年历史的J2EE、J2SE、J2ME的命名方式 启用 Java SE 6、Java EE 6、Java ME 6 的命名方式。

10. 2006年11月13日,在JavaOne大会上,Sun公司宣布最终会将Java开源

2009年2月19日,工程代号为Dolphin(海豚)的JDK 1.7完成了其第一个程碑版本

2009年4月20日,Oracle公司宣布正式以74亿美元的价格收购Sun公司,Java商标从此正式归Oracle所有具体版本:

这么多的版本,知道三个就可以了:JDK8、JDK11、JDK17,其他了解即可。

JDK8是企业用的最多的版本,JDK11和JDK17是后续长期支持更新的版本。 

3 平台

1998年12月4日,Sun公司在发布的JDK1.2中,将Java技术体系拆分为3个方向(平台):

  1. J2SE (Java 2 Platform, Standard Edition),面向桌面应用开发

○ J2SE是其他两个版本的基础

○ 我们学J2SE的目的不是为了做GUI桌面开发(计算器、打地鼠游戏等桌面应用)

○ 而是为今后要学习的J2EE进行必要的基础铺垫

  1. J2ME (Java 2 Platform, Micro Edition),面向手机等移动终端开发机顶盒、移动电话和PDA之类的嵌入式消费电子设备开发,我们不用关心
  2. J2EE (Java 2 Platform, Enterprise Edition),面向企业级开发

Java具体应用:

全球超过30亿台各样设备上的应用程序是用Java开发的,耳熟能详的有:

○ Adobe PDF 阅读器,Gui开发

○ Google、Facebook、Amazon、淘宝、百度、携程等Web网站

○ Tomcat、JBoss、WebLogic等Web服务器

抖音、淘宝、微信等手机APP,使用Android开发组件Android SDK(基于 Java)

○ ERP(企业资源规划)CRM(客户资源管理)等企业级应用

游戏后端,如英雄联盟、吃鸡

4 JDK

1 相关名词

  1. SDK (software development kit),软件开发包,主要包含函数库或者工具等
  2. JDK (java development kit),Java程序开发工具包,面向Java程序的开发者
  3. JRE (java runtime enviroment),Java程序运行环境,面向Java程序的使用者
  4. API (application program interface),应用程序编程接口
  5. API Documentation,API说明文档,描述API中的类、方法等使用的方式

开发人员需要安装JDK,内部自带一个JRE(程序员用JDK完成开发后,用JRE测试运行)

实施人员(部署)可以安装独立的JRE,用于运行Java程序

2 JDK下载

到oracle官网中,注册账号并登录,然后到相应的页面中,即可下载。

oracle官网

Java相关:

JDK下载:

JDK历史版本 

 

JDK8下载地址:https://www.oracle.com/java/technologies/javase/javase8-archi ve-downloads.html

API在线文档

JDK8在线文档:https://docs.oracle.com/javase/8/index.html

API说明文档下载

 

JDK8-API文档下载地址:https://www.oracle.com/java/technologies/javase-jdk8-

doc-downloads.html

3 JDK安装配置环境 

1. JDK安装

1)Linux中安装JDK

把下载好的压缩包,直接解压并解归档即可。可以解压到当前目录下,也可以 解压到指定目录中:

2)Windows中安装JDK

直接双击安装包,一直next往下即可,默认安装位置:C:\Program Files\Java, 会在此目录中自动创建JDK的目录,并且目录的名字中携带JDK的版本号。

注意:安装过程中也会提醒是否安装一个外部的jre,装或者不装都可以。如

果安装的话其目录名字为jre1.8.0_74,如上图。

注意,JDK安装目录中,也自带了一个默认的内部的JRE,点击JDK目录后即

可看到此JRE的目录

注意,电脑中可以同时安装多个版本JDK,相互之间不影响,使用的时候,

环境变量中修改配置:指定具体版本即可。

2. 配置环境变量 

需要配置三个环境变量:JAVA_HOME、PATH、CLASSPATH。其中PATH必须配置,另外两个建议配置。 

1)Linux中环境变量配置

使用vi打开 .bashrc 文件进行配置

配置完成后,在命令窗口中输入命令 java -version 进行查看:

2)Windows系统配置

配置JAVA_HOME:

配置Path:

配置完成后,在cmd终端窗口中输入命令 java -version 进行查看:

3.JDK结构

4. JDK目录

这里以Windows中安装后的目录为例说明:

关于src.zip文件:

  1. 我们将来在代码中,所调用的JavaSE-api中的代码,大多数的源码就存放在这个压缩包中
  2. 这里面都是java文件,这些java文件编译后生成的class文件,都存放在一个jar中, %JAVA_HOME%\jre\lib\rt.jar
  1. 我们的代码在运行时,JVM会先从这个rt.jar中加载一些我们需要使用的类,例如String.class、Object.class、System.class等

src.zip和rt.jar的关系:

5.Java特点

我们平时所说的“java”,其实是一个综合的描述,它包含了一系列的很多东西。

  1. 它是一门编程语言包含基本的语法、特性、思想等
  2. 它是开发环境开发java程序时,需要一些的java开发工具
  3. 它是应用环境开发好的java程序要运行,需要它提供一些的运行环境
  4. 它是部署环境将来在其他平台下开发出的java程序,都需要它提供一个最基础的部署环境

java语言的优点:

  1. 更纯粹的面向对象编程,加速开发的过程。
  2. 一次编写/编译,到处运行,代码可以跨平台
  3. 多线程的支持
  4. 代码中没有指针管理、内存管理,使得编程人员可以更加专注于系统的业务功能的开发
  5. 字节码的验证机制,保证代码的安全性
  6. 开源及强大的生态环境,社区活跃,第三方类库选择丰富

6 HelloWorld

创建文件, mkdir -p code/day01

如果是Windows,在桌面创建相应的文件夹即可。

Hello.java

思考:程序运行的入口,是可以随便写么,也就是随便写一个方法,JVM就能把它当做运行的起点么?

编译Hello.java中,编写的代码:

javac Hello.java

运行Hello.class文件中,编译生成的字节码:

思考:JVM是怎么知道Hello这个类在哪个class文件中的?又是怎么知道这个class文件在什么地方的?

Hello这个类 不一定在Hello.java中,但是一定是在Hello.class中

7 常用命令

8 常用的包

9 API文档

10 JVM

JVM是java中最核心的一个东西,它在计算机的内存中,虚拟并提供了java代码可以在其中运行的基础环境

思考:java代码编译后,可以在不同的操作系统平台中运行的原因是什么?(跨平台)

在JDK7中对JVM规范所给出的内存管理结构如下:

JVM就是java代码和计算机之间的一个桥梁:

11 垃圾回收器

java代码中,开辟要使用的内存空间,使用new关键字即可完成。

使用完之后,对内存的释放,在JVM中,由垃圾回收器(Garbage Collection,GC)来完成。

不同类型的GC,在JVM中,会根据不同的算法,对不同的内存区域内标记为垃圾的空间,进行回收释放。在这个过程中,是不需要编程人员干预的,它自己会主动的完成。

在代码中,我们也可以调用JavaSE-API提供的方法,通知GC现在去进行垃圾回收的工作:

12 字节码验证

验证通过过,再确定哪些代码是解释执行的,哪些代码是JIT即时编译执行的:

  • 解释执行

    class文件内容,需要让JVM进行解释,解释成计算机可以执行的代码。整体效果就是JVM解释一行代码就执行一行代码。所以如果java代码全是这样的运行方式的话,效率会稍低一些。

    • JIT(Just In Time)即时编译

      执行代码的另一种方式,JVM可以把java中的 热点代码 直接编译成计算机可以运行的代码,这样接下来再调用这个热点代码的时候,就可以直接使用编译好的代码让计算机直接运行,可以提高运行效率。

上一篇:织梦CMS部署到服务器全攻略,详细步骤揭秘!

下一篇:turn英文名怎么读?