1、第三方库
1.1 背景
IT行业流行一句话,叫做“不要重复造轮子”,以Java语言为例:
- JDK已提供的功能,可以通过相应的 API 直接使用,不用自己重新实现。
- JDK没有提供的功能,在富有开源精神的 IT行业,大部分通用功能也都能在开源社区找到。
1.2 概念
某个编程语言在安装好开发环境以后,默认会提供基础API。除此之外,还可以由第三方提供代码库
(我们称为第三方库,一般为后缀为jar的文件),我们可以通过第三方库提供的API来使用某些已有的
功能,而不用重复造轮子。
第三方库jar文件为一个压缩文件,可以使用解压软件打开,里边包含的都是class文件,即编译好
的可在JVM上运行的字节码。
一个Java程序基于某个第三方库来实现某些功能时,该第三方库也称为该Java程序的依赖包。
1.3 第三方库和API的关系
API,即Application Programming Interface,应用程序接口。为软件库开放出来的功能调用接口。这里的接口指调用方,被调用方约定的一组调用规范定义。大家在JDK API文档中看到的都是API,如:java.util
Class Arrays
以上为Arrays工具类提供的静态方法 asList ,包括方法名,方法参数(可变的多个泛型对象),返回类型(实现List接口的对象),整个方法定义构成了Arrays工具类提供的API:将某类型的多个对象转换为填充了这些对象的List。
第三方库和API的关系,类似于餐馆和点餐,对于餐馆(第三方库,被调用方)提供的点餐服务(API)来说,消费者(调用方)不用关心餐馆内部如何实现。
1.4 如何使用第三方库
在Java
中,使用第三方库,主要体现在开发
java
代码时引入依赖,编译时添加编译依赖,及运行时添加运行依赖。
示例: jansi
是一个提供控制台输出彩色字符的第三方库,引入该依赖,并输出彩色的内容。
步骤一:开发java
程序
使用普通文本编辑器(如记事本,notepad++
,
Visual Studio Code
等)编写
java
代码后保存在本地先使用 import
引入依赖,再打印彩色内容:
import org.fusesource.jansi.AnsiConsole;
import static org.fusesource.jansi.Ansi.Color.*;
import static org.fusesource.jansi.Ansi.ansi;
public class Main {
public static void main(String[] args) {
AnsiConsole.systemInstall();
int lineNumber = 0;
System.out.print( ansi().fg(MAGENTA).a(++lineNumber));
System.out.println( ansi().fg(CYAN).a("面试官:").fg(RED).a("你都会什么编程
语言?") );
System.out.print( ansi().fg(MAGENTA).a(++lineNumber));
System.out.println( ansi().fg(BLUE).a("我: ").fg(GREEN).a("精通C、
C++、Java、HTML、JavaScript等语言,的单词拼写") );
System.out.print( ansi().fg(MAGENTA).a(++lineNumber));
System.out.println( ansi().fg(CYAN).a("面试官:").fg(RED).a("就这?会什么系
统嘛?") );
System.out.print( ansi().fg(MAGENTA).a(++lineNumber));
System.out.println( ansi().fg(BLUE).a("我: ").fg(GREEN).a("精通
Windows、Mac、Linux系统,的关机") );
AnsiConsole.systemUninstall();
}
}
步骤二:
javac
编译
参考下面的javac编译命令说明
先下载
jansi 依赖包,下载好保存在本地任意路径:
jansi
下载链接
再使用
javac
命令来编译(注意依赖包路径要改成自己的):
javac - cp "E:/test/lib/jansi-2.3.3.jar" - encoding UTF-8 Main.java
执行成功,
cmd
不会出现异常报错信息,并且会在当前路径下生成
Main.class
文件。
步骤三:
java
运行
参考下面的java运行命令说明
使用
java
命令来运行(注意依赖包路径要改成自己的):
java - cp ".;E:/test/lib/jansi-2.3.3.jar" Main
输出结果如下:
2、Java程序标准流程
2.1 流程
对于真实的java
程序流程来说,要分为开发环境和测试环境,生产环境等等,不同环境的流程都不一样:
- 开发环境中,一般开发完java代码后,编译并运行即可。
- 生产环境中,不是在开发人员电脑中运行程序,而是在生产的服务器主机中运行
详细流程如下:
2.2 编译:javac
关于 javac 命令的参数说明:
javac (oracle.com)
我们主要关注以下几个常用参数:
2.3 运行:java
关于 java 命令的参数说明: