Java基础系列第一章 初识Java语言
目录
- Java语言的诞生
- Java语言的特点
- Java语言的目标
- Java语言的规范
- Java虚拟机(JVM)
- JDK与JRE及版本选择推荐
- Java语言的程序类型及结构
Java语言的诞生
Java诞生于20世纪90年代初期,其前身是由Sun公司(Sun公司已于2009年4月被Oracle公司收购)在C和C++基础之上开发的一种用于智能化家电的名为Oak(橡树)的语言。1993年,Sun公司发现可用Oak语言设计含动态内容的www网页(当时www万维网发展迅速),于是Oak语言被重新改造并改名为Java语言。1995年,Java这个被定位为网络应用的程序设计语言被正式推出。
Java语言的特点Java语言是一种跨平台、适合于分布式网络环境的面向对象的程序设计语言(一次编写,到处运行)。它具有简单易学、面向对象、平台无关性、分布式、可靠性、安全性、解释型、可移植、高性能、动态性等特点。它支持多线程、支持网络编程、编译与解释并存(Java源文件.java 与 Java字节码文件.class)。
Java语言的目标Java语言已经成为当前非常非常流行的网络编程语言了。Java语言初始设计目标是:
- 不依赖任何平台,即一次编写,到处运行。
- 对计算机网络支持友好。
- 完全面向对象。
- 借鉴C++语言,保留了其优点,尽量简单易用。
Java语言之所以流行,就是因为其真的强!
Java语言的规范Java语言的规范是对语言的技术定义,包括Java语言的语法和语义。目前,Java技术主要包括三个方面:
- Java SE:Java平台的标准版。包含了标准的JDK、开发工具、运行环境和类库。应用程序可独立运行或在Web浏览器中运行。适合开发桌面应用程序、底层应用程序和客户端应用程序。
- Java ME:Java平台的精简版。包含高度优化精简的Java运行环境。主要用于开发具有有限的连接、内存和用户界面能力的设备应用程序。如手机(app)、PDA(电子商务)、机顶盒、无线通信等电子装置。
- Java EE:Java平台的企业版。包含标准化的模块组件,为企业级应用提供标准平台,简化了复杂的企业级编程。具有优越的跨平台能力和开放标准,为企业提供了e-business架构及Web服务。适用于开发服务器端的应用程序。
Java程序运行过程:先编译、后解释。Java程序通过编译器会被转换成于平台无关的字节码(字节码扩展名为.class),字节码通过Java的解释器便可解释并运行在任何平台上。
(图片来源网络)
任何可运行Java字节码的软件均可被看成Java的虚拟机(JVM)。JVM其实就是一个字节码解释器。
- JDK:Java语言的开发工具包,是Java开发者必须安装的软件环境。其包含了JRE与开发Java程序所需的工具,如编译器、反编译器、调试器、文档生成器等。
- JRE:Java程序运行的必要环境。如果只需运行Java程序,可只安装JRE。其包含了类库和Java虚拟机(JVM)。
JDK版本选择:JDK版本更新非常快,目前已经更新到Java 17 LTS了(LTS长期支持版本),在17之前还有两个LTS版本Java11 和 Java8(这里只简单介绍这三个)。他们区别是:
- Java 8:最热门选择,开发环境相对完美,迄今为止维护支持时间最长的版本。
- Java 11:对比Java 8,多了些内部升级(开销和时延更低的GC等)、语言层面的进化(新增类型关键字var、HTTP Client加持等)和内部结构方法的增加等,其生态一般。
- Java 17:21年9月发布的,增强了伪随机数算法、增强了switch语法的模式匹配和优化了垃圾回收机制等,可免费商用了,最重要一点Spring Boot 3.0.0更新将最小依赖Java 17。
对比这三个版本,如果是企业级应用并没特别要求推荐使用Java 8,如果是个人学习推荐Java 17(仅代表个人看法)。
Java语言的程序类型及结构Java程序可分为两种:
- Application:Java应用程序,指可在Java平台上独立运行的一种程序。
- Applet:Java小程序,指内嵌在HTML文件里,需要在浏览器的支持下才能运行。
Java程序的结构:
- package语句:有0个或1个,表示该程序所属的包。有则必须放在最前面,无则表示程序属于默认包。
- import语句:有0个或多个,表示引入其他类库中的类。有则必须放在类定义的前面。
- 类定义:有1个或多个,是Java源程序的主要部分。Java程序中定义类使用关键字class,每个类由类头定义(声明类名,还可含继承或实现特性)和类体定义(域:包括变量、常量、对象、数组等独立的实体;方法:类似函数的代码单元块)两部分组成。
注意点:
- Java语句都以分号";"结束,其构成应符合Java语言的语法规则。
- 类和方法中所有语句应用一对大括号"{}"括起来。
- 除package、import语句之外,其他语句都只能存在于类的大括号中。
- 声明变量和常量的关键字是Java语言语法规定的保留字,不能用于命名。
- Java语言严格区分字母大小写,书写不能混淆。
- 应用程序必须有一个主类,主类是程序执行的入口点,应用程序的主类是包含main()方法的类。



