从零打造IT知识体系-Java基础-01Java简介

createh51个月前 (02-08)技术教程16

简介:术道并行,从零打造IT知识体系,图文视频同步更新。
本文学习章节:Java基础--01Java简介
本文学习内容:Java发展史、JDK、JRE、JVM关系、Java环境变量设置、第一个hello world程序
本文视频地址:【今日头条

当前知识体系图谱

绿色:已学习内容。蓝色:本次学习内容



第一节:Java发展史

?思考:为什么要学习Java?

编程语言的发展,其实是经过了三个比较大的阶段:

汇编语言 >> 面向过程语言 >>面向对象语言

Java可以算是作为面向对象言语的杰出代表,我们来看下C、C++、Java的简单对比

语言

发布时间

发布公司

特点

编程语言排行

(2021.2)

C

1970 年代初

美国电话电报公司(AT&T)贝尔实验室

面向过程

1

C++

1983 年

美国电话电报公司(AT&T)贝尔实验室

面向对象

4

Java

1995 年 5 月

Sun 公司

面向对象

2

可以看出,Java经过26年,仍然是编程界炙手可热的语言。目前几乎就没有Java语言干不了的事,所以无论什么时候开始学习Java都不晚。

?Java的创始人



詹姆斯·高斯林的简介:

博士论文的题目是:"The Algebraic Manipulation of Constraints"。毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司。1990年,与Patrick Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。1994年底,James Gosling在硅谷召开的“技术、教育和设计大会”上展示Java程式。2000年,Java成为世界上最流行的电脑语言。

2009年四月,Sun被甲骨文公司并购。高斯林于2010年四月时宣布从甲骨文公司离职。

2011年3月29日,高斯林在个人博客上宣布将加入Google。

2011年8月30日,仅仅加入Google数月之后的高斯林就在个人博客上宣布离开Google,加盟一家从事海洋机器人研究的创业公司Liquid Robotics,担任首席软件架构师。

在2011年5月建立的Scala公司Typesafe Inc., 高斯林被聘请为公司顾问。

在2017年5月Java之父 詹姆斯·高斯林(James Gosling) 被亚马逊聘请加入了AWS云服务部门,职位为 Distinguished Engineer。(以上内容来自百科)

从高斯林的简介可以看出2个有意思的情况:

一是,高斯林60岁了还是工作,那么我们还有必要担心程序员35岁这个坎吗?美国互联网比中国早发展20年,我相信在中国也一样,看的是技术,不是年龄。

二是,高斯林后来一直担任的架构师一职,也就是说,走技术路线,最终的归宿就是架构师。

?Java版本发展史

?1995年5月23日,Java语言诞生;

?1996年1月,第一个JDK-JDK1.0诞生;

?1997年2月18日,JDK1.1发布;

?1998年12月8日,Java 2企业平台J2EE发布;

?2001年9月24日,J2EE1.3发布;

?2002年2月26日,J2SE1.4发布,此后Java的计算能力有了大幅提升;

?2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0;

?2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME;2009年12月,SUN公司发布Java EE 6;

?2009年,甲骨文公司宣布收购Sun 。2010年,Java编程语言的共同创始人之一詹姆斯·高斯林从Oracle公司辞职。

?2011年7月28日,甲骨文发布Java SE 7;

?2014年3月18日,甲骨文发表Java SE 8;

?2017年:JDK9发布

?2018年3月:JDK10发布

?2018年9月:JDK11发布,该版本为LTS长期支持版本

?2019年2月:JDK12发布

?2019年9月:JDK13发布

?2020年3月:JDK14发布

?2020年9月:JDK15发布

?Java版本选择


从上图我们可以发现Java8和11仍是绝对主力。

我们先看2个概念:

长期支持(LTS)版:Oracle 对 LTS 版本提供付费支持,包括 Java 7、8和11,并持续相当长的一段时间。

OpenJDK与Oracle JDK的区别:最大区别就是两者协议不同;OpenJDK根据许可证GPL v2发布。Oracle JDK根据Oracle二进制代码许可协议获得许可。

所以我们Java版本选择因遵循如下原则:

  • 选择LTS版本长期支持版
  • 商业用时,使用OpenJDK(免费开源)

第二节:JDK、JRE、JVM关系


从上图,我们可以看出JDK包含JRE,JRE包含JVM。目前我们知道这个关系就可以了,今后我们在JVM篇时,会着重学习这块内容。

第三节:Java环境变量配置

?思考:为什么要配置Java环境变量?

1.首先在windows,当使用CMD命令窗口执行命令时,系统是怎么知道该执行哪个程序呢。

2.比如在CMD命令窗口执行calc,为什么就能打开计算器呢,那是因为CMD命令会寻找环境变量中path配置的文件路径。

3.为什么我们在Java的bin目录下,运行CMD命令窗口,可以使用Java命令呢。

4.因为CMD的命令会优先在当前目录下选择可执行文件,比如Java,就运行当前目录Java.exe文件。如何当前文件目录下没有,则在环境变量path中所设置的那些目录中按照先后顺序寻找。

5.为什么方便全局使用Java命令,所以我们需要配置Java环境变量

6.如果是JDK的安装版,那么程序会自动把java.exe、javaw.exe、javaws.exe三个可执行文件复制到C:\Windows\System32目录;这个时候无需设置环境变量;

7.正式由于安装版这个特性,在多个JDK版本时,可能出现配置了环境变量,却仍以System32中的java程序为主(在System32配置在Java环境变量前时)。

步骤一:Java版本下载

下载地址:

https://www.oracle.com/java/technologies/javase-downloads.html



点击下载后,一步一步安装即可,由于是安装版,其实也可以不用设置环境变量。

步骤二:JAVA_HOME、CLASSPATH变量设置

假设安装目录是:D:\App\Java\jdk1.8.0_261

JAVA_HOME设置为:D:\App\Java\jdk1.8.0_261

CLASSPATH设置为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

桌面-->我的电脑-->点击右键-->点击属性:如下图




步骤三:修改Path环境变量

选择path环境变量,点击编辑


设置图中环境变量,只需设置%JAVA_HOME%\bin即可。

步骤三:验证

在CMD窗口中,输入:java –version命令,如图出现版本号,则证明设置成功


第四节:第一个Java程序、

国际惯例,实现hello world!

步骤一:编写hello world的java源码文件

新建一个txt文档,写入如下源码

public class HelloWorld {
??? public static void main(String[] args) {
??????? System.out.println("HelloWorld");
??? }
}

然后重命名为HelloWorld.java,如图:


步骤2:编译java源文件

在当前目录下,打开cmd命令窗口;

输入:javac HelloWorld.java

成功后,会在当前目录生成编译后的class文件


步骤3:执行java程序

在当前的cmd命令窗口;

输入:java HelloWorld

成功后,会在控制台打印Hello World,如图:


可以看出:

Java程序的编写过程:编写源码--》编译源码--》执行程序

总结

  • JDK的版本选择:LTS长期支持版,商业时使用OpenJDK
  • Java环境变量的设置
  • 第一个Java程序(javac、java)


本套课程有对应的视频教程如下:

【Java基础-01 Java简介 - 今日头条】

相关文章

Java基础入门篇(四)Java SE、Java EE、Java ME三者之间的区别

编者荐语:Java 是排名第一的编程语言和开发平台。它可以降低成本、缩短开发时间、推动创新并改进应用服务。随着全球数百万开发人员运行超过 510 亿台 Java 虚拟机,Java 继续成为企业和开发人...

JAVA语言简介_java语言主要有哪些特点

Java 是一种面向对象、跨平台的高级编程语言,由 James Gosling 及其团队于 1995 年 在 Sun Microsystems(现属 Oracle 公司)开发。其核心理念是 "Writ...

带你好好掌握:最全最详细的Java IO流

本文主要介绍 Java中的I/O系统如有需要,可以参考如有帮助,不忘 点赞 ?前言:对程序语言的设计者来说,创建一个好的输入/输出 (I/O) 系统是一项艰难的任务Java IO:即 Java 输入/...

Java程序员要不要学习Lua?_javagui有必要学吗

大家好,我是袁庭新。Java程序员要不要学习Lua?Lua虽小,但威力巨大!游戏开发、嵌入式系统、自动化脚本...哪哪都离不开它!|Lua介绍Lua官网:https://www.lua.org。Lua...

Java开发必读,谈谈对Spring IOC与AOP的理解

本文分享自华为云社区《超详细的Java后台开发面试题之Spring IOC与AOP-云社区-华为云》,作者:GaussDB 数据库。一、前言IOC和AOP是Spring中的两个核心的概念,下面谈谈对这...

如何在 Linux 上安装 Java_怎么在linux安装jdk

在桌面上拥抱 Java 应用程序,然后在所有桌面上运行它们。-- Seth Kenlon(作者)无论你运行的是哪种操作系统,通常都有几种安装应用程序的方法。有时你可能会在应用程序商店中找到一个应用程序...