最后
终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化
JAR文件的全称是Java Archive File,意思是Java档案文件。是一种压缩文件,与常见的ZIP压缩文件兼容。两者最大的区别是在JAR文件中默认包含一个名为META-INF/MANIFEST.MF的清单文件,这个文件是生成JAR文件时由系统自动创建的。
Java中的许多类其实都是由jar包的形式提供的
在某个包中的目录下启动命令行窗口,并输入jar -cvf myfirstjar.jar cn
其中myfirstjar为jar包的名字,cn也不要忘记带上
在用的时候呢,你的文件里有很多个类,把这些类和他们的目录一起压缩到一个文件中给别人,会显得更专业,有条理。别人拿到这个jar包之后,只要让他的classpath 的设置中包含这个jar文件,java虚拟机,在装载类的时候,就会自动解压这个jar文件,并将其当成目录,然后在目录中查找我们所要的类及类的包名和所对应的目录的结构。
-
安全,可以对其进行数字签名,只让能够识别数字签名的用户使用里面的东西。
-
加快下载速度;
-
压缩,使文件变小,与ZIP压缩机制完全相同。
-
包封装。能够让JAR包里面的文件依赖于统一版本的类文件。
-
可移植性,能够在各种平台上直接使用。
-
把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令来压缩,可以把一个或多个路径全部压缩成一个JAR文件。
当开发一个应用程序后这个应用程序包含了很多类,如果需要把这个程序提供给别人使用,通常会将这些类文件打包成一个JAR文件,把这个文件提供给别人使用。只要在别人系统的CLASSPATH环境变量中添加这个文件,则java虚拟机就可以自动在内存中解压这个jar包。
命令行创建
jar命令详解
-
jar cf test.jar test不显示压缩过程将当前路径下的test路径下的全部内容生成一个test.jar文件,如果已经存在则被覆盖。
-
jar cvf test.jar test显示压缩过程;
-
jar cvfM test.jar test不生成清单文件;
-
jar cvfm test.jar manifest.mf test自定义清单文件信息,m指定读取用户清单信息。清单文件是普通文本文件。
-
jar cvfm test.jar a.txt test将清单文件中的key-value对提取到META-INF/MANIFEST.MF文件中。
-
jar tf test.jar查看jar包内容;
-
jar tf test.jar > a.txt:如果jar包中的文件路径和文件非常多,用上一个命令就无法查看所有,所以用重定向将显示结果保存到文件中。
-
jar tvf test.jar:查看详细内容;
-
jar xf test.jar解压,将jar文件解压到当前目录下;
-
jar xvf test.jar解压,显示解压过程的信息;
-
jar uf test.jar Hello.class:更新test.jar中的Hello.jar文件,如果存在则覆盖,否则添加;
-
jar uvf test.jar Hello.class:更新时显示详细信息;
创建可用jar包
jar命令-e选项,该选项指定JAR包中作为程序入口的主类的类名。
jar cvfe test.jar test.Test test
上面的命令把test目录下的所有文件都压缩到test.jar包中,并指定使用test.Test类作为程序入口。
最后总结我的面试经验
2021年的金三银四一眨眼就到了,对于很多人来说是跳槽的好机会,大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。
另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。
BAT面试经验
实战系列:Spring全家桶+Redis等
其他相关的电子书:源码+调优
面试真题:
s://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**