重学Java-第一章 Java简介
1.1 Java的历史
1995年5月23日,Sun Microsystems公司宣布Java语言诞生,当时使用Java的总人数还不到30人,可能包括Java语言之父詹姆斯·高斯林在内的大多数联合创始人都无法预想,Java在未来的二十年间,居然会给互联网乃至我们的生活带来如此深远的影响。
1.2 Java是什么
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
1.3 Java的版本
Java SE:Standard Edition
Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为Java EE和Java ME提供基础。
Java EE:Enterprise Edition
Java EE 以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和Web2.0应用程序。2018年2月,Eclipse 宣布正式将 JavaEE 更名为 JakartaEE。
Java ME:Micro Edition
Java ME 以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
1.4 Java的特点
- 简单:Java语言是从C++语言发展而来的,取消了C++复杂难以掌握的部分,如指针。
- 面向对象:这是Java的基础。Java将一切问题都看作是对象与对象之间的交互,将对象抽象成方法和属性的集合。
- 分布性:包括操作分布性与数据分布性两方面。操作分布性是指由多个主机共同完成一项功能;数据分布性是指分布在多台主机的数据当做一个完整的整体处理。
- 跨平台:Java语言编写的应用程序不受平台的限制,可以由一个平台迁移到另一个平台。
- 解释型:使用Java编写的源码被转化为字节码,字节码只有被JVM解释成机器码后才被计算机执行
- 安全性:Java语言的底层设计可以有效避免非法操作。
- 健壮性:Java提供了许多机制防止运行时出现严重错误,如编译时类型检查、异常处理。
- 多线程:Java支持多线程,允许进程内部多个线程同时运行。
1.5 Java的应用
- Java开发
- 大数据开发
- 嵌入式开发
- 运维方向
1.6 Java的名词解释
-
JVM
Java Virtual Machine,Java虚拟机,JVM是C++编写的虚拟计算机,Java程序运行在JVM上,JVM负责对Java程序进行解释执行。JVM实现了Java语言的跨平台,每个平台都有对应的JVM。
-
JRE
Java Runtime Environent,Java运行环境,运行Java程序所需的环境集合。JRE 是运行 Java 程序必不可少的,编写好的Java程序必须要JRE才能运行。如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
-
JDK
Java Development Kit,Java开发工具包,开发人员用来构建Java应用程序的软件包。
JVM、JRE、JDK三者的关系
-
API
Application Programming Interface,应用程序编程接口,是使用java语言编写应用程序的入口,包含源码、字节码和帮助文档三部分。应用程序由一系列方法构成,方法有哪些要求?什么样的方法是编程语言接受的? API提供了一些基础的方法,程序员要实现某项功能必须遵循Java语言规范,调用这些方法编写更高级的方法。
1.7 Java程序运行过程
每个Java程序都必须经过编写
、编译
、运行
三个步骤:
- 编写:是指在 Java 开发环境中进行程序代码的输入,最终形成后缀名为 .java 的 Java 源文件。
- 编译:是指使用 Java 编译器对源文件进行错误排査的过程,编译后将生成后缀名为 .class 的字节码文件,不像C语言那样生成可执行文件。
- 运行:是指使用 Java 解释器将字节码文件翻译成机器代码,执行并显示结果。
Java程序运行流程如下图所示: