实验1 JDK的安装和Java程序编译
Java开发环境的安装及配置

Java开发环境的安装及配置JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。
JRE(Java Runtime Environment,Java运行环境)。
简单是说,我们要做与java有关的开发,就得安装java开发工具JDK和java运行环境JRE。
和其他应用软件一样,我们在安装JDK和JRE的时候,一般都会更改一下其安装的路径,然后在安装完成之后,我们还得将安装的路径添加到计算机的环境变量当中,只有这样,计算机才能通过路径找到相应的工具开发亦或者是运行java程序。
总体来说:1、安装JDK和JRE; 2、复制安装JDK和JRE路径,并且添加到计算机的环境变量中; 3、在DOS命令框中分别输入java 和javac命令,并且分别回车,查看环境变量配置是否配置正确就行了。
以下是详细的安装步骤,初学者如若不会,可以Q 1414798079: 1、找到JDK(Java Development Kit :Java 语言的软件开发工具包)安装包2、双击JDK安装包,出现下图,点击下一步3、以下是默认安装路径,安装在C盘,但是我们一般不会使用默认的安装路径(我的JDK安装路径是E:\Java\JDK_1.7,具体更改如下)4、更改JDK的安装路径在要安装的磁盘中建立一个新的文件夹,自己随意命名,然后点击确定按钮,如下图:上图所示,我们已在E盘建立了一个名为Java的文件夹,接下来双击打开该Java文件夹,打开之后如下图建立一个新的文件夹用于安装jdk(注意:本处所建的文件夹是为了分开安装JDK和JRE,方便我们配置环境使用)以下就是正在安装JDK了当出现以下界面时,接下来就要安装JRE了(JRE是Java Runtime Environment缩写,表示Java运行环境)同之前安装JDK时更改路径一样,更改安装JRE的路径(我的JRE安装路径是E:\Java\JRE_1.7,具体更改如下)以下图所示已经更改好路径,然后点击下一步,然后等待安装完成即可:环境变量的配置:(按我的配置步骤来的话,需要添加的路径就是:E:\Java\JDK_1.7\bin;E:\Java\JRE_1.7\bin)首先进入E:\Java找到之前我们新建的文件夹,如下:双击JDK_1.7文件夹,找到bin这个文件夹,双击进入下一层,如图:下面从电脑桌面找到我的电脑图标,右键点击一下,选择属性然后弹出新的界面,找到高级系统属性,点击,如图所示:点击高级系统属性之后会出现如下的界面,然后继续单击环境变量:点击环境变量之后出现新的窗口,然后在用户变量处点击新建,新建的用户变量变量名为Path,变量为我们复制过来的安装JDK的路径,然后点击确定(注意:复制过来路径后,在改路径后边再加一个英文的分号,因为待会后边还得有一个JRE的路径要添加进来,而路径和路径之间要用分号隔开)同理,我们回来去找到JRE的安装路径,拷贝过来:双击进入下一层:找到bin文件夹,在此单击进入下一层:拷贝路径E:\Java\JRE_1.7\bin,回到用户变量,点击编辑按钮,在之前的路径后边添加上刚复制过来的路径:之后一次点击确定按钮关闭所有窗口下面就是来测试一下我们刚刚安装的JDK和JRE以及环境变量是不是配置成功了。
《java程序设计》实验指导书(完整)

