关闭

关于JDK

6687人阅读 评论(1) 收藏 举报

[本博文写于2005年。2014.07修改,原来的链接有许多 不对了]

JDK即Java Development Kit,Java 开发工具包。学习Java编程需要下载它,JDK让我们有一个比较完整的工具箱,去编译、调试并运行Java程序。如果我们把程序编译、调试好了,交给客户使用,他们显然不需要JDK了,他们只需要一个支持Java程序运行的平台——Java运行时环境(JRE——Java Runtime Environment)。当你下载JDK时,别搞错了。

JDK的完整名称多次变化。Sun公司时代叫过The Java 2 SDK(J2SDK),现在叫Java Platform, Standard Edition Development Kit 。

JDK版本

JDK1.2开始,Java技术体系/Java平台(Java Platform)分为3个方向j2se(或Java Standard Edition简称Java SE)、j2ee、j2me。初学Java时,下载的是Java SE。

JDK仍然处于不断发展之中,其重要的版本有JDK1.2、JDK1.4和JDK1.5.0(即JDK5.0)、JDK6.0、JDK7.0JDK8.0
在链接http://www.oracle.com/technetwork/java/javase/downloads/index.html可以下载最新JDK,如图下所示。


按照你的机器和操作系统,选择适当的版本。例如你的机器是64位机,安装的Windows操作系统,√选Accept License Agreement  后,下载jdk-8u5-windows-x64.exe。

现在很多人将JDK8.0直接叫Java 8。JDK 8 update 5简称JDK 8u5。

如果你对JDK的版本变迁历史及代号感兴趣,可以看看J2SE Code Names

环境变量设置

下载并安装JDK后,如果你使用BlueJ作为开发环境,不需要设置环境变量。如果你在控制台中直接使用JDK附带的工具如Java编译器(javac.exe)、Java解释器(java.exe)、小应用程序浏览器(appletviewer.exe)等学习Java编程,要设置Java平台的路径(path)和类路径(classpath)。

先打开“环境变量”窗口。以Windows 7为例:控制面板\系统和安全\系统→高级系统设置→环境变量。


系统变量→新建→变量名:JAVA_HOME 。变量值:C:\Java\jdk1.8.0_05 (按照你的安装目录)

系统变量→新建→变量名:CLASSPATH 。变量值: .;%JAVA_HOME%/lib (英文句号“.”表示当前路径、分号后为各种.jar所在的文件夹)

系统变量→编辑→变量名:Path ,在变量值的最前面加上:  %JAVA_HOME%/bin;(不要把其他的内容覆盖掉了)。


现在,通过cmd打开黑框框,输入java,应该看见下面的界面。



JDK版本主要特点(与《编程导论(Java)》相关)

  • Java was first released in January 1996 and was named Java Development Kit, abbreviated JDK.
  • JDK1.2 . Full name: Java 2 Software Development Kit, abbreviated to Java 2 SDK or J2SDK.
  • JDK1.4  引入 断言(assert)【基于Perl风格正则表达式的模式匹配机制、NIO】
  • JDK 5  (J2SE Development Kit 5.0) 引入 
    1.泛型(Generic)
    2.For-Each循环
    3.自动装包/拆包(Autoboxing/unboxing)
    4.枚举(Enums)
    5.可变参数(Varargs)
    6.静态导入(Static Imports)
    java.util.concurrent
  • JDK 6 No language changes were introduced in Java SE 6.
  • Javase7
     二进制数字表达方式
    使用下划线对数字进行分隔表达,例如 1_322_222
    switch 语句支持字符串变量
    泛型实例创建的类型推断
    try-with-resources 语句
    同时捕获多个异常处理
  • Java 8 
    • Lambda Expressions(Method References、Default Methods )
    • Improved Type Inference  (Target Typing 、Type Inference)
    • 更多





JDK 的常常指Java Developer’s Kit(或Java Development KitSun公司的官方网站上把它称为The Java 2 SDKJ2SDK【参见§2】。JDK有很多的版本。

J2SE Code Nameshttp://java.sun.com/j2se/codenames.html

已发行的版本:

版本号

名称

中文名

发布日期

JDK 1.1.4

Sparkler

宝石

1997-09-12

JDK 1.1.5

Pumpkin

南瓜

1997-12-13

JDK 1.1.6

Abigail

阿比盖尔--女子名

1998-04-24

JDK 1.1.7

Brutus

布鲁图--古罗马政治家和将军

1998-09-28

JDK 1.1.8

Chelsea

切尔西--城市名

1999-04-08

J2SE 1.2

Playground

运动场

1998-12-04

J2SE 1.2.1

none

1999-03-30

J2SE 1.2.2

Cricket

蟋蟀

1999-07-08

J2SE 1.3

Kestrel

美洲红隼

2000-05-08

J2SE 1.3.1

Ladybird

瓢虫

2001-05-17

J2SE 1.4.0

Merlin

灰背隼

2002-02-13

J2SE 1.4.1

grasshopper

蚱蜢

2002-09-16

J2SE 1.4.2

Mantis

螳螂

2003-06-26

J2SE 5.0 (1.5.0)

Tiger

老虎

2004-9-29

将发行的版本:

J2SE 5.1 (1.5.1)

Dragonfly

蜻蜓

合并到6.0

J2SE 6.0 (1.6.0)

Mustang

野马

未发布

J2SE 7.0(1.7.0)

Dolphin

海豚

 

 

JDK1.2.2开始,主要版本都是以鸟类或哺乳动物来命名的.而它们的修正版本则以昆虫命名的。在某论坛上,有人说:“JDK,一群畜生”。虽然有一点点的不厚道之嫌,但比“一群动物”来得有趣和印象深刻。

§1 JDKJRE

 

 

Full Name

Abbreviation

Platform name

JavaTM 2 Platform Standard Edition 5.0

J2SETM 5.0

 

 

 

Products delivered
under the platform

J2SETM Development Kit 5.0

JDKTM 5.0

J2SETM Runtime Environment 5.0

JRE 5.0

 

大家学习Windows编程时,有一个SDKSoftware Development Kit 即软件开发包)。JDK让我们有一个比较完整的工具箱,去编译、调试并运行Java程序。如果我们把程序编译、调试好了,交给客户使用,他们显然不需要JDK了,他们只需要一个支持Java程序运行的平台——Java运行时环境(JRE)。[http://java.sun.com/j2se/overview.html]

当你下载JDK时,别搞错了。JRE加上编译、调试Java程序的工具等等,就是JDK

 

 

 

 J2SE Runtime Environment(JRE) and J2SE Development Kit (JDK)

JRE 提供了Java APIs, Java virtual machineJava虚拟机、JVM)和运行applets and applications 所需要的其他组件。它不包括用于开发的Java编译器、解释器等等工具程序。JDKJRE的超集。

 

JDK包括以下七种主要工具程序:

javac                 Java编译器,将Java源代码转换成字节码。

java                   Java解释器,直接从类文件执行Java应用程序字节代码。

appletviewer   小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。

javadoc              根据Java源码及说明语句生成HTML文档。

jdb                      Java调试器,可以逐行执行程序,设置断点和检查变量。

javah                  产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。

  javap                   Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。

SUN公司的提供了免费的JDK,在JDK1.4.2中,直接包含了Java API源代码,而JDK5.0好像要另外下载。

§2Java 2平台JDK5.0

JDK经过了不断的发展。其中JDK1.2对早期版本作出了重大改进,因此被称为Java 2 PlatformJava 2平台)。虽然我们已经在使用JDK1.5.0(即JDK5.0)版本,我们还是处于Java 2平台。什么时候叫Java 3 Platform,那就要打电话问太阳微系统公司了。

Java 2平台是一个统称,不具体区分是(1.2以后的)那个版本。按应用领域来看,Java 2平台分为三大种类:J2SEJ2MEJ2EESun推出Java以来,就力图使之无所不包,所以构成了 Sun ONE (Open Net Environment)体系

l       J2SEJavaTM 2Platform Standard Edition )就是Java2的标准版,主要用于桌面应用软件的编程;

l       J2MEJavaTM 2Platform Micro Edition)主要应用于嵌入式系统开发,如手机和PDA的编程;

l       J2EE JavaTM 2 Platform Enterprise Edition)即Java2的企业版,主要用于分布式的网络程序的开发

 

既然Java 2平台包括三个不同的应用方向,在引入J2MEJ2EE后,JDK不再称为Java Development Kit了,而是特指J2SETM Development Kit

JDK5.0就是J2SETM Development Kit 5.0

关于5.0We have changed the version of this release from 1.5.0 to 5.0 to better reflect the level of maturity, stability, scalability and security built into J2SE. (This release is also known as "Tiger".)http://java.sun.com/j2se/j2se-namechange.html

 

§3 JDK的下载和环境变量设置

1. 下载安装JDK

      地址:http://java.sun.com/j2se/1.4.2/download.html

      下载后的文件为:j2sdk-1_4_2_04-windows-i586-p.exe,直接运行执行安装。

JDK5.0下载地址:Download JDK for Windows

http://dlc.sun.com/jdk/jdk-1_5_0_01-windows-i586-p.exe)直接运行执行安装。

建议同时下载JDK帮助文档(JDK Documentation)。

2.        设置环境变量

 Windows 2000XP操作系统下,使用鼠标右击我的电脑属性→高级→环境变量:

系统变量→新建→变量名:JAVA_HOME 。变量值:c:/j2sdk1.4.1_05

系统变量→新建→变量名:CLASSPATH 。变量值:.;%JAVA_HOME%/lib

系统变量→编辑→变量名:Path ,在变量值的最前面加上: %JAVA_HOME%/bin;(不要把其他的内容覆盖掉了)

             CLASSPATH中有一英文句号“.”后跟一个分号,表示当前路径的意思)

 

      注:设置环境变量是一次性的知识,参考:

http://java.sun.com/j2se/1.5.0/install-windows.html

【我是从JDK1.4.2升级的,如何直接下载并安装JDK5.0,我没有试。】

 

 

0
0
查看评论

Java的六种线程状态

在JDK中,Thread类定义了一个名为State的Enum类型,代表线程的状态,他们分别是: New,Runnable,Blocked,Waiting,Timed_Waiting,Terminated 在线程执行的过程中,这些状态会相互转换,为了比较直观的了解,我根据JDK文档画了个状态图: ...
  • Youthjack
  • Youthjack
  • 2017-07-24 22:39
  • 136

有关阅读JDK源码的看法

源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。  说到技术基础,我打个比方吧,如果你从来没有学过Java,或是任何一门编程语言如C++,一开始去啃《Core Java》,你是很难从中吸收到营养的,特别是《深入Java虚拟机》这类书,别人觉得好,未必适合现在的你。...
  • mijinghjb
  • mijinghjb
  • 2014-04-25 16:49
  • 3233

JAVAjdk目录结构简单介绍

JAVAjdk目录结构简单介绍
  • QingKing520
  • QingKing520
  • 2016-10-22 17:59
  • 2629

Jdk安装问题

1.先去网上下载Jdk安装包(建议官网) 2.安装jdk 随意选择目录,安装过程中会弹出两次安装提示 。第一次是安装 jdk ,第二次是安装 jre ,注意区分。 3.安装完JDK后配置环境变量  计算机→属性→高级系统设置→高级→环境变量 4.系统变量→新建 JAVA_H...
  • u014736551
  • u014736551
  • 2016-03-12 21:36
  • 597

关于jdk的版本兼容问题

之前也碰到过这样的问题,那个时候是qingjiao
  • hu1991die
  • hu1991die
  • 2014-05-16 11:01
  • 1225

关于JDK

 转自http://hiley.blogbus.com/logs/7965219.html我是一只对java一窍不通的文盲。。。嗯,这篇解释了很多容易混淆的概念,值得留着值得留着。JDK 的常常指JavaDeveloper’s Kit(或Java Development Kit),Sun公...
  • xiaoyuemian
  • xiaoyuemian
  • 2008-09-21 17:22
  • 460

关于jdk

jdk1.2开始将java技术体系分为3个方向(j2se、j
  • ThornRose
  • ThornRose
  • 2014-06-25 01:20
  • 405

SimpleDateFormat在jdk1.6与jdk1.7之间的差别

一:SimpleDateFormat简介SimpleDateFormat is a concrete class for formatting and parsing dates in a locale-sensitive manner. It allows for formatting (date...
  • gao36951
  • gao36951
  • 2015-11-18 17:33
  • 2243

JDK的动态代理为什么要实现所有的接口?

由于工作忙,
  • liujianglong
  • liujianglong
  • 2014-08-15 18:34
  • 532

关于jdk动态代理+proxy参数作用的学习总结

首先关于具体的源码分析,网上很多,在此不再记录一次。 关于JDK动态代理的学习。首先先整明白了大体的思路,一个实现了某些接口的被代理类。一个实现了InvocationHandle的代理类,然后通过Proxy类下的静态方法newProxyInstance进行织入产生一个融合了代理类和被代理类的真正的...
  • qq_33540911
  • qq_33540911
  • 2016-11-05 13:26
  • 266
    博客专栏
    个人资料
    • 访问:528841次
    • 积分:8637
    • 等级:
    • 排名:第2689名
    • 原创:300篇
    • 转载:3篇
    • 译文:5篇
    • 评论:184条
    最新评论