2024年Java-jar包的创建与运行(1),多线程并发解决方案面试题

总结

三个工作日收到了offer,头条面试体验还是很棒的,这次的头条面试好像每面技术都问了我算法,然后就是中间件、MySQL、Redis、Kafka、网络等等。

  • 第一个是算法

关于算法,我觉得最好的是刷题,作死的刷的,多做多练习,加上自己的理解,还是比较容易拿下的。

而且,我貌似是将《算法刷题LeetCode中文版》、《算法的乐趣》大概都过了一遍,尤其是这本

《算法刷题LeetCode中文版》总共有15个章节:编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?

《算法的乐趣》共有23个章节:

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?

  • 第二个是Redis、MySQL、kafka(给大家看下我都有哪些复习笔记)

基本上都是面试真题解析、笔记和学习大纲图,感觉复习也就需要这些吧(个人意见)

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?

  • 第三个是网络(给大家看一本我之前得到的《JAVA核心知识整理》包括30个章节分类,这本283页的JAVA核心知识整理还是很不错的,一次性总结了30个分享的大知识点)

最新出炉,头条三面技术四面HR,看我如何一步一步攻克面试官?

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

JAR文件的全称是Java Archive File,意思是Java档案文件。是一种压缩文件,与常见的ZIP压缩文件兼容。两者最大的区别是在JAR文件中默认包含一个名为META-INF/MANIFEST.MF的清单文件,这个文件是生成JAR文件时由系统自动创建的。

Java中的许多类其实都是由jar包的形式提供的

jar包的生成


在某个包中的目录下启动命令行窗口,并输入jar -cvf myfirstjar.jar cn

其中myfirstjar为jar包的名字,cn也不要忘记带上

在用的时候呢,你的文件里有很多个类,把这些类和他们的目录一起压缩到一个文件中给别人,会显得更专业,有条理。别人拿到这个jar包之后,只要让他的classpath 的设置中包含这个jar文件,java虚拟机,在装载类的时候,就会自动解压这个jar文件,并将其当成目录,然后在目录中查找我们所要的类及类的包名和所对应的目录的结构。

使用jar包的好处


  1. 安全,可以对其进行数字签名,只让能够识别数字签名的用户使用里面的东西。

  2. 加快下载速度;

  3. 压缩,使文件变小,与ZIP压缩机制完全相同。

  4. 包封装。能够让JAR包里面的文件依赖于统一版本的类文件。

  5. 可移植性,能够在各种平台上直接使用。

  6. 把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令来压缩,可以把一个或多个路径全部压缩成一个JAR文件。

什么情况下使用jar包?


当开发一个应用程序后这个应用程序包含了很多类,如果需要把这个程序提供给别人使用,通常会将这些类文件打包成一个JAR文件,把这个文件提供给别人使用。只要在别人系统的CLASSPATH环境变量中添加这个文件,则java虚拟机就可以自动在内存中解压这个jar包。

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类作为程序入口。

运行上面JAR包有两种方式:

写在最后

还有一份JAVA核心知识点整理(PDF):JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算…

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

NG开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**

需要这份系统化的资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值