实验一 Java实验环境的建立一、实验目的1.掌握Java编程环境的搭建过程;2.掌握Jcreator pro软件的使用方法;3.能使用Java doc文档。
二、实验内容1.下载并安装JDK1.6,配置JDK环境变量;2.下载Javadoc压缩包并解压在JDK安装路径下;3.下载Jcreator pro 4.0并安装和配置使用环境;4.使用实验环境运行书中实例代码,在屏幕上输出“Hello Java”字符串。
①Java application程序代码如下:public class HelloJava{public static void main(String args[]){System.out.println("Hello Java!");}}②Java applet程序代码如下:import java.awt.*;public class Hello extends java.applet.Applet{public void paint(Graphics g){g.drawString("Hello!",30,30);}}三、试验要求1、预习试验内容并写出上机报告。
2、实验中出现的问题及实验体会。
实验二 Java语言程序设计训练一、实验目的:1.输入、输出操作实现原理和方法2.掌握程序流程控制的实现方法3.掌握数组的定义和操作方法二、实验内容1.计算 Result=1!+2!+3!+ (10)public class TestJieC{public static void main(String arg[]){long result=1;for(int i=1;i<=10;i++){ result=i*result;result+=result;}System.out.println(" "+result);}}2.计算1---50之间所有素数的和。
Java实训指导书

Java程序设计实训指导书西京学院前言Java程序设计适用专业包括软件技术、计算机应用技术、计算机网络技术、软件技术(软件测试)、电子商务专业等专业。
通过实训使学生加深对JA V A基本理论知识的理解,巩固课堂教学内容。
以培养学生的实际操作能力为基本目标,学生经过一学期的系统训练后,能基本掌握Java语言的编程思想,能独立编写Java程序,并为后续课程的学习打下良好的基础。
目录实训一简单Java程序调试 (1)实训二 Java语言基础 (3)实训三分支语句 (8)实训四循环语句 (10)实训五数组 (12)实训六类与对象 (14)实训一简单Java程序调试一、实训目的1.掌握下载和安装JDK开发工具的方法。
2.熟悉JDK开发工具的使用。
3.学习编写简单的Java Application和Java Applet程序。
4.了解Java程序的基本组成结构;5.了解Java 语言的概貌、了解Java源代码、字节码文件、掌握Java程序的编辑、编译和运行过程。
6.为学习Java 语言和进行Java 程序的实验做好准备工作。
二、实训内容编写简单的Java Application和Java Applet程序,编译并运行这两个程序。
三、实训学时(4学时)四、实训步骤1.下载,安装JDK下载地址为JA V A官方站点:。
在这里我们也提供了JDK1.4.2的下载。
在Windows下,直接运行.exe文件,安装到一个目录,这里用C:\j2sdk1.4.2\作为例子。
安装完毕后,打开系统属性窗口,点“高级”,然后点击“环境变量”按钮,显示如下窗口:在系统变量这一栏里选定Path,然后点“编辑”按钮,在弹出的对话框1加入;C:\j2sdk1.4.2\bin,安确定退出,并重新启动计算机。
2.测试环境(1)用文本编辑器写一个简单的java程序:public class HelloWorld {public static void main(String args[]) {System.out.println("Hello World!");}}这个例子的功能就是显示“Hello World”。
编程选择题40道:Java开发环境:JDK与JRE的安装与配置.Tex

1.在Java开发环境中,JDK代表什么?o A. Java Development Keyo B. Java Development Kito C. Java Distribution Kernelo D. Java Deployment Knowledge答案: B解析: JDK全称为Java Development Kit,是Java开发工具包,包含了JRE 以及编译、调试、运行Java程序所需的各种工具。
2.JDK安装完成后,哪个环境变量是必须设置的以确保Java程序可以被编译?o A. JAVA_HOMEo B. JRE_HOMEo C. PATHo D. CLASSPATH答案: A解析: JAVA_HOME环境变量用于指向JDK的安装目录,是编译Java程序时需要的。
3.若想在命令行中运行Java程序,PATH环境变量中至少应包含JDK的哪个目录?o A. bino B. libo C. jreo D. demo答案: A解析: JDK的bin目录包含javac和java等工具,它们是编译和运行Java 程序所必需的。
4.JRE的主要组成部分中,哪一项负责解释执行Java字节码?o A. Java虚拟机(JVM)o B. Java类库o C. Java编译器o D. Java文档答案: A解析: JRE的全称是Java Runtime Environment,其中的Java虚拟机(JVM)负责解释执行Java字节码。
5.在安装JDK时,如果只安装JRE,将无法进行以下哪项操作?o A. 运行Java应用程序o B. 编译Java源代码o C. 使用Java类库o D. 调整Java程序的垃圾回收策略答案: B解析: JDK中包含了Java编译器javac,没有安装JDK就无法编译Java源代码。
6.下列选项中,哪个文件用于设置JDK的执行文件所在路径?o A. java.exeo B. javac.exeo C. path.bato D. jdk.conf答案: C解析: 在Windows系统中,通过修改path.bat文件可以设置JDK的执行文件所在的bin目录路径。
JDK11.0.7下载及安装详细教程(win10)

