小伙伴们是不是经常有这样那样的疑惑:
大家心中的疑惑会随着我们的系列文章得到答案!从本讲开始我们将发系列文章全面讲述Java,职创未来技术小编帮助大家从小白逐步成为合格的Java工程师。
SUN公司的James Gosling(詹姆斯高斯林)及其领导的团队于1991年,耗时18个月,研发出了一款全新的编程语言Oak(橡树)。Oak语言是Java的前身,SUN公司最初的设计动机是为了使Oak语言成为平台独立语言,并期望该语言应用于面向消费电子类产品;可是,事与愿违,糟糕的市场表现使得Oak语言难以得到有效推广。
互联网在20世纪90年代后得到快速发展,SUN公司看到了Oak语言在互联网上巨大的应用价值;SUN公司在1995年5月将Oak语言更名为Java语言,重新推向市场。随着互联网的发展及应用,目前,Java是几乎所有类型的网络应用程序的基础,也是开发和提交嵌入式和移动应用程序、游戏、基于web的内容和企业软件的全球标准。另外,全球有超过900万的Java开发者。根据Oracle公司(收购了SUN公司)的最新的统计数据显示,从笔记电脑到数据中心,从游戏控制到科学超级计算机,从手机到互联网,Java几乎无处不在,包括以下方面:
目前,Java分为三个体系,包括了:
另外,JavaSE是Java的基础和核心,也是JavaME和JavaEE编程的基础。历史上,JavaSE称为J2SE,JavaEE称为J2EE, JavaME称为J2ME;SUN公司在2005年6月的JavaOne大会上发布了Java SE6。同时,SUN公司对Java的各种版本进行了更名,取消了原有命名中的数字“2”,因此,J2SE更名为JavaSE,J2EE更名为JavaEE,J2ME更名为JavaME。
本章节从Java语言诞生开始,按照时间脉络梳理Java发展历史及重要里程碑事件:
Java历史上发布的版本纪录可以查询Oracle的Java JDK发布记录,链接:
https://www.oracle.com/java/technologies/javase/jdk-relnotes-index.html。
Java Platform Standard Edtion,简称Java SE,它包括了两个部分组成:
Java SE平台架构如图1-1所示:
JDK是Java语言的软件开发包,它是Java开发的核心,包括了Java语言、Java工具、Java运行环境;没有JDK的话,无法编译Java源代码。
JDK的基础组件包括了以下部分:
Java Runtime Environment,简称JRE,可以实现在操作系统上运行Java应用程序;JRE包括两部分:
JRE包括了Java虚拟机、Java核心类库及支持头文件。目前,JRE自带的基础类库主要是JRE/lib/rt.jar,它包括了Java SE的所有类库。
Java语言起源于C和C++语言,但是丢弃了C++语言中比较晦涩、难以让人理解的许多特性;另外,Java语言放弃了C和C++语言中指针,保留了引用。同时,Java支持自动分配和回收内存空间的机制,程序员在开发时不必自行管理程序内存空间。因此,Java语言让大多数程序员轻松上手。
Java是一种纯面向对象的语言,它提供了类、接口和继承等诸多面向对象的特性,同时,全面支持动态绑定的过程。为了便于理解和使用,Java语言只支持类之间的单向继承,而接口之间却支持多继承方式;另外,Java语言通过关键之implements支持类与接口之间的实现机制。
Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。
Java通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。
Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器基于Java 实现的,Java 的运行环境使用ANSI C 实现的。
Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在连接阶段被载入到运行环境中。
与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++。
在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 构造子类,将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。
动态的语言
Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
本讲是Java基础课程1讲,重点了解了一下什么是Java语言及其发展历史、特点等。从第2讲开始,我们正式开启Java编程之旅!
零基础学Java,就来武汉职创未来!
职创未来,创造未来,成就未来!
加关注,不迷路!
更多请访问:www.whccf.cn