什么是 Java?
简史: Java 语言源于 1991 年 4 月,Sun 公司 James Gosling 博士领导的绿色计划 (Green Project) 开始启动。此计划最初的目标是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这就是 Java 的前身:Oak(得名于 Java 创始人 James Gosling 办公室外的一棵橡树)。但由于这些智能化家电的市场需求没有预期的高,Sun 公司放弃了该项计划。随着 1995 年代互联网的发展,Sun 公司看见 Oak 在互联网上应用的前景,于是改造了 Oak,于 1995 年 5 月以 Java 的名称正式发布,并提出'Write once, Run anywhere'的口号。
Java 是一门简单、好用、通用性极强的程序设计语言。它最大的特点是不挑系统,Windows、Linux、macOS 都能跑,而且语法清晰、不容易崩溃,非常适合初学者。无论是网站后台、手机 APP、大数据处理,还是银行、电商系统、嵌入式都大量使用 Java 开发,是目前世界上最流行、工作机会最多的编程语言之一。
**工作领域:**企业级系统、Web 开发、Android 平台应用、大数据平台开发等。
Java 语言的特性
- 简单性:Java 相当于 C++ 的纯净版本,Java 中没有指针,没有头文件,结构、联合等,Java 的开发环境远远超过大多数语言开发环境。
- 面向对象:一切都可以是对象。
- 分布式:Java 有丰富的例程库,用于处理像 HTTP 和 FTP 之类的 TCP/IP 协议。Java 应用程序能够通过 URL 打开和访问网络上的对象。
- 健壮性:由于 Java 采用的内存模型可以消除重写内存和损坏数据的可能性,Java 编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
- 安全性:使用 Java 可以构建防病毒、防篡改的系统。
- 可移植性:Java 中数据类型有固定的大小。
- 解释性:Java 实现与平台无关,自己维护了一套基于栈架构的指令集。Java 源代码经过编译之后,字节码文件中的指令就是按照自己的指令集来组织的,但是在具体硬件环境中运行时,系统并不能识别,因为 Java 程序在执行时,Java 解释器会逐条的将字节码文件中的指令翻译成 CPU 的指令集。
- 高性能:近年来 JVM 也在不断的优化,比如:JIT(即时编译器),热点代码探测,让 Java 程序的执行效率大幅提高,在有些场合不亚于 C/C++。
- 多线程:可以带来更好的交互响应和实时行为。并发程序设计绝非易事,但是 Java 在这方面表现出色,可以很好的管理这个工作。
- 动态性:它能够适应不断发展的环境。
- 体系结构中立:编译器生成一个体系结构中立的目标文件格式,按照该中规范生成的文件,只要有 Java 运行时系统,这些编译后的代码就可以在许多处理器上运行。Java 编译器通过生成与特定计算机体系结构无关的字节码指令来实现这一特性。
JavaSE 和 JavaEE 是什么?
什么是 Java SE? (Java Standard Edition)
- 核心:Java 的基础平台(必须先学,是所有 Java 开发的基础)
- 用途:桌面开发和简单服务器的应用
- 主要内容:基础语法、集合、IO、多线程、JVM
- 目标用户:一般 Java 开发者
Java EE (Java Enterprise Edition)
- 核心:Java SE 的扩展版本(学完 SE 再学,依赖 SE 的核心能力)
- 用途:开发大型、分布式企业应用和 Web 应用
- 主要内容:企业级 API,构建高可用、高并发的企业级应用(如 Servlet、JSP 等)
- 目标用户:企业级开发者
两者主要区别:
- 范围:Java EE 比 Java SE 范围更加广泛。


