Java5中带了一个压缩工具:Pack200,这个工具能对普通的jar文件进行高效压缩。其实现原理是根据Java类特有的结构,合并常数池,去掉无用信息等来实现对java类的高效压缩。由于是专门对Java类进行压缩的,所以对普通文件的压缩和普通压缩软件没有什么两样,但是对于Jar文件却能轻易达到10-40%的压缩率。这在Java应用部署中很有用,尤其对于移动Java计算,能够大大减小代码下载量。

Java5中还提供了这一技术的API接口,你可以将其嵌入到你的程序中使用。使用的方法很简单,下面的短短几行代码即可以实现jar的压缩和解压:

压缩

Packer packer=Pack200.newPacker();
OutputStream output=new BufferedOutputStream(new FileOutputStream(outfile));
packer.pack(new JarFile(jarFile), output);
output.close();

解压

Unpacker unpacker=Pack200.newUnpacker();
output=new JarOutputStream(new FileOutputStream(jarFile));
unpacker.unpack(pack200File, output);

output.close();

更为详细介绍,请见下面的网址:

http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/pack200.html

转载于:https://www.cnblogs.com/IamThat/archive/2013/06/02/3113937.html

使用Pack200压缩你的代码相关推荐

  1. html导入错误 wordpress,纯代码为WordPress压缩前端html代码 附BUG修复

    [摘要] wp-html-compression是WordPress常用的压缩前端代码插件,本文简析纯代码实现WordPress前端代码压缩功能,并指出常见bug的解决方法. 除了主机的因素之外,一个 ...

  2. [转载]用UglifyJS2合并压缩混淆JS代码——javascript系列

    从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎.chrome浏 ...

  3. java oss如何下载文件_Java OSS批量下载并压缩为ZIP代码实例

    这篇文章主要介绍了Java OSS批量下载并压缩为ZIP代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 /** * 批量下载为zip * @ ...

  4. Java建立Zip压缩文件的代码实例

    Java建立Zip压缩文件的代码实例 Java代码 import java.io.*; import java.util.zip.*; class Zip { public static void m ...

  5. Java 压缩/混淆 JavaScript 代码

    基本上都是自己写的工具构建前端工程,压缩/混淆 JavaScript 代码的工具必不可少.我们是 Java 平台的,就是说用 Java 去压缩 JS,这样比较方便.虽然咱们可以外部调用 node 等专 ...

  6. css和js的压缩,降低代码可读性

    css的压缩 安装 安装 npm install clean-css-cli -g 常用命令 查看版本 cleancss -v 查看帮助 cleancss -h 基本使用 cleancss -o po ...

  7. biblatex中标注压缩的处理代码解析

    biblatex中标注压缩的处理代码解析 %首先讲一下分析的方法,tex中查看宏的定义方便,但要了解宏内部的逻辑并不容易,没有非常方便的调试手段,因此要分析其内部的逻辑,需要手动的分析整个宏的运行过程 ...

  8. asp.net html代码亚索,asp.net(C#)压缩数据库的代码

    本文,我们来学习使用ASP.NET在线压缩数据库的代码,本例使用的开发语言是:C# 第①步:添加引用 在VS.Net环境的解决方案下添加引用.方法如下:项目→添加引用→选项卡→浏览(c:\progra ...

  9. webpack对html压缩,Webpack系列-代码压缩

    代码压缩 Webpack对代码的压缩可分为三个部分,HTML.CSS.JS. 压缩HTML 通过 html-webpack-plugin 插件进行HTML的压缩 html-webpack-plugin ...

最新文章

  1. 智能车竞赛技术报告 | 全向行进组 - 哈尔滨工业大学 - 紫丁香四队
  2. oracle判断一个字符是否是数字
  3. .net Core发布至IIS完全手册带各种踩坑
  4. Java面向对象编程篇2——面向对象三大特点
  5. PHP中面向对象分析设计的经验总结
  6. JavaScript强化教程 —— 资源打包工具的使用及资源的异步加载处理
  7. Androidd 高德地图功能系列开发(搜索模块)
  8. gta5正版私人服务器,《GTA5》国内神级服务器,万人同服?堪称虚拟版地球OL?...
  9. Android Gradle 7.1+新版本依赖变化
  10. avplayer视频重复循环播放,视频重播
  11. 【github】机器学习(Machine Learning)深度学习(Deep Learning)资料
  12. python把视频切成2秒_python进行视频切割
  13. R语言鸢尾花iris数据集的层次聚类分析
  14. 矿区无人值守称重系统权限有哪些,怎么分配
  15. 消耗卡路里的android程序,Movesum - 用食物来表示,走路消耗的卡路里 - Android 应用 - 【最美应用】...
  16. Hive 正则提取英文名称和中文名称
  17. LOTO示波器选型指南
  18. MySQL图形化工具navicat
  19. 基于ESB的企业服务集成平台建设之道
  20. Python 技术篇 - 操作excel实现单元格合并并居中实例演示,用openpyxl库为指定区域的单元格设置对齐样式和字体样式方法

热门文章

  1. bigdecimal java 最大值_Java中的数学运算BigDecimal
  2. IOException: Broken pipe
  3. idea新建module路径问题
  4. Discuz 论坛实现qq小程序
  5. java翻译数字串并打印_如何使用Java翻译字符串?
  6. Hibernate→ORM、简介、第一个Hibernate实现、核心XML配置、Hibernate执行流程、操作数据库对象session、事务、映射XML配置、单例CRUD、get与load
  7. https://www.nowcoder.com/acm/contest/107/F
  8. Restore IP Address-深度优先遍历DFS
  9. UnityShader23:顶点动画
  10. bzoj 4127: Abs(树链剖分+线段树)