从0开始写出你的“Hello World” | 带你学《Java编程入门》之一

【本节目标】
看完本篇文章,你将了解Java语言的产生和发展历程,阐述Java语言的特点以及可移植性的实现原理,学习JDK的下载,安装与配置,学会做你的第一个程序”Hello World”。

1.1 Java的产生与发展

Java 是由 SUN 公司开发的一套编程语言,其前身并不是 Java。
在 1991 年的时候,美国SUN(Stanford University NetWork)公司有一个 GREEN 项目,这个项目的核心功能在于使用 EMail 控制家电产品的运行(智能家居),在 80 年代 Email 流行的时候 ,当时可以发送 Email 是一件很牛的事情。最初 SUN 公司打算竞争此项目,但是后来考虑到 C++ 语言的复杂性,所以利用 C++ 开发出一套 OAK(橡树)平台,并且利用此平台进行项目的竞标,不过遗憾的是,这个平台的竞标失败了。后来在 1995 年 5 月 23 日的时候正式推出了Java 编程语言,同时推出了 JDK 1.0 的开发包(1996年的时候才开始可以提供陆续下载使用,到了 1997 年的时候传到了中国)。
SUN公司是一家从事于硬件开发的技术性公司,SUN 最早的代表性的产品:小型机(被广泛的应用在了 amazon 上),后来由于网络经济的发展问题(任何的经济模式都一定会出现有瓶颈)但是对于 90 年代末--2000 年初的互联网低潮而言,这就是一个严重的伤害。而 SUN 公司经历过这么一段发展之后并没有恢复往日的经济实力,终于在后来被 Oracle 公司所收购,但是在 Oracle 公司收购前最希望收购 SUN 的实际上是 IBM ,IBM 当年软件产品线上的技术基础就是 Java 语言。
但是不管这些公司如何折腾,有一点已经达成了共识:Java依然是一个稳定的、可靠的编程语言,可以承担大型服务器的程序开发任务。

1.2 Java技术的不同发展

而从最初的时代到现在 Java 语言也出现了一些技术的不同发展:按其应用不同,分为三个版本。

  • Java标准开发(J2SE、Java SE):提供底层支持,实现桌面程序开发,包括Word、Excle等;
  • Java嵌入式开发(J2ME、Java ME):智能家居就是SUN公司最初就是想做的嵌入式开发,但是这个嵌入式的发展因为当年的 Nokia 的阻拦,后来基本上被 Android 所替代了;
  • Java企业开发(J2EE、Java EE):主要进行企业平台的搭建,现在主要开发的是互联网平台。

1.3 Java语言特点

Java 之所以可以得到持续的发展力以及良好的生态系统,这完全取决于 Java 的自身的技术特征:
1、是一个行业内通用的技术实现标准: 是一种半开源产品,所以很多的厂商得以接触到 Java 的底层,这样使得 Java 开发的更加的透明;
2、是一门面向对象的编程语言:这样就使得 Java 语言语法结构更加方便开发者接受,这些面向对象的设计思想还在不断进行着扩充(不同的 JDK 版本);
3、提供有方便的内存回收处理机制:像一些编程语言里面需要明确的手工进行对象的回收与释放,否则你的程序将无法正常提供支持,但是 Java 可以提供有自动的内存回收操作,这样处理会更加方便一些(这里面就牵扯到了一些优化方面的问题了);
4、避免了复杂的指针问题,而使用更加简单的引用来代替指针:指针虽然是一种高效的内存处理模式,但是其需要较强的分析,而我们的Java在设计的时候就充分的考虑到了这一点,所以开发者直接利用引用就可以简化指针的处理,而引用也是在初学者过程之中最为麻烦最为难以理解的部分;
5、Java是为数不多支持多线程编程的开发语言:这样就可以使得单位时间内,处理的性能得到提升(性能的提升并不是绝对的);多线程也是Java 开发之中最难以理解的部分,而正确的多线程处理才是提升处理性能的核心所在;
6、Java提供有高效的网络处理能力:可以基于NIO实现更加高效的数据的传输处理;
7、Java具有良好的可移植性:这样就可以提升一个程序的适用范围。Java的可移植性实现,依靠JVM(Java虚拟机),JVM是一个由软件和硬件模拟出来的计算机,所有的程序只要有JVM的支持,就可以实现程序的执行,不同的操作系统上会有不同版本的JVM,这样就可以实现移植性。

1.4 JDK的安装与配置

Java语言属于编译型与解释型的开发语言,对于Java语言,如果要想进行开发,则一定要进行 JDK(Java Development Kit) 的安装配置,而 JDK 要想获取则需要通过官方网站获得,并且也需要在本机上进行配置。可简单总结为:Java开发---->JDK的安装配置---->官网获取,本机配置。
JDK下载官网:www.oracle.com 。

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图一 Oracle官网

之后,我们去看一下具体是在哪里下载:

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图二 JDK下载位置

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图三 JDK版本

对于JDK而言,有其本身的发展历史,主要有如下的几个标志性版本:
1、1995年5月23,JDK1.0的开发包发布,同时在1996年的时候,JDK正式提供下载,标志着Java的诞生;
2、1998年12月04日,JDK1.2版本推出,而后Java正式更名为Java2;
3、2005年5月23 日,十周年大会上,推出JDK1.5版本,同时这个版本也是带来新特性以及开发支持更多的历史版本,可以说这一版本直接决定了Java后续十年的技术核心;
4、2014年,Java提供了JDK1.8版本,并且支持有Lambda表达式,而且可以使用函数式编程;
5、2017年,Java提供了JDK1.9版本,进一步提升了JDK1.8的稳定性;
6、2018年,Java提供了JDK1.10版本,是属于JDK1.9的稳定版。
需要注意的是:

  • 如果要是进行实际项目的生产环境的部署现阶段还应该以JDK1.8为主;
  • JDK1.9和JDK1.10的差别不大,也就是说使用JDK1.9还是JDK1.10效果是类似的。

我们这里选择Windows系统JDK1.10版本进行安装下载:

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图四 JDK 1.10 版本下载

我们可以看到除了JDK 外还有Server JRE 、JRE。
JRE指的是Java运行时环境,也就是说只提供有程序的解释功能,不提供有程序的开发功能,当我们的本机上配置好了JDK后将会自动进行JRE的更新处理。

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图五 JDK下载

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图六 框选接受

点击查看具体下载过程
接下来我们说一说安装与配置:

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图七 JDK安装初始窗口

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图八 JDK定制安装窗口

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图九 JRE安装窗口

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图十 为JRE指定安装路径

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图十一 安装进度窗口

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图十二 安装完成窗口

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图十三 JDK可执行文件路径

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图十四 环境变量配置位置【高级系统设置】

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图十五 环境变量配置位置【环境变量】

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图十六 编辑Path值

从0开始写出你的“Hello World”  | 带你学《Java编程入门》之一
图十七 验证配置结果

安装与配置的所有步骤已经列好了,如果你还有不清楚的,可以点击这里哦!

1.5 我的第一个程序

现在环境变量配置完成,我们来进行我们第一个代码实现吧。
“Hello World”的源程序实现(通过记事本或者Editplus来编写):

public class Hello{
    public static void main(String  args[]){
        System.out.println(“Hello World”);
    }
}

是不是很简单,你学会了吗?
想知道怎么运行它吗?
我来带你去看看!
想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学

下一篇:带你学《Java编程入门》之二:开启Java之路,你必须要了解的
更多Java入门编程文章查看此处

上一篇:“直线、分叉、圆圈”--程序逻辑之争 | 带你学《Java编程入门》之五


下一篇:基于 DataLakeAnalytics 的数据湖实践