Java核心基础
- Java 开发基础知识
- Java 语言概述
- 安装 Java 开发环境
- 开发体验
- Hello World 程序
- Java 注释
Java 开发基础知识
Java 语言概述
Java 是 SUN(斯坦福大学网络公司)1995 年推出的一门高级编程语言,它是一种面向 Internet 的编程语言,Java 一开始富有吸引力是因为 Java 程序可以在 Web 浏览器中运行,这些 Java 程序被称为 Java 小程序(applet)。applet 使用现代的图形用户界面与 Web 用户进行交互,可以内嵌在 HTML 代码中。随着 Java 技术在 web 方面的不断成熟,已经成为 Web 应用程序的首选开发语言。
从 Java 的应用领域来分,Java 语言的应用方向主要表现在以下几个方面:
- 企业级应用: 主要指复杂的大企业的软件系统、各种类型的网站。Java 的安全机制以及它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电信、交通、电子商务等;
- Android 平台应用: Android 应用程序使用 Java 语言编写,Android 开发水平的高低很大程度上取决于 Java 语言核心能力是否扎实;
- 大数据平台开发: 各类框架有 Hadoop、spark、storm、flink 等,就这类技术生态圈来讲,还有各种中间件,如:flume、kafka、sqoop 等等 ,这些框架以及工具大多数是用 Java 编写而成,但提供诸如:Java、scala、Python、R 等各种语言 API 供编程;
- 移动领域应用: 主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手机、PDA、机顶盒、汽车通信设备等。
Java 是一个 纯粹的面向对象 的程序设计语言,它继承了 C++ 语言面向对象技术的核心,舍弃了 C 语言中容易引起错误的指针、运算符重载、多重继承等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间。它的主要特性如下:
- Java 语言是易学的:Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员很容易学习和使用 Java;
- Java 语言是强制面向对象的:Java 语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制;
- Java 语言是分布式的:Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口,它提供了用于网络应用编程的类库,包括:URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段;
- Java语言是健壮的: Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证,对指针的丢弃是 Java 的明智选择;
- Java 语言是安全的: Java 通常被用在网络环境中,为此提供了一个安全机制以防恶意代码的攻击;
- Java 语言是体系结构中立的: Java 程序在 Java 平台上被编译为体系结构中立的字节码格式,然后可以在实现这个 Java 平台的任何系统中运行;
- Java 语言是解释型的: Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统的解释器中运行;
- Java 是性能略高的: 与那些解释型的高级脚本语言相比,Java 的性能还是较优的;
- Java 语言是原生支持多线程的: 在 Java 语言中,线程是一种特殊的对象,它必须由Thread 类或其子(孙)类来创建。
Java 语言的特点如下:
- 面向对象:两个要素(类、对象)、三个特征(封装、继承、多态);
- 健壮性:吸收了 C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制;
- 跨平台性:通过 Java 语言编写的应用程序在不同的系统平台上都可以运行,只要在需要运行 Java 应用程序的操作系统上先安装一个 Java 虚拟机,由 JVM 来负责Java 程序在该系统中的运行。
Java两种核心机制
(一)Java 虚拟机
JVM 是一个虚拟的计算机,具有指令集并使用不同的存储区域,负责 执行指令,管理数据、内存、寄存器。不同的平台有不同的虚拟机,只有某平台提供了对应的 Java 虚拟机,Java 程序才可在此平台运行。Java 虚拟机机制屏蔽了底层运行平台的差别,实现了 一次编译,到处运行。
(二)垃圾回收
垃圾回收就是对不再使用的内存空间进行回收。在 C/C++ 等语言中,由程序员负责回收无用内存。Java 语言消除了程序员回收无用内存空间的责任,它提供一种系统级线程跟踪存储空间的分配情况,并在 JVM 空闲时检查并释放那些可被释放的存储空间。垃圾回收在 Java 程序运行过程中自动进行,程序员无法精确控制和干预。
安装 Java 开发环境
首先下载并安装 JDK
,然后配置环境变量:
注意 Mac 电脑直接下载安装 JDK 即可。
然后使用 java -version 测试是否安装配置成功:
JDK 和 JRE
- JDK: JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE。所以安装了 JDK,就不用在单独安装 JRE 了。其中的开发工具包括编译工具(
javac.exe
)、打包工具(jar.exe
)等。- JRE: 包括 Java 虚拟机和 Java 程序所需的核心类库等,如果想要运行一个开发好的 Java 程序,计算机中只需要安装 JRE 即可。
开发体验
Hello World 程序
1. 首先创建一个 HelloWorld.java
的文件
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
2. 使用 javac HelloWorld.java 命令将其编译成 JVM 可以识别的字节码文件,此时会生成一个 HelloWorld.class
的文件
3. 使用 java HelloWorld 命令可以执行字节码文件
注意
- Java 源文件以
.java
为扩展名,源文件的基本组成部分是类(class
)- Java 应用程序的执行入口是
main()
方法- Java 语言严格区分大小写
- Java 的一个源文件中最多只能有一个
public
类,其他类个数不限,源文件名必须和public
修饰的类名相同。
Java 注释
Java 中的注释类型分为:单行注释、多行注释 和 文档注释。注释主要有以下作用:
- 对所写的程序进行解释说明,增强可读性;
- 调试所写的代码。
下面是单行注释和多行注释的使用案例:
public class HelloWorld {
public static void main(String[] args) {
// 单行注释:下面的代码将在控制台输出 Hello World
System.out.println("Hello World");
/*
* 下面是多行注释
* 首先在控制台输出 -------------
* 然后输出 Hello Java
*/
System.out.println("----------------");
System.out.println("Hello Java");
}
}
注意
- 对于单行和多行注释,被注释的文字不会被
JVM
解释执行- 多行注释里面不允许有多行注释嵌套
文档注释是 Java 特有的,注释的内容可以被 JDK 提供的工具 javadoc
所解析,生成一套以网页文件形式体现的关于程序的说明文档(API
文档)。
API
(应用程序编程接口)是 Java 提供的基本编程接口,Java 语言提供了大量的基础类,因此 Oracle 也为这些基础类提供了相应的 API 文档,用于告诉开发者如何使用这些类以及这些类里包含的方法:
下面说明文档注释的简单使用:
1. 首先在 HelloWorld.java
类里面加上文档注释
/**
*
* @author Andy.Wu
* @version 1.0.0
*/
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
2. 使用 javadoc -d mydoc -author -version HelloWorld.java -encoding utf-8 命令生成文档
3. 在本地生成一个 mydoc
的目录,里面生成了说明文档
4. 打开 index.html
可以查看生成的内容