返回顶部
首页 > 资讯 > 后端开发 > JAVA >Java:Jar包反编译,解压和压缩
  • 154
分享到

Java:Jar包反编译,解压和压缩

javajarjvm 2023-10-01 11:10:26 154人浏览 八月长安
摘要

1、简述 jar 文件就是 Java ArcHive ( Java 档案文件),它是 Java 的一种文档格式。 JAR 文件非常类似 ZIP 文件。准确的说,它就是 ZIP 文件,所以叫它文件包。J

1、简述

jar 文件就是 Java ArcHive ( Java 档案文件),它是 Java 的一种文档格式。 JAR 文件非常类似 ZIP 文件。准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,多出了一个META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的 (也可以自行创建)

2、反编译

反编译常用的工具luyten,jd-gui,我们可以通过反编译查看原来代码,同时可以通过将class文件反编译成Java文件。
在这里插入图片描述
备注:ThreadPoolExecutor 多线程反编译是无法看到,所以要注意当前class文件是否使用的多线程,如果采用多线程,是无法直接反编译Java来使用。

3、命令参数

用法:jar {ctxui} [vfmn0PMe] [jar文件] [清单文件] [入口点] [-C目录]文件…

-c:创建新档案-t:列出要归档的目录-x:从存档中提取命名(或所有)文件-u:更新现有档案-v:在标准输出上生成详细输出-f:指定归档文件名-m:包含来自指定清单文件的清单信息-n:在创建新存档后执行Pack200规范化-e:指定独立应用程序的应用程序入口点-0只存储;不使用ZIP压缩-P:从文件名保留前导的“ /”(绝对路径)和“ ..”(父目录)组件-M:不为条目创建清单文件-i:为指定的jar文件生成索引信息-C:更改为指定目录并包含以下文件如果任何文件是目录,则将对其进行递归处理。清单文件名称,归档文件名称和入口点名称为以与“ m”,“ f”和“ e”标志相同的顺序指定。
A.解压

在jar包当前文件下,cmd指令 通过jar -xvf解压当前jar包

jar -xvf shop-order-0.0.1-SNAPSHOT.jar

在这里插入图片描述

B.压缩

在当前文件目录下,替换我们所需要替换的文件,重新将当前解压的jar压缩,注意后缀要带上./META-INF/MANIFEST.MF .:

jar -cvf0m shop-order-0.0.1-SNAPSHOT.jar ./META-INF/MANIFEST.MF .

在这里插入图片描述

C.更新

在不解压的情况下,更新jar包某个文件,可以直接通过jar 更新指令对某个文件修改:

jar -uvf shop-order-0.0.1-SNAPSHOT.jar BOOT-INF/classes/application.properties

在这里插入图片描述

4、Jar启动

linux环境启动参数设置:

java -Xms512m -Xmx512m -Xmn1024k -Xss1024k -XX:MaxMetaspaceSize=256m -XX:MetaspaceSize=256m  -jar shop-order-0.0.1-SNAPSHOT.jar 

a、-Xms :表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可,但仍需按照实际情况进行分配。
b、-Xmx:表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小。但是开发过程中,通常会将 -Xms 与 -Xmx两个参数的配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源。
c、-Xmn:至于这个参数则是对 -XX:newSize、-XX:MaxnewSize两个参数的同时配置,也就是说如果通过-Xmn来配置新生代的内存大小,那么-XX:newSize = -XX:MaxnewSize = -Xmn。
d、-XX:MaxMetaspaceSize:设置元空间最大值,默认是 -1,即不限制,只受限于本地内存大小
e、-XX:MetaspaceSize:指定元空间的初始空间大小,达到该值就会触发垃圾回收进行类型卸载,同时收集器会对该值进行调整:如果释放了大量的空间,就适当降低该值;如果释放了很少的空间,那么在不超过 -XX:MaxMetaspaceSize的情况下,适当提高该值。

来源地址:https://blog.csdn.net/lishangke/article/details/127850114

--结束END--

本文标题: Java:Jar包反编译,解压和压缩

本文链接: https://lsjlt.com/news/422238.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java:Jar包反编译,解压和压缩
    1、简述 JAR 文件就是 Java Archive ( Java 档案文件),它是 Java 的一种文档格式。 JAR 文件非常类似 ZIP 文件。准确的说,它就是 ZIP 文件,所以叫它文件包。J...
    99+
    2023-10-01
    java jar jvm
  • tar 打包压缩与解压缩
            tar 命令用于对文件进行打包压缩或解压缩。         在Linux系统中,常见的压缩包文件格式有很多,其中主要使用的是 .tar 或 .tar.gz 或 .tar.bz2 的格式。         1、tar 命令的...
    99+
    2023-10-09
    linux 服务器 运维 centos bash
  • java 解压rar压缩包
    记录下引入maven的相关坐标后,在archivers包下没有找到rar包 import org.apache.commons.compress.archivers.rar.RarArchiveEntry; Java本身不提供解压RAR压缩...
    99+
    2023-09-02
    java 开发语言
  • Java实现文件压缩为zip和解压zip压缩包
    目录压缩成.zip解压.zip压缩成.zip 代码如下: public static void toZip(String srcDir, OutputStream out) th...
    99+
    2024-04-02
  • Java如何实现文件压缩为zip和解压zip压缩包
    本篇内容介绍了“Java如何实现文件压缩为zip和解压zip压缩包”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!压缩成.zip代码如下:pu...
    99+
    2023-07-02
  • Linux下打包压缩和解压命令详解
    本篇内容主要讲解“Linux下打包压缩和解压命令详解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下打包压缩和解压命令详解”吧!zip的使用和常用参数: -a 将文件转成ASCII模式...
    99+
    2023-06-13
  • Linux中如何打包压缩解压
    这篇文章将为大家详细讲解有关Linux中如何打包压缩解压,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下所述:tar命令解包:tar zxvf FileName.tar打包:tar czvf F...
    99+
    2023-06-09
  • oracle两个压缩包如何解压
    要解压Oracle两个压缩包,你可以按照以下步骤进行操作: 首先,确保你的计算机上已经安装了解压缩软件,比如WinRAR或7-Z...
    99+
    2024-04-08
    oracle
  • tar.gz 压缩和解压命令
    tar.gz是什么? 以·tar.gz为后缀的文件是一种压缩文件,在Linux和macOS下常见,Linux和macOS都可以直接解压使用这种压缩文件。 解压命令 tar -zxvf data.tar.gz 运行命令后会将data.tar...
    99+
    2023-08-30
    linux 服务器 ubuntu
  • VB.NET如何实现压缩和解压缩
    这篇文章主要为大家展示了“VB.NET如何实现压缩和解压缩”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET如何实现压缩和解压缩”这篇文章吧。VB.NET压缩和解压缩实现代码:Publi...
    99+
    2023-06-17
  • python程序解压rar压缩包报错
    运行如下python程序报错Couldn't find path to unrar library的解决办法:#!/usr/bin/python #-*- coding:utf-8 -*- from unrar import rarfil...
    99+
    2023-01-31
    报错 压缩包 程序
  • 电脑怎么解压文件压缩包
    这篇“电脑怎么解压文件压缩包”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“电脑怎么解压文件压缩包”文章吧。解压文件压缩包的方...
    99+
    2023-07-02
  • Python3压缩和解压缩的实现方法
    这篇文章主要为大家展示了Python3压缩和解压缩的实现方法,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“Python3压缩和解压缩的实现方法”这篇文章吧。python可以做什么Python是一种...
    99+
    2023-06-06
  • Linux文件压缩和解压缩的命令
    本篇内容介绍了“Linux文件压缩和解压缩的命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、tar:tar命令:tar [选项...]...
    99+
    2023-06-13
  • Linux系统中如何解压tar压缩包
    这篇文章主要介绍Linux系统中如何解压tar压缩包,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在Linux的默认的版本中不是所有的命令都有,但是基本的命令是都有的,但是有一下不常用的命令是没有,在没有什么情况,那...
    99+
    2023-06-12
  • 在java项目中使用ant包如何实现压缩和解压缩
    在java项目中使用ant包如何实现压缩和解压缩?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。java ant包中的org.apache.tools.zip实现...
    99+
    2023-05-31
    java ant ava
  • CentOS中zip压缩和unzip解压缩命令详解
    以下命令均在/home目录下操作cd /home #进入/home目录把/home目录下面的mydata目录压缩为mydata.zipzip -r mydata.zip mydata #压缩mydata目录把/home目录下面的mydata...
    99+
    2023-06-05
  • 如何进行tar压缩和解压
    这篇文章将为大家详细讲解有关如何进行tar压缩和解压,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。格式:tar zcvf 压缩后的路径及包名 你要压缩的文件  z:gzip压缩  c:创建压...
    99+
    2023-06-05
  • Android如何实现压缩和解压缩文件
    废话不多说了,直接给大家贴java代码了,具体代码如下所示: Java代码 package com.maidong.utils; import java.io.Buffe...
    99+
    2022-06-06
    压缩 解压 Android
  • Ubuntu压缩和解压缩RAR文件的方法
    本篇内容主要讲解“Ubuntu压缩和解压缩RAR文件的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Ubuntu压缩和解压缩RAR文件的方法”吧!方法很简单,一条命令就搞定了:sudo ap...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作