Java技术概览

翻译自http://docs.oracle.com/javase/tutorial/getStarted/intro/index.html

关于Java

Java既是一门编程语言,还是一个平台。

Java编程语言

Java编程语言是一种高性能的编程语言,设计目标可用以下几个词描述:

  • 简单
  • 面向对象
  • 分布式
  • 多线程
  • 动态
  • 架构中立
  • 可移植
  • 高性能
  • 健壮
  • 安全

上面的每个词的具体解释可详见James Gosling 和 Henry McGilton 所作的The Java Language Environment白皮书。

在Java语言中,所有源代码存放在后缀为.java的普通文本文件中,然后_javac_编译器将这些源文件编译成.class文件。在.class文件中不包含与特定处理器相关的指令,而是包含字节码(bytecodes)——Java虚拟机上运行的机器语言。然后_java_启动程序工具在一个虚拟机实例中运行你的程序。

软件开发过程

由于在不同的操作系统上都有对应的Java虚拟机实现,所以相同的.class文件可以在Windows,Solaris OS,Linux 或Mac OS等不同的操作系统上运行。像Java SE HotSpot这样的Java虚拟机在运行时还会做些额外的工作(例如:查找性能瓶颈、将频繁使用的代码块重新编译成本地代码)提升你的程序性能。

通过Java虚拟机,同样的程序可以在不同的操作系统上运行

Java平台

平台指程序运行的硬件或软件环境。我们已经提到过一些流行的平台,像Microsoft Windows,Linux,Solaris OS,Mac OS等,它们大多数都被描述为操作系统及底层硬件的复合物,而Java平台不是这样,它与其他大多数平台的区别在于:Java平台是一个纯软件(software-only)平台,它运行在其他的基于硬件(hardware-based)的平台之上。

Java平台有两部分组成:Java虚拟机,Java API。

Java虚拟机已经有过介绍,它是Java平台的基础,运行在各种各样基于硬件的平台上。

Java API 是一组非常有用的软件组件,按有关联的类和接口分组打包到相应库中,用术语讲这些库为_packages_。下一部分,Java可以做什么?强调了API提供的一些功能。

Java API和Java虚拟机将程序与底层硬件隔离开

作为一个平台独立的程序运行环境,Java平台可能比原生码运行速度上有些慢。但是随着编译器和虚拟机技术的发展,Java平台上程序运行的性能可以与系统上直接运行原生码相近,同时不必为程序的可移植性烦心。

术语_Java Virtual MachineJVM_ 意指Java平台上的虚拟机。

Java可以做什么?

通用高级的编程语言Java是个非常强大的软件平台。每个Java平台完整的实现应该有以下几个特征:

  • 开发工具:开发工具提供编译、运行、监控、调试和文档化程序时需要的所有东西,作为一个新手,你将使用到的主要工具是_javac_编译器、java_启动器、javadoc_文档化工具。
  • API:API提供Java编程语言的核心功能,其中有许多有用的类供你使用,从基本对象到网络、安全,xml生成、数据库访问等等。核心API非常庞大,想知道它的总体内容可参见Java Platform Standard Edition 7 Documentation。
  • 部署:JDK中提供了Java Web Start software和Java Plug-In software,你可以使用它们将你的程序分发到终端用户。
  • UI工具包:Swing和Java 2D工具包使开发复杂的GUI成为可能。
  • 综合类库:像Java IDL API,JDBC API,JNDI,Java RMI 和Java RMI-IIOP让你方便地进行数据库访问和远程对象操作。

Java将怎样改变我的生活?

我们不能保证学Java会带给你名利,甚至一份工作,但是它可能让你的程序更好而无需花费其他语言那样的代价,我们相信Java会让你:(广告)

  • 快速上手:尽管Java是强大的面向对象的编程语言,但是它易学,尤其是如果你已经对C/C++非常熟悉的话。
  • 代码更少:在类数量、方法数量等度量上同样的程序用Java写是用C++写的1/4
  • 代码更好:Java鼓励好的编程实践,自动的垃圾回收会帮你避免内存泄漏。它面向对象,JavaBeans组件架构,以及它广泛易扩展的API会让你重用已存在测试过的代码,具有更少的bug。
  • 更快开发:Java比c++更为简单,开发也会更快,需要写的代码也会更少。
  • 避免平台依赖
  • 一次编写,随地运行
  • 埂仍以分发部署

你可能感兴趣的:(java,java入门,概览)