JDK11.0.7下载及安装详细教程(win10)0.背景知识JRE: Java Runtime EnvironmentJDK:Java Development KitJRE顾名思义是java运⾏时环境,包含了java虚拟机,java基础类库。
是使⽤java语⾔编写的程序运⾏所需要的软件环境,是提供给想运⾏java程序的⽤户使⽤的。
JDK顾名思义是java开发⼯具包,是程序员使⽤java语⾔编写java程序所需的开发⼯具包,是提供给程序员使⽤的。
JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的⼯具:jconsole,jvisualvm等⼯具软件,还包含了java程序编写所需的⽂档和demo例⼦程序。
如果你需要运⾏java程序,只需安装JRE就可以了。
如果你需要编写java程序,需要安装JDK。
JRE根据不同操作系统(如:windows,linux等)和不同JRE提供商(IBM,ORACLE等)有很多版本,最常⽤的是Oracle公司收购SUN公司的JRE版本。
可以参考百度百科。
⽐较重要的⼀点是,上图这个过程,程序编译到运⾏。
因此java的⼀处编译、到处运⾏核⼼就是java的虚拟机,也就是JVM。
可以把Java API类库中的Java SE API⼦集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是⽀持Java程序运⾏的标准环境。
JDK已经包含了JRE,所以我们直接下载他就可以。
⼀、下载官⽹我直接选择了⽐较新的11但是因为官⽹访问有些慢,我直接去清华镜像下载了。
电脑是 64 位的windows,于是下载了⼀样的11.0.7版本,虚拟机是sun公司的hotspot,下⾯的openj9的应该是ibm公司的。
这个版本是zip版本,不同于exe,解压之后可以看到所有内容:因此不⽤执⾏安装程序,我们⾃⼰⼿动配置环境变量就可以。
eclipse 项目编译

eclipse 项目编译摘要:1.Eclipse 项目编译简介2.安装JDK 和设置环境变量3.创建Eclipse 项目4.编写代码5.编译项目6.运行程序正文:1.Eclipse 项目编译简介Eclipse 是一款流行的Java 开发工具,可以用于编写、编译和运行Java 程序。
在使用Eclipse 进行项目编译之前,需要先安装JDK 并设置环境变量。
2.安装JDK 和设置环境变量首先,从Oracle 官网下载并安装JDK(Java Development Kit)。
安装完成后,需要设置JAVA_HOME 环境变量,将其指向JDK 的安装目录。
同时,在系统环境变量中添加%JAVA_HOME%bin,使Java 可执行文件在任何目录下都能被找到。
3.创建Eclipse 项目打开Eclipse,点击"File" -> "New" -> "Java Project",创建一个新的Java 项目。
在项目名称框中输入项目名称,点击"Finish" 完成创建。
4.编写代码在项目中创建Java 类文件,编写Java 代码。
例如,创建一个名为"HelloWorld.java" 的文件,输入以下代码:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, world!");}}```5.编译项目在Eclipse 中,点击"Build Path" -> "Configure Build Path",选择"Java Build Path",在"Libraries" 选项卡中点击"Add External JARs",选择刚才安装的JDK 的路径,点击"Open"。
JDK安装步骤
JDK安装步骤
安装过程:
新建⽂件夹
新建⽂件夹⾸先新建两个路径:D:\java\jdk和D:\java\jre,代表我把Java安装到D盘下的java路径下,在该路径下要新建两个路径,⼀会⼉放jdk和jre。
安装过程
安装过程
1、默认是这个路径,更改⼀下安装路径
2、点击下⼀步之后会跳出来这个界⾯
3、默认还是C盘,再更改⼀下
点击下⼀步之后,看到这个界⾯就可以了
配置环境变量
配置环境变量主要参考
1、配置环境变量步骤:(1)、JAVA_HOME 配置JDK安装环境(2)、PATH 配置JDK命令⽂件的位置(3)、CLASSPATH 配置类库⽂件的位置
2、配置环境变量过程:在我的电脑处,单击右键,选择属性,选择⾼级系统设置,点击环境变量过程页⾯如下图所⽰:
3、在下⾯⼀栏系统变量中点新建,新建⼀个JAVA_HOME
4、然后再新建⼀个CLASSPATH
5、最后找到Path,点击编辑点击新建,把下⾯两个复制过去
6、然后,将这两个路径置于最上边,最后结果如图:
7、最后,点击确定。
完成环境配置。
三、检测快捷键win+R,输⼊cmd打开命令⾏
1、输⼊java
2、输⼊javac
3、输⼊java -version查看版本
配置完成!。
大数据平台实验报告(3篇)
一、实验背景随着互联网的飞速发展,大数据已成为当今社会的重要资源。
为了更好地理解和应用大数据技术,我们开展了本次大数据平台实验,旨在掌握大数据平台的搭建、配置和使用方法。
二、实验目的1. 熟悉大数据平台的基本概念和架构。
2. 掌握Hadoop、HDFS、MapReduce等核心组件的搭建和配置。
3. 学会使用大数据平台进行数据处理和分析。
三、实验环境1. 操作系统:Linux2. Hadoop版本:Hadoop3.3.43. HDFS版本:HDFS 3.3.44. MapReduce版本:MapReduce 3.3.45. Java版本:Java 8四、实验内容1. Hadoop集群搭建(1)安装JDK首先,在Linux系统中安装JDK。
通过以下命令下载并安装JDK:```bashsudo apt-get install openjdk-8-jdk```(2)安装Hadoop接着,下载Hadoop安装包,解压到指定目录,并配置环境变量:sudo tar -zxvf hadoop-3.3.4.tar.gz -C /usr/local/sudo echo "export HADOOP_HOME=/usr/local/hadoop-3.3.4" >> ~/.bashrcsudo echo "export PATH=\$PATH:\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin" >>~/.bashrcsource ~/.bashrc```(3)配置Hadoop编辑`/usr/local/hadoop-3.3.4/etc/hadoop/hadoop-env.sh`文件,配置JDK路径:```bashexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64```编辑`/usr/local/hadoop-3.3.4/etc/hadoop/core-site.xml`文件,配置HDFS的存储目录:```xml<configuration><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property></configuration>```编辑`/usr/local/hadoop-3.3.4/etc/hadoop/hdfs-site.xml`文件,配置HDFS的副本数量和存储目录:<configuration><property><name>dfs.replication</name><value>3</value></property><property><name>dfs.datanode.data.dir</name><value>/usr/local/hadoop-3.3.4/hdfs/data</value></property></configuration>```编辑`/usr/local/hadoop-3.3.4/etc/hadoop/mapred-site.xml`文件,配置MapReduce的运行模式:```xml<configuration><property><name></name><value>yarn</value></property></configuration>```(4)启动Hadoop集群```bashstart-dfs.shstart-yarn.sh```2. HDFS操作实践(1)上传文件到HDFS```bashhdfs dfs -put /local/file /hdfs/file```(2)下载文件到本地```bashhdfs dfs -get /hdfs/file /local/file```(3)查看HDFS文件目录```bashhdfs dfs -ls /hdfs```3. MapReduce编程实践(1)编写MapReduce程序创建一个名为`WordCount.java`的文件,并添加以下代码:```javaimport org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.Mapper;import org.apache.hadoop.mapreduce.Reducer;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;public class WordCount {public static class TokenizerMapper extends Mapper<Object, Text, Text, IntWritable> {private final static IntWritable one = new IntWritable(1);private Text word = new Text();public void map(Object key, Text value, Context context) throws IOException, InterruptedException {String[] tokens = value.toString().split("\\s+");for (String token : tokens) {word.set(token);context.write(word, one);}}}public static class IntSumReducer extends Reducer<Text, IntWritable, Text, IntWritable> {private IntWritable result = new IntWritable();public void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {int sum = 0;for (IntWritable val : values) {sum += val.get();}result.set(sum);context.write(key, result);}}public static void main(String[] args) throws Exception { Configuration conf = new Configuration();Job job = Job.getInstance(conf, "word count");job.setJarByClass(WordCount.class);job.setMapperClass(TokenizerMapper.class);job.setCombinerClass(IntSumReducer.class);job.setReducerClass(IntSumReducer.class);job.setOutputKeyClass(Text.class);job.setOutputValueClass(IntWritable.class);FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); System.exit(job.waitForCompletion(true) ? 0 : 1);}}```(2)编译MapReduce程序```bashjavac -cp /usr/local/hadoop-3.3.4/share/hadoop/common/:/usr/local/hadoop-3.3.4/share/hadoop/hdfs/:/usr/local/hadoop-3.3.4/share/hadoop/mapreduce/ WordCount.java```(3)运行MapReduce程序```bashhadoop jar WordCount.jar WordCount /hdfs/input /hdfs/output```4. HBase操作实践(1)安装HBase下载HBase安装包,解压到指定目录,并配置环境变量:```bashsudo tar -zxvf hbase-2.2.5-bin.tar.gz -C /usr/local/sudo echo "export HBASE_HOME=/usr/local/hbase-2.2.5" >> ~/.bashrcsudo echo "export PATH=\$PATH:\$HBASE_HOME/bin" >> ~/.bashrcsource ~/.bashrc```(2)配置HBase编辑`/usr/local/hbase-2.2.5/conf/hbase-site.xml`文件,配置HBase的存储目录:```xml<configuration><property><name>hbase.rootdir</name><value>file:///usr/local/hbase-2.2.5/data</value> </property></configuration>```(3)启动HBase```bashstart-hbase.sh```(4)使用HBase Shell```bashhbase shell```(5)创建表```shellcreate 'student', 'info'```(6)插入数据```shellput 'student', 'lisi', 'info:Math', '95'```(7)查询数据```shellget 'student', 'lisi', 'info:Math'```五、实验总结通过本次实验,我们掌握了大数据平台的基本概念、搭建和配置方法,以及HDFS、MapReduce和HBase等核心组件的使用。
JDK1.6.0安装图解与配置
JDK1.6.0安装与配置一、安装jdk1、双击2、出现安装界面如图1-1图1-13、选择接受,出现如图1-2图1-2这时要选择更改路径到C:\,路径尽可能不要出现空格(尽管很多时候有空格也不会出错)4、点击更改之后出现1-3界面图1-35、单击确定之后下一步,一直到出现图1-4图1-4 6、第5步进度条执行完毕后出现图1-5这里和第3步-第4步是一样的,更改路径7、更改路径之后出现图1-6图1-6 8、直接点击下一步出现图1-7,正在安装…..图1-7 9、安装完毕后出现图1-8图1-8二、配置环境变量1、安装好jdk之后我们在cmd中运行两个命令,java和javac结果如图1-9图1-9运行结果java是可以运行的,javac不是本地命令,那为什么呢?javac是将我们编写的.java 代码编译为中间代码.class,再由java命令来执行.class文件2.桌面-----计算机-------右击“属性”,高级系统设置画面:打开“高级系统设置”:3.设置变量:在新的打开界面中的系统变量里需要设置三个属性“java_home”、“path”“classpath",path 属性是本来存在的,若java_home和classpath不存在自己建;(1)java_home值:.;C:\Java\jdk1.6.0_10\lib;C:\Java\jdk1.6.0_10\lib\tools.jar(2)path.值:.;C:\Java\jdk1.6.0_10\bin; %JA V A_HOME%\bin;%JA V A_ HOME%\jre\bin;(3)classpath值:.;C:\Java\jdk1.6.0_10\lib;C:\Java\jdk1.6.0_10\lib\tools.jarCMD中运行命令javac成功:至此,安装与配置结束。
java安装的详细步骤(win7_JDK 1.6 安装包)
本文章主要分析win7系统如何安装java或者win7系统java环境变量的设置,这里主要就以1.6的jdk为例来说明,其它版本也基本类型
方法/步骤
1、首先下载好jdk,小编网盘中下载好1.6的各种版本的jdk,没有的可以到小编百度云网盘中下载,下载好后,直接双击就可以安装,安装比较简单,基本都是点击“下一步”
2、安装好jdk后,就要设置环境变量了,关闭或者打开的所有窗口,然后在我的电脑图标上面点击右键,然后在打开的菜单中选择“属性”
3、点击“属性”后,打开“系统”页面,在左边的功能菜单列表中选择“高级系统设置”
4、点击“高级系统设置”后,就打开“系统属性”设置对话框,之后点击右下方的“环境变量”按钮
5、在打开的“环境变量”对话框中,点击最上面的“新建”,如下图红色方框标注,之后在变量名中输入:JAVA_HOME,变量值后面的输入框中输入jdk安装的路径,如小妹就是默认安装路径:C:\Program Files\Java\jdk1.6.0_45,最后点击“确定”按钮,完成新变量的添加
6、点击“环境变量”下面的“新建”按钮,然后在弹出的对话框中输入变量名:CLASSPATH,
和变量值:C:\Program Files\Java\jdk1.6.0_45\lib
7、在“系统变量”下面找到Path,并双击打开或者点击“编辑”按钮,然后在最后输入java 的bin路径:C:\Program Files\Java\jdk1.6.0_45\bin,最后点击各个确定按钮,这样就完成了jdk 的安装和java环境变量的设置
END。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Java程序设计》第一讲教案 1 实验1 JDK的安装和Java程序编译
1、主要教学目标 (1)掌握在Java开发环境的配置; (2)掌握如何利用记事本编写Java程序,并进行编译,为后续需要做准备; (3)理解Javac编译程序和Java运行程序的过程。 2、重点内容 参考C语言程序的编译过程,掌握Java程序的编译、运行过程。 3、难点分析 在Java开发环境中,如何辨别和调试简单的语法错误。
讲授内容
一、Java的版本和发展历史 §1.1 Java的版本和发展历史 1、Java的开发环境 Java的开发环境需要JDK和JRE,其中JDK是Java的开发工具包,而JRE是Java的运行环境。 2、Java的版本信息
通常而言,Java包括四个版本。 (1)J2SE版本 J2SE是Java的标准版本,通常在桌面程序中广泛使用。 (2)J2EE版本 J2EE是Java的企业版本,通常在Web程序中广泛使用。 (3)J2ME版本 J2ME是Java的移动版本,通常在智能手机程序中广泛使用。 (4) JavaFX版本 JavaFX是Java的互联网富客户端版本,通常使用轻量级的用户接口API。 3、Java的发展历史
1991年4月,由James Gosling博士领导的绿色计划(Green Project)开始启动,此计划的目的是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这个计划的产品就是Java语言的前身:Oak(橡树)。Oak当时在消费品市场上并不算成功,但随着1995年互联网潮流的兴起,Oak迅速找到了最适合自己发展的市场定位并蜕变成为Java语言。
1995年5月23日,Oak语言改名为Java,并且在SunWorld大会上正式发布了Java1.0版本。Java语言第一次提出了“Write Once,Run Anywhere”的口号。
1996年1月23日,JDK 1.0发布,Java语言有了第一个正式版本的运行环境。JDK 1.0提供了一个纯解释执行的Java虚拟机实现(Sun Classic VM)。JDK 1.0版本的代表技术包括:Java虚拟机、Applet和AWT等。
1996年4月,10个最主要的操作系统供应商声明将在其产品中嵌入Java技术。同年9月,已有大约8.3万个网页应用Java技术来制作。在1996年5月底,Sun于美国旧金山举行了首届JavaOne大会,从此JavaOne成为全世界数百万Java语言开发者每年一度的技术盛会。 《Java程序设计》第一讲教案 2 1997年2月19日,Sun发布了JDK 1.1,Java技术的一些最基础的支撑点(如JDBC等)都是在JDK 1.1版本中发布的,JDK 1.1的技术代表有:JAR文件格式、JDBC、JavaBeans、RMI。Java语法也有了一定的发展,如内部类(Inner Class)和反射(Reflection)都是在这个时候出现的。
直到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(南瓜)、JDK 1.1.6 - Abigail(阿比盖尔,女子名)、JDK 1.1.7- Brutus(布鲁图,古罗马政治家和将军)和JDK 1.1.8 - Chelsea(切尔西,城市名)。
1998年12月4日,JDK迎来了一个里程碑式的版本JDK 1.2,工程代号为Playground(竞技场),Sun在这个版本中把Java技术体系拆分为3个方向,分别是面向桌面应用开发的J2SE(Java 2 Platform, Standard Edition)、面向企业级开发的J2EE(Java 2 Platform, Enterprise Edition)和面向手机等移动终端开发的J2ME(Java 2 Platform, Micro Edition)。在这个版本中出现的代表性技术非常多,如EJB、Java Plug-in、Java IDL、Swing等,并且在这个版本中Java虚拟机第一次内置了JIT(Just In Time)编译器(JDK 1.1也可以使用外挂方式的JIT编译器)。在语言和API级别上,Java添加了strictfp关键字与现在Java编码之中极为常用的一系列Collections集合类。在1999年3月和7月,分别有JDK 1.2.1和JDK 1.2.2两个小版本发布。
1999年4月27日,HotSpot虚拟机发布,HotSpot最初由一家名为“Longview Technologies”的小公司开发,因为HotSpot的优异表现,这家公司在1997年被Sun公司收购了。HotSpot虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机。
2000年5月8日,工程代号为Kestrel(美洲红隼)的JDK 1.3发布,JDK 1.3相对于JDK 1.2的改进主要表现在一些类库(如数学运算和新的Timer API等)上,JNDI服务从JDK 1.3开始被作为一项平台级服务提供(以前JNDI仅仅是一项扩展),使用CORBA IIOP来实现RMI的通讯协议,等等。这个版本还对Java 2D做了很多改进,提供了大量新的Java 2D API,并且新添加了JavaSound类库。JDK 1.3有1个修正版本JDK 1.3.1,工程代号为Ladybird(瓢虫)于2001年5月17日发布。
自从JDK 1.3开始,Sun维持了一个习惯:大约每隔两年发布一个JDK的主版本,以动物名称命名,期间发布的各个修正版本则以昆虫名称作为工程名称。
2002年2月13日,JDK 1.4发布,工程代号为Merlin(灰背隼)。JDK 1.4是Java真正走向成熟的一个版本,Compaq、Fujitsu、SAS、Symbian、IBM等著名公司都有参与甚至实现自己独立的JDK 1.4。哪怕是在近10年后的今天,仍然有许多主流应用(Spring、Hibernate、Struts等)能直接运行在JDK 1.4之上,或者继续发布能运行在1.4上的版本。JDK 1.4同样发布了很多新的技术特性,如正则表达式、异常链、NIO、日志类、XML解析器和XSLT转换器,等等。JDK 1.4有两个后续修正版:2002年9月16日发布的工程代号为Grasshopper(蚱蜢)的JDK 1.4.1与2003年6月26日发布的工程代号为Mantis(螳螂)的JDK 1.4.2。
2002年前后还发生了一件与Java没有直接关系,但事实上对Java的发展进程影响很大的事件,即微软的.NET Framework发布。这个无论是技术实现还是目标用户上都与Java有很多相近之处的技术平台给Java带来了很多讨论、比较和竞争,.NET平台和Java平台之间声势浩大的孰优孰劣的论战到今天为止仍然在继续。
2004年9月30日,JDK 1.5发布,工程代号为Tiger(老虎)。从JDK 1.2以来,Java在语法层面上的变化一直很小,而JDK 1.5在Java语法易用性上做出了非常大的改进。自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环(foreach循环)等语法特性都是在JDK 1.5中加入的。在虚拟机和API《Java程序设计》第一讲教案 3 层面上,这个版本改进了Java的内存模型(Java Memory Model,JMM)、提供了java.util.concurrent并发包等。另外,JDK 1.5是官方声明可以支持Windows 9x平台的最后一个JDK版本。
2006年12月11日,JDK 1.6发布,工程代号为Mustang(野马)。这是目前为止最新的正式版JDK(截至本书完稿时,JDK 1.7仍然处于Early Access版本)。在这个版本中,Sun终结了从JDK 1.2开始已经有8年历史的J2EE、J2SE、J2ME的命名方式,启用了Java SE 6、Java EE 6、Java ME 6的命名来代替。JDK 1.6的改进包括:提供动态语言支持(通过内置Mozilla JavaScript Rhino引擎实现)、提供编译API和微型HTTP服务器API,等等。同时,这个版本对Java虚拟机的内部做了大量改进,包括锁与同步、垃圾收集、类加载等方面的算法都有相当多的改动。
在2006年11月13日的JavaOne大会上,Sun宣布最终会把Java开源,并在随后的一年多时间内,陆续地在GPL v2(GNU General Public License v2)协议下公开了JDK各个部分的源码,并建立了OpenJDK组织对这些源码进行独立管理。除了极少量的产权代码(Encumbered Code,这部分代码大多是Sun本身也无权限进行开源处理的)外,OpenJDK几乎包括了Sun JDK的全部代码。OpenJDK的质量主管曾经表示,在JDK 1.7中,Sun JDK和OpenJDK除了代码文件头的版权注释之外,代码基本上完全一样,所以OpenJDK 7与Sun JDK 1.7本质上就是同一套代码库出来的产品。
JDK 1.6发布以后,由于代码复杂性的增加、JDK开源、开发JavaFX、经济危机及Sun收购案等原因,Sun在JDK发展以外的事情上耗费了很多资源,JDK的更新没有再维持两年发布一个主版本的发展速度。JDK 1.6到今天为止一共发布了25个Update,最新的版本为Java SE 6 Update 25,于2011年4月21日发布。
2009年2月19日,工程代号为Dolphin(海豚)的JDK 1.7完成了其第一个里程碑版本。根据JDK 1.7的功能规划,一共设置了10个里程碑。最后一个里程碑版本于2010年9月9日结束。从发布的Early Access版看来目前JDK 1.7的主体功能,已经比较完善,只剩下Lambda项目(Lambda表达式)、Jigsaw(模块化支持)和Coin(语言细节进化)子项目的部分工作尚未完成,Oracle宣布JDK 1.7正式版将于2011年7月28日推出,可能会把不能按时完成的Lambda、Jigsaw和部分Coin放入JDK 1.8之中。JDK 1.7的主要改进包括:提供新的G1收集器、加强对非Java语言的调用、语言级的模块化支持(取决于Jigsaw项目能不能完成)、升级类加载架构,等等。