跳到主要内容

简介

Java 是什么

Java 是世界上使用最广泛的编程语言之一。

Java 最初由 Sun Microsystems 在 1990 年代开发,用于开发从 Web 应用程序到移动应用程序,再到批处理应用程序的所有内容。Java 最初是一种纯粹的面向对象的语言,但现在已经发展成为一种多范例语言,可以高度适应任何情况。拥有庞大的开发人员社区和支持库,Java 是开发几乎所有类型的应用程序的理想选择。

Java 是最初由开发 James Gosling (詹姆斯·高斯林,他被称为 Java 编程语言之父)在 Sun Microsystems 公司(现已被 Oracle 收购),并于1995年发布了作为 Sun 公司的一个核心组成部分 Java 平台。

James Gosling (詹姆斯·高斯林),Mike Sheridan (迈克·谢里丹)和 Patrick Naughton (帕特里克·诺顿)于 1991 年 6月启动了 Java 语言项目。Java 最初是为交互式电视设计的,但在当时的数字有线电视行业来说太先进了。该语言最初是在 James Gosling (詹姆斯·高斯林)办公室外的一棵橡树之后被称为 Oak 的。

后来,该项目以 Green 命名,并最终从 Java coffee (印度尼西亚的一种咖啡)重命名为 Java

Java SE

Java SE(Java Platform Standard Edition,Java 平台标准版)以前称为 J2SE,它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java EE 提供基础,如 Java 语言基础、JDBC 操作、I/O 操作、网络通信以及多线程等技术。

Java EE

Java EE(Java Platform Enterprise Edition,Java 平台企业版)以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(Service Oriented Architecture,SOA)和 Web 2.0 应用程序。

Java ME

Java ME(Java Platform Micro Edition,Java 平台微型版)以前称为 J2ME,也叫 K-JAVA。 Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。

Java ME 包括灵活的用户界面、健壮的安全模型、丰富的内置网络协议以及对可以动态下载的联网和离线应用程序。基于 Java ME 规范的应用程序 只需编写一次就可以用于许多设备,而且可以利用每个设备的本机功能。

Java 的特点

简单

Java 语言的风格很像 C 语言和 C++ 语言,是一种纯粹的面向对象语言,它继承了 C++ 语言面向对象的技术核心,但是拋弃了 C++ 的一些缺点,比如说容易引起错误的指针以及多继承等,同时也增加了垃圾回收机制,释放掉不被使用的内存空间,解决了管理内存空间的烦恼。

面对对象

Java 是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。为了简单起见,Java 只支持类之间的单继承,但是可以使用接口来实现多继承。使用 Java 语言开发程序,需要采用面向对象的思想设计程序和编写代码。

平台独立性

平台独立性的具体表现在于,Java 是“一次编写,到处运行(Write Once,Run any Where)”的语言,因此采用 Java 语言编写的程序具有很好的可移植性,而保证这一点的正是 Java 的虚拟机机制。在引入虚拟机之后,Java 语言在不同的平台上运行不需要重新编译。

可移植性

Java 基本数据类型的数据大小都做了统一的规定,没有“与具体实现相关”的概念。所以 .jar 文件能够同时在 Windows、Mac OS、Linux 系统下运行,不需要再次编译。

多线程

Java 语言是容易实现多线程的,这也是 Java 语言的一大特性,它必须由 Thread 类和它的子类来创建。Java 支持多个线程同时执行,并提供多线程之间的同步机制。任何一个线程都有自己的 run() 方法,要执行的方法就写在 run() 方法体内。实现多线程的方式主要有下面这几种:

  • 用户空间中实现多线程
  • 内核空间中实现多线程
  • 用户和内核空间中混合实现线程

高性能

编写的代码,经过 javac 编译器编译为字节码(bytecode),经过 JVM 内嵌的解释器将字节码转为机器码,这是解释执行,这种效率相对较低。但部分 JVM 的实现比如 Hotspot JVM 都提供了 JIT(Just in Time)动态编译器,JIT 能够在运行时将热点代码编译机器码。随着 JIT(Just in Time)的发展,Java 的运行速度也越来越高。

健壮性

Java 的强类型机制、异常处理、垃圾回收机制等都是 Java 健壮性的重要保证。对指针的丢弃是 Java 的一大进步。另外,Java 的异常机制也是健壮性的一大体现。

分布式

Java 语言支持 Internet 应用的开发,在 Java 的基本应用编程接口中就有一个网络应用编程接口,它提供了网络应用编程的类库,包括 URL、URLConnection、Socket 等。Java 的 RIM 机制也是开发分布式应用的重要手段。

安全性

Java 通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了 Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。

Java 的开发环境

JDK

JDK(Java Development Kit)称为 Java 开发包或 Java 开发工具,是一个编写 Java 的 Applet 小程序和应用程序的程序开发环境。JDK 是整个 java 的核心,包括了 Java 运行环境(Java Runtime Environment),一些 Java 工具和 Java 的核心类库(Java API)。

JRE

JRE(Java Runtime Environment)是个运行环境,运行 Java 程序的时候就需要 JRE。JDK 里面包含 JRE,因此只要安装了 JDK 就可以编辑、运行 Java 程序。如果只是运行普通的 java 程序无须安装 JDK,只需要安装 JRE 即可。