Java语言的简单介绍
一、Java语言的介绍
Java语言是1995年由Sun公司推出的一门 面向对象 的程序设计语言。
Java语言是 跨平台 的,即用Java语言编写的程序,可以运行在任何平台(硬件/软件系统平台)和设备上,实现 “一次编写,到处运行” 。
Java语言 既是编译型的,又是解释型 的。如下图所示,Java程序首先经编译转为字节码(Java的中间语言,携带了很多编译时的信息),接着Java虚拟机(JVM)将字节码解释为机器码,最终在计算机上运行的是机器码。
二、Java的版本
Java主要分为两个版本,分别是Java SE和Java EE。
Java SE是Java的标准版,主要用于桌面应用程序开发,包含了Java语言基础、JDBC(Java数据库连接)、I/O(输入/输出)、TCP/IP网络、多线程等核心技术。
Java EE是Java的企业版,主要用于开发服务器应用程序,如网站、服务器接口等,其核心为EJB(企业Java组件)。Java EE版本兼容Java SE版本。
三、JDK的介绍
JDK(Java Developers Kits),即用于 编译和执行Java程序 的Java开发工具。
JDK根据研发公司的不同,可以分为两种,分别是由Oracle公司推出的 Oracle JDK(简称JDK) 和由Sun公司推出的 Open JDK 。Oracle JDK的源码有知识产权问题,而Open JDK是一个完全开源且免费的Java平台。
注意:从JDK 7升级到JDK 8的过程中,Oracle放弃了原本的“1.X”版本号名称,直接使用版本号的最后第二位数字,所以很多资料中仍会记载JDK 1.7而不是JDK 7,其实这两个名称是同一个版本的不同叫法。即使是JDK 8版本,使用“java -version”命令查询出的结果仍然是“1.8.XX”。这个 版本名称不统一的问题直到JDK 9才得以解决,JDK 9彻底删除了“1.X”前缀。
不同版本的JDK之间可能存在不兼容问题。当技术人员开发服务器应用程序时,需要提前知道服务器的JDK版本,按照各版本的要求编写Java代码。
四、Java API文档
API的全称为Application Programming Interface,即应用程序编程接口,主要包括类的继承结构、成员变量、成员方法、静态成员的描述信息和详细说明等内容。大家可以在这个链接找到JDK 11的API文档:https://docs.oracle.com/en/java/javase/11/docs/api/index.html。具体界面如下:
注意:从JDK 1.7开始,官方就不再发布中文版的API文档。如果你觉得英文比较吃力,可以看基于JDK 1.6的中文版API文档。国内的开源中国提供了一个可以在线查找的中文版JDK 1.6 API文档,地址为https://tool.oschina.net/apidocs/apidoc?api=jdk-zh。
五、Java语言的特点
笔者在这里只罗列一些对于初学者来说,十分重要的特点。想要了解更多Java特点,可以自行搜索。
1. 面向对象
Java提倡 万物皆对象,语法中不能在类外定义单独的数据和函数,即Java语言最外部的数据类型是对象,所有的元素都要通过类和对象来访问。
2. 解释性
运行Java程序需要解释器,任何移植了Java解释器的计算机或其它设备都可以用Java字节码进行解释执行。字节码独立于平台,本身携带了很多编译时的信息。
3. 多线程
Java语言支持多线程机制,能够使用应用程序在 同一时间并行执行 多项任务,而且相应地同步机制可以保证不同线程能够正确地共享数据。
4. 可移植性 / 跨平台性
Java具有与体系结构无关的特性,可以方便地移植到网络上的不同计算机中。同时,Java的类库也实现了针对不同平台的接口,使得这些类库也可以被移植。
5. 安全性
Java语言取消了类C语言中的指针和内存释放等语法,避免了用户对内存的非法操作。
6. 分布性
Java的分布性包括操作分布和数据分布,其中操作分布是指在多个不同的主机上布置相关操作,而数据分布是将数据分别存放在多个不同的主机上,这些主机是网络中的不同成员。Java可以凭借URL(同一资源定位符)对象访问网络对象,访问方式与访问本地系统相同。
7. 高性能
Java编译后的字节码是在解释器中运行的,所有它的速度较多数交互式应用程序提高了很多。另外,字节码可以在程序运行时被翻译成特定平台的机器指令,从而进一步提高运行速度。
8. 动态
Java在很多方面比C和C++更能够适应发展的环境,可以动态调整库中的方法和增加变量,而客户端却不需要任何更改。在Java中进行动态调整是非常简单和直接的。
9. 简单
Java语法规则和C++类似,并对C++进行了简化和提高。Java提供了丰富的类库、API文档以及第三方开发包,另外还有大量基于Java的开源项目。此外,JDK(Java开发者工具)也已经开放源代码。
10. 健壮性
Java会检查在编译和运行时的错误,并消除错误。