从0入门Java——了解JAVA
从0入门Java——了解JAVA.md
从 0 入门 Java—— 了解 JAVA
Java 是一种广泛使用的编程语言
它最初由 Sun 在 1995 年推出,后面被甲骨文(Oracle)收购。Java 具有面向对象、跨平台(一次编写,到处运行)等特性,主要用于开发应用程序和网站。Java 程序被编译成字节码,这些字节码可以在任何安装了 Java 虚拟机(JVM)的设备上运行,这使得 Java 成为构建企业级应用、Android 应用、大数据处理等多种领域中的首选语言之一。
面向对象 (OO)
Java 是一门面向对象的编程语言,不仅吸收了 C++ 语言的各种优点,还摒弃了 C++ 里难以理解的多继承、指针等概念,因此 Java 语言具有功能强大和简单易用两个特征。Java 语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
JDK
JDK(Java Development Kit) 称为 Java 开发包或 Java 开发工具,是一个编写 Java 的 Applet 小程序和应用程序的程序开发环境。JDK 是整个 Java 的核心,包括了 Java 运行环境(Java Runtime Environment),一些 Java 工具和 Java 的核心类库(Java API)。不论什么 Java 应用服务器实质都是内置了某个版本的 JDK。主流的 JDK 是 Sun 公司发布的 JDK,除了 Sun 之外,还有很多公司和组织都开发了自己的 JDK,例如,IBM 公司开发的 JDK,BEA 公司的 Jrocket,还有 GNU 组织开发的 JDK。
JVM
Java 虚拟机(JVM) 是一种用于计算机设备的规范,可用不同的方式(软件或硬件)加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。Java 虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。Java 虚拟机(JVM)是可运行 Java 代码的假想计算机。只要根据 JVM 规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何 Java 代码能够在该系统上运行。Java 虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java 虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java 虚拟机规范定义了一个抽象的 —— 而非实际的 —— 机器或处理器。这个规范描述了一个指令集,一组寄存器,一个堆栈,一个 “垃圾堆”,和一个方法区。一旦一个 Java 虚拟机在给定的平台上运行,任何 Java 程序(编译之后的程序,称作字节码)都能在这个平台上运行。Java 虚拟机(JVM)可以以一次一条指令的方式来解释字节码(把它映射到实际的处理器指令),或者字节码也可以由实际处理器中称作 just-in-time 的编译器进行进一步的编译。
编程工具
- Eclipse:一个开放源代码的、基于 Java 的可扩展开发平台。(很老的编辑器,大部分大学老师都还在教,例如作者的老师)
- NetBeans:开放源码的 Java 集成开发环境,适用于各种客户机和 Web 应用。
- IntelliJ IDEA:在代码自动提示、代码分析等方面的具有很好的功能。(后面教程主要使用的编译器)
- MyEclipse:由 Genuitec 公司开发的一款商业化软件,是应用比较广泛的 Java 应用程序集成开发环境。
- EditPlus:如果正确配置 Java 的编译器 “Javac” 以及解释器 “Java” 后,可直接使用 EditPlus 编译执行 Java 程序。
- VSCode:微软开源的编辑器,生态很好,可以通过插件扩展对大部分编程语言进行编辑。也是很多软件的原型(例如很火的 cursor)
应用场景
- Android 应用:许多的 Android 应用都是 Java 程序员开发者开发。虽然 Android 运用了不同的 JVM 以及不同的封装方式,但是代码还是用 Java 语言所编写。相当一部分的手机中都支持 Java 游戏,这就使很多非编程人员都认识了 Java。
- 网站:Java 在电子商务领域以及网站开发领域占据了一定的席位。开发人员可以运用许多不同的框架来创建 web 项目,SpringMVC,Struts2.0 以及 frameworks。即使是简单的 servlet,jsp 和以 struts 为基础的网站在政府项目中也经常被用到。例如医疗救护、保险、教育、国防以及其他的不同部门网站都是以 Java 为基础来开发的。
- 高频交易的空间:Java 平台提高了这个平台的特性和及时编译,他同时也能够像 C++ 一样传递数据。正是由于这个原因,Java 成为的程序员编写交易平台的语言,因为虽然性能不比 C++,但开发人员可以避开安全性,可移植性和可维护性等问题。
发展前景
计算机的诞生及广泛应用推动了 IT 领域的发展,但 21 世纪的计算机早已不是访问 INTERNET 的唯一的途径。各类更具信息化的电子产品逐渐进入 IT 领域,推动了 PC 时代的大发展。由于各种消费信息的急剧增加,传统的客户机的各方面条件均不如 PC,PC 的发展对服务器的应用管理体统也提出了更高标准。Java 语言完全满足了 PC 的条件,在减少内存,直接在各类电子产品中运行,在网络中可被任何设备所识别,充分利用网络资源等方面有所突破创新,为 PC 时代的发展创造了有力条件。