Java™ 教程(Java技术现象)
Java技术现象
关于Java技术的讨论似乎无处不在,但究竟是什么呢?下面几节将解释Java技术如何既是一种编程语言又是一种平台,并概述该技术可以为你做什么。
关于Java技术
Java技术既是编程语言又是平台。
Java编程语言
Java编程语言是一种高级语言,可以用以下所有流行语来描述它:
- 简单的
- 体系结构中立的
- 面向对象的
- 轻便的
- 分布式的
- 高性能的
- 多线程
- 健壮的
- 动态的
- 安全的
前面的每一个流行语都在Java语言环境中得到了解释,这是一篇由James Gosling和Henry McGilton撰写的白皮书。
在Java编程语言中,所有源代码首先用以.java
扩展名结尾的纯文本文件编写,然后,这些源文件由javac
编译器编译为.class
文件,.class
文件不包含处理器原生的代码;它包含字节码 — Java虚拟机(Java VM)的机器语言,然后,java
启动器工具使用Java虚拟机实例运行应用程序。
因为Java VM可用于许多不同的操作系统,相同的.class
文件能够在Microsoft Windows,Solaris™操作系统(Solaris OS),Linux或Mac OS上运行,例如Java SE HotSpot,在运行时执行其他步骤,以提高应用程序的性能。这包括各种任务,例如查找性能瓶颈和重新编译(对原生代码)经常使用的代码段。
通过Java VM,同样的应用程序可以在多个平台上运行。
Java平台
平台是程序运行的硬件或软件环境,我们已经提到了一些最流行的平台,如Microsoft Windows、Linux、Solaris OS和Mac OS。大多数平台可以描述为操作系统和底层硬件的组合,Java平台与大多数其他平台的不同之处在于,它是一个纯软件平台,可以在其他基于硬件的平台上运行。
Java平台有两个组件:
- Java虚拟机
- Java应用程序编程接口(API)
你已经了解了Java虚拟机,它是Java平台的基础,并移植到各种基于硬件的平台上。
API是现成的软件组件大集合,提供许多有用的功能,它被分组到相关类和接口的库中;这些库称为包。下一节,“Java技术可以做什么?”重点介绍了API提供的一些功能。
API和Java虚拟机将程序与底层硬件隔离开来。
作为独立于平台的环境,Java平台可能比原生代码慢一点,但是,编译器和虚拟机技术的进步使性能接近原生代码,而不会威胁到可移植性。
术语“Java虚拟机”和“JVM”表示Java平台的虚拟机。
Java技术能做什么?
通用的高级Java编程语言是一个强大的软件平台,Java平台的每个完整实现都为你提供以下功能:
- 开发工具:开发工具提供了编译、运行、监控、调试和记录应用程序所需的一切,作为一名新开发人员,你将使用的主要工具是
javac
编译器,java启动器和javadoc
文档工具。 - 应用程序编程接口(API):API提供Java编程语言的核心功能,它提供了各种有用的类,可以在你自己的应用程序中使用,它涵盖了从基本对象到网络和安全,XML生成和数据库访问等所有内容,核心API非常庞大;要了解它包含的内容,请参考Java Platform SE8文档。
- 部署技术:JDK软件提供标准机制,例如Java Web Start软件和Java Plug-In软件,用于将应用程序部署到最终用户。
- 用户界面工具包:JavaFX,Swing和Java 2D工具包使创建复杂的图形用户界面(GUI)成为可能。
- 集成库:集成库,例如Java IDL API,JDBC API,Java命名和目录接口(JNDI)API,Java RMI,和Internet上的Java远程方法调用Inter-ORB协议技术(Java RMI-IIOP技术)支持数据库访问和远程对象的操作。
Java技术将如何改变我的生活?
如果你学习Java编程语言,我们不能保证你的名气,财富,甚至一份工作,不过,它可能会使你的程序更好,并且需要比其他语言更少的努力,我们相信Java技术将帮助你完成以下工作:
- 快速入门:尽管Java编程语言是一种强大的面向对象语言,它很容易学,特别是对于熟悉C或c++的程序员来说。
- 编写更少的代码:程序指标(类计数,方法计数等)的比较表明,用Java编程语言编写的程序可以比用C++编写的相同程序小四倍。
- 编写更好的代码:Java编程语言鼓励良好的编码实践,自动垃圾收集可以帮助你避免内存泄漏,它的面向对象,它的JavaBeans™组件架构,而且它的范围很广,易于扩展的API使你可以重用现有的,测试代码并引入更少的错误。
- 更快地开发程序:Java编程语言比C++简单,因此,在编写时,你的开发时间可能快两倍,你的程序只需要更少的代码行。
- 避免平台依赖:你可以通过避免使用其他语言编写的库来保持程序的可移植性。
- 编写一次,随处运行:因为用Java编程语言编写的应用程序被编译成与机器无关的字节码,所以它们在任何Java平台上都能一致地运行。
- 更轻松地分发软件:使用Java Web Start软件,用户只需单击鼠标即可启动应用程序,启动时的自动版本检查可确保用户始终使用最新版本的软件,如果有可用更新,Java Web Start软件将自动更新其安装。