前言
Java语言简介
是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。
是一种面向Internet的编程语言。
随着Java技术在Web方面的不断成熟,已经成为Web应用程序的首选开发语言。
Java语言的发展史
1991年Green项目,开发语言最初命名为Oak (橡树)。
1994年,开发组意识到Oak非常适合于互联网。
1996年,发布JDK 1 0,约8.3万个网页应用Java技术来制作。
1997年,发布JDK 1.1,Java One会议召开,创当时全球同类会议规模之最。
1998年,发布JDK 1.2,同年发布企业平台J2EE。
1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生。
2004年,发布里程碑式版本:JDK 1.5为突出此版本的重要性,更名为JDK 5.0。
2005年J2SE 更名为JavaSE,J2EE更名为JavaEE,J2ME更名为JavaME。
2009年,Oracle公司收购SUN,交易价格74亿美元。
2011年,发布JDK 7.0。
2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本。
2017年,发布JDK 9.0,最大限度实现模块化。
2018年3月,发布JDK 10.0 ,版本号也称为18.3。
2018年9月,发布JDK 11.0 ,版本号也称为18.9。
2019年3月,发布JDK 12.0 ,版本号也称为19.3。
2019年9月,发布JDK 13.0 ,版本号也称为19.9。
2020年3月,发布JDK 14.0 ,版本号也称为20.3。
Java在各领域的应用
企业级应用主要指复杂的大型企业的软件系统、各种类型的网站。Java的安全机制以及它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电信、交通、电子商务等。
Android平台应用Android应用程序使用Java语言编写。 Android开发水平的高低很大程度上取决于Java语言核心能力是否扎实 。
大数据平台开发:各类框架有Hadoop、spark、storm、flink等,就这类技术生态圈来讲,还有各种中间件如flume、kafka、sqoop等等,这些框架以及工具大多数是用Java编写而成。
移动领域应用:主要表现在消费和嵌入式领域, 是指在各种小型设备上的应用,包括手机、 PDA、机顶盒、汽车通信设备等。
Java语言的诞生
Java之父James Gosling团队在开发项目时,发现C语言缺少垃圾回收系统、还有可移植的安全性、 分布程序设计和多线程功能,最后,他们想要一种易于移植到各种设备上的平台。
Java确实是从C语言和C++语言继承了许多成份,甚至可以将Java看成是C语言发展和衍生的产物。比如Java语言的变量声明,操作符形式,参数传递,流程控制等方面和C语言、C++语言完全相同。
但同时, Java是一个纯粹的面向对象的程序设计语言,它继承了C语言面向对象技术的核心。 Java 舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性;增加了垃圾回收器功能,用于回收不再被引用的对象所占据的内存空间。 JDK1.5又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装拆箱。
Java的主要特性
Java语言是易学的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。
Java语言是强制面向对象的。 Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制。
Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。
Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查。
Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统的解释器中运行。
Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性能还是较优的。
Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
Java是跨平台性的。通过Java语言编写的应用程序在不同的系统平台上都可以运行。Write once, Run Anywhere。只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机 (JVM:Java Virtual Machine)即可,由JVM来负责Java程序在该系统中的运行。
1.1、Java语言的组成
1.1.1、Java SE(J2SE):
作用:面向桌面的应用开发,目前在桌面应用领域已经过时。
内容:Java基础、基本的Java语法、流控语句、数据类型、IO等等。
1.1.2、Java EE(J2EE):
作用:面向WEB的应用开发,目前WEB应用程序最重要的主流开发技术之一。
内容:Java WEB端开发技术、容器技术、服务器页面技术等等。
1.1.3、Java ME(J2ME):
作用:面向移动应用开发,目前该技术已经被Android技术所替代。
内容:Java移动端开发技术。
1.2、JDK(Java development kits):【重点】
JDK是提供给Java开发人员使用的开发工具集,其中包含了Java的开发工具,也包括了JRE 。所以安装了JDK,就不用在单独安装JRE了。
Java运行环境 ( Java Runtime Environment )
包括Java虚拟机(JVM)、Java编译器和 Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JDK、JRE、JVM关系:
1.3、下载并安装 JDK
官方网址:www.oracle.com
安装 JDK:
傻瓜式安装,下一步即可。
建议:安装路径不要有中文或者空格等特殊符号。
如果操作系统是64位的,软件尽量选择支持64位的。
当提示安装JRE时,正常在JDK安装时已经装过了,但是为了后续使用Eclipse等开发工具不报错,建议也根据提示安装JRE。
1.4、配置环境变量【难点】
在dos命令行中敲入javac,出现错误提示:
错误原因:当前执行的程序在当前目录下如果不存在, Windows系统会在系统中已有的一个名为path 的环境变量指定的目录中查找。如果仍未找到,会出现以上的错误提示。所以进入到JDK安装路径bin 目录下,执行javac ,会看到javac参数提示信息。
每次执行Java 的工具都要进入到 bin 目录下,是非常麻烦的。可不可以在任何目录下都可以执行 java 的工具呢?
根据 windows 系统在查找可执行程序的原理,可以将 java 工具所在路径定义到 path 环境变量中,让系统帮我们去找运行执行的程序。
配置步骤:
1.选中桌面《我的电脑》右键 -> 选择《属性》,选择《高级系统设置》。
2.点击《环境变量》:
3.新建一项系统变量“ JAVA_HOME“ ,值为JDK的安装路径。
4.配置系统变量,双击系统变量的path,在变量值最前端添加%JAVA_HOME%\bin;然后确定。
5.检验是否配置成功:通过运行cmd指令,进入命令行窗口,执行javac命令。
6.获取当前安装的JDK的版本信息
1.5、Java常见开发工具
所见即所得的工具:记事本、UE、Notepad++。
IDE(集成开发环境):Eclipse、MyEclipse、STS、IDEA、JBuilder(支持可视化编程)。