想要学好一门语言,必须要先了解这门语言,让我们来了解一下Java。
目录
Java的历史
Java语言程序代码的编译和运行过程
Java语言发展史和平台版本
Java语言的特性
JRE和JDK
Java的历史
Java是在1995年由Sun公司推出的一种极富创造力的面向对象的程序设计语言,它由Java之父詹姆斯•戈士林博士设计。作为Sun研究院院士,詹姆斯•戈士林亲手设计了Java语言,并完成了Java技术的原始编译器和虚拟机。Java最初的名字是OAK,在1995年被重命名为Java。
Java语言程序代码的编译和运行过程
Java语言发展史和平台版本
- Java SE就是Java的标准版,主要用于桌面应用程序的开发,同时也是Java的基础,它包含Java语言基础、JDBC(Java数据库连接性)操作、I/O(输入输出)、网络通信、多线程等技术,是后两者的基础。
结构图示:
- Java ME主要应用于嵌入式系统开发,如掌上电脑、手机等移动通信电子设备,现在大部分手机厂商所生产的手机都支持Java技术。
结构图示
- Java EE是Java的企业版,主要用于开发企业级分布式的网络程序,如电子商务网站和ERP(企业资源规划)系统,其核心为EJB(企业Java组件模型)。
结构图示
Java语言的特性
简单
Java语言的简单性主要体现在以下几个方面:
- 语法规则和C++类似。从某种意义上讲,Java语言是由C和C++语言转变而来的,所以C程序设计人员可以很容易地掌握Java语言的语法。
- Java语言对C++进行了简化和提高。例如,Java使用接口取代了多重继承,并取消了指针,因为指针和多重继承通常使程序变得复杂。Java语言还通过实现垃圾自动收集,大大简化了程序设计人员的资源释放管理工作。
- Java提供了丰富的类库和API文档以及第三方开发包,另外还有大量的基于Java的开源项目,现在JDK(Java开发者工具箱)也开放源代码了,读者可以通过分析项目的源代码,从而提高自己的编程水平。
面向对象
- 面向对象是Java语言的基础,也是Java语言的重要特性,因为它本身就是一种纯面向对象的程序设计语言,Java提倡万物皆对象,语法中不能在类外面定义单独的数据和函数,也就是说,Java语言最外部的数据类型是对象,所有的元素都要通过类和对象来访问。
分布性
- Java的分布性包括操作分布和数据分布,其中操作分布是指在多个不同的主机上布置相关操作,而数据分布是将数据分别存放在多个不同的主机上,这些主机是网络中的不同成员。Java可以凭借URL(统一资源定位符)对象访问网络对象,访问方式与访问本地系统相同。
可移植性
- Java程序具有与体系结构无关的特性,从而使Java程序可以方便地移植到网络的不同计算机中。同时,Java的类库中也实现了针对不同平台的接口,使这些类库也可以移植。
解释型
- 运行Java程序需要解释器。任何移植了Java解析器的计算机或其他设备都可以用Java字节码进行解释执行。字节码独立于平台,它本身携带了许多编译时的信息,使得连接过程更加简单,开发过程也就更加迅速,更具探索性
安全性
- Java语言删除了类似C语言中的指针和内存释放等语法,从而有效地避免了非法操作内存。Java程序代码要经过代码校验、指针校验等很多的测试步骤才能够运行,所以未经允许的Java程序不可能出现损害系统平台的行为,而且使用Java可以编写防病毒和防修改的系统。
健壮性
- Java的设计目标之一,是编写多方面的、可靠的应用程序,Java将检查程序在编译和运行时的错误,并且消除错误。类型检查能帮助用户检查出许多在开发早期出现的错误。同时,很多集成开发工具(如Eclipse、NetBeans)的出现使编译和运行Java程序更加容易。
多线程
- 多线程机制能够使应用程序在同一时间并行执行多项任务,而且相应的同步机制可以保证不同线程能够正确地共享数据。使用多线程,可以带来更好的交互能力和实时行为。
高性能
- Java编译后的字节码是在解释器中运行的,所以它的速度比多数交互式应用程序提高了很多。另外,字节码可以在程序运行时被翻译成特定平台的机器指令,从而进一步提高运行速度。
动态
- Java在很多方面比C和C++更能够适应发展的环境,可以动态调整库中方法和变量的增加,而客户端却不需要任何更改。在Java中动态调整是非常简单和直接的。
跨平台性
什么是跨平台性?
- 通过java语言编写的应用程序在不同的系统平台上都可以运行。
原理
只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM)即可。由JVM来负责Java程序在该系统中的运行。
- 一句话:write once,run anywhere!一处编译,到处运行!
JRE和JDK
- JRE :java运行环境,包括Java虚拟机(JVM)和Java程序所需的核心类库。如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
- JDK:Java开发工具包,是提供给Java开发人员使用的,其中包含Java的开发工具(编译工具(javac.exe)、打包工具(jar.exe)等),也包括了JRE。所以安装JDK就不用单独安装JRE了。
简单的说,使用JDK开发完的Java程序,交给JRE去运行
JRE:JVM+类库
JDK:JRE+Java的开发工具