欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中Jar包反編譯解壓和壓縮操作方法

 更新時間:2023年09月25日 11:37:13   作者:拾荒的小海螺  
JAR文件就是Java 檔案文件Java Archive,它是 Java 的一種文檔格式,這篇文章主要介紹了Java中Jar包反編譯解壓和壓縮,需要的朋友可以參考下

1、簡述

JAR 文件就是 Java Archive ( Java 檔案文件),它是 Java 的一種文檔格式。 JAR 文件非常類似 ZIP 文件。準確的說,它就是 ZIP 文件,所以叫它文件包。JAR 文件與 ZIP 文件唯一的區(qū)別就是在 JAR 文件的內容中,多出了一個META-INF/MANIFEST.MF 文件,這個文件是在生成 JAR 文件的時候自動創(chuàng)建的 (也可以自行創(chuàng)建)

2、反編譯

反編譯常用的工具:luyten,jd-gui,我們可以通過反編譯查看原來代碼,同時可以通過將class文件反編譯成Java文件。

在這里插入圖片描述

備注:ThreadPoolExecutor 多線程反編譯是無法看到,所以要注意當前class文件是否使用的多線程,如果采用多線程,是無法直接反編譯Java來使用。

3、命令參數

用法:jar {ctxui} [vfmn0PMe] [jar文件] [清單文件] [入口點] [-C目錄]文件…

-c:創(chuàng)建新檔案
-t:列出要歸檔的目錄
-x:從存檔中提取命名(或所有)文件
-u:更新現有檔案
-v:在標準輸出上生成詳細輸出
-f:指定歸檔文件名
-m:包含來自指定清單文件的清單信息
-n:在創(chuàng)建新存檔后執(zhí)行Pack200規(guī)范化
-e:指定獨立應用程序的應用程序入口點
-0只存儲;不使用ZIP壓縮
-P:從文件名保留前導的“ /”(絕對路徑)和“ ..”(父目錄)組件
-M:不為條目創(chuàng)建清單文件
-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 -uvf shop-order-0.0.1-SNAPSHOT.jar BOOT-INF/classes/application.properties

在這里插入圖片描述

C.更新

在不解壓的情況下,更新jar包某個文件,可以直接通過jar 更新指令對某個文件修改:

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

在這里插入圖片描述

4、Jar啟動

在Linux環(huán)境啟動參數設置:

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

a、-Xms :表示java虛擬機堆區(qū)內存初始內存分配的大小,通常為操作系統(tǒng)可用內存的1/64大小即可,但仍需按照實際情況進行分配。
b、-Xmx:表示java虛擬機堆區(qū)內存可被分配的最大上限,通常為操作系統(tǒng)可用內存的1/4大小。但是開發(fā)過程中,通常會將 -Xms 與 -Xmx兩個參數的配置相同的值,其目的是為了能夠在java垃圾回收機制清理完堆區(qū)后不需要重新分隔計算堆區(qū)的大小而浪費資源。
c、-Xmn:至于這個參數則是對 -XX:newSize、-XX:MaxnewSize兩個參數的同時配置,也就是說如果通過-Xmn來配置新生代的內存大小,那么-XX:newSize = -XX:MaxnewSize = -Xmn。
d、-XX:MaxMetaspaceSize:設置元空間最大值,默認是 -1,即不限制,只受限于本地內存大小
e、-XX:MetaspaceSize:指定元空間的初始空間大小,達到該值就會觸發(fā)垃圾回收進行類型卸載,同時收集器會對該值進行調整:如果釋放了大量的空間,就適當降低該值;如果釋放了很少的空間,那么在不超過 -XX:MaxMetaspaceSize的情況下,適當提高該值。

到此這篇關于Java中Jar包反編譯解壓和壓縮的文章就介紹到這了,更多相關java jar反編譯內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • SpringCloud+SpringBoot項目搭建結構層次的實例

    SpringCloud+SpringBoot項目搭建結構層次的實例

    這篇文章詳細介紹了SpringCloud項目的架構層次及其搭建經驗,包括Controller層、Service層、Repository層、Entity層、DTO層、Exception層等,通過文字和圖片的形式,幫助讀者理解如何組織和實現一個SpringBoot項目的不同層次
    2025-01-01
  • IDEA 中創(chuàng)建并部署 JavaWeb 程序的方法步驟(圖文)

    IDEA 中創(chuàng)建并部署 JavaWeb 程序的方法步驟(圖文)

    本文主要介紹了IDEA 中創(chuàng)建并部署 JavaWeb 程序的方法步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Java詳解AVL樹的應用

    Java詳解AVL樹的應用

    AVL樹是高度平衡的二叉樹,它的特點是AVL樹中任何節(jié)點的兩個子樹的高度最大差別為1,本文主要給大家介紹了Java如何實現AVL樹,需要的朋友可以參考下
    2022-07-07
  • 如何理解和運用ClassLoader

    如何理解和運用ClassLoader

    這篇文章主要介紹了如何理解和運用 ClassLoader,幫助大家更好的理解和使用JVM,感興趣的朋友可以了解下
    2021-01-01
  • 使用spring整合Quartz實現—定時器功能

    使用spring整合Quartz實現—定時器功能

    這篇文章主要介紹了使用spring整合Quartz實現—定時器功能,不基于特定的基類的方法,需要的朋友可以參考下
    2018-04-04
  • Kotlin lateinit與by lazy案例詳解

    Kotlin lateinit與by lazy案例詳解

    這篇文章主要介紹了Kotlin lateinit與by lazy案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-09-09
  • java中Map、Set、List的簡單使用教程(快速入門)

    java中Map、Set、List的簡單使用教程(快速入門)

    這篇文章主要給大家介紹了關于java中Map、Set、List簡單使用教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 微信小程序獲取手機號的完整實例(Java后臺實現)

    微信小程序獲取手機號的完整實例(Java后臺實現)

    我們在做小程序開發(fā)的過程中,經常會涉及到用戶身份的問題,最普遍的就是我們要獲取用戶的手機號碼,下面這篇文章主要給大家介紹了關于微信小程序獲取手機號的完整實例,后臺由Java實現,需要的朋友可以參考下
    2022-06-06
  • springboot jackson配置教程

    springboot jackson配置教程

    這篇文章主要介紹了springboot jackson配置教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 詳解Java冒泡排序

    詳解Java冒泡排序

    本篇文章通過代碼實例給大家詳細分析了Java冒泡排序的原理,有興趣的朋友可以學習下。
    2018-02-02

最新評論