亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

1、簡(jiǎn)述

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

2、反編譯

反編譯常用的工具:luyten,jd-gui,我們可以通過(guò)反編譯查看原來(lái)代碼,同時(shí)可以通過(guò)將class文件反編譯成Java文件。

在這里插入圖片描述

備注:ThreadPoolExecutor 多線程反編譯是無(wú)法看到,所以要注意當(dāng)前class文件是否使用的多線程,如果采用多線程,是無(wú)法直接反編譯Java來(lái)使用。

3、命令參數(shù)

用法:jar {ctxui} [vfmn0PMe] [jar文件] [清單文件] [入口點(diǎn)] [-C目錄](méi)文件…

-c:創(chuàng)建新檔案
-t:列出要?dú)w檔的目錄
-x:從存檔中提取命名(或所有)文件
-u:更新現(xiàn)有檔案
-v:在標(biāo)準(zhǔn)輸出上生成詳細(xì)輸出
-f:指定歸檔文件名
-m:包含來(lái)自指定清單文件的清單信息
-n:在創(chuàng)建新存檔后執(zhí)行Pack200規(guī)范化
-e:指定獨(dú)立應(yīng)用程序的應(yīng)用程序入口點(diǎn)
-0只存儲(chǔ);不使用ZIP壓縮
-P:從文件名保留前導(dǎo)的“ /”(絕對(duì)路徑)和“ ..”(父目錄)組件
-M:不為條目創(chuàng)建清單文件
-i:為指定的jar文件生成索引信息
-C:更改為指定目錄并包含以下文件
如果任何文件是目錄,則將對(duì)其進(jìn)行遞歸處理。
清單文件名稱,歸檔文件名稱和入口點(diǎn)名稱為
以與“ m”,“ f”和“ e”標(biāo)志相同的順序指定。

A.解壓

在jar包當(dāng)前文件下,cmd指令 通過(guò)jar -xvf解壓當(dāng)前jar包

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

在這里插入圖片描述

B.壓縮

在當(dāng)前文件目錄下,替換我們所需要替換的文件,重新將當(dāng)前解壓的jar壓縮,注意后綴要帶上./META-INF/MANIFEST.MF .:

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

在這里插入圖片描述

C.更新

在不解壓的情況下,更新jar包某個(gè)文件,可以直接通過(guò)jar 更新指令對(duì)某個(gè)文件修改:

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

在這里插入圖片描述

4、Jar啟動(dòng)

在Linux環(huán)境啟動(dòng)參數(shù)設(shè)置:

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

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

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

相關(guān)文章

  • SpringCloud+SpringBoot項(xiàng)目搭建結(jié)構(gòu)層次的實(shí)例

    SpringCloud+SpringBoot項(xiàng)目搭建結(jié)構(gòu)層次的實(shí)例

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

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

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

    Java詳解AVL樹(shù)的應(yīng)用

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

    如何理解和運(yùn)用ClassLoader

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

    使用spring整合Quartz實(shí)現(xiàn)—定時(shí)器功能

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

    Kotlin lateinit與by lazy案例詳解

    這篇文章主要介紹了Kotlin lateinit與by lazy案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • java中Map、Set、List的簡(jiǎn)單使用教程(快速入門(mén))

    java中Map、Set、List的簡(jiǎn)單使用教程(快速入門(mén))

    這篇文章主要給大家介紹了關(guān)于java中Map、Set、List簡(jiǎn)單使用教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 微信小程序獲取手機(jī)號(hào)的完整實(shí)例(Java后臺(tái)實(shí)現(xiàn))

    微信小程序獲取手機(jī)號(hào)的完整實(shí)例(Java后臺(tái)實(shí)現(xiàn))

    我們?cè)谧鲂〕绦蜷_(kāi)發(fā)的過(guò)程中,經(jīng)常會(huì)涉及到用戶身份的問(wèn)題,最普遍的就是我們要獲取用戶的手機(jī)號(hào)碼,下面這篇文章主要給大家介紹了關(guān)于微信小程序獲取手機(jī)號(hào)的完整實(shí)例,后臺(tái)由Java實(shí)現(xiàn),需要的朋友可以參考下
    2022-06-06
  • springboot jackson配置教程

    springboot jackson配置教程

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

    詳解Java冒泡排序

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

最新評(píng)論