使用Pack200压缩你的代码
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压缩你的代码相关推荐
- html导入错误 wordpress,纯代码为WordPress压缩前端html代码 附BUG修复
[摘要] wp-html-compression是WordPress常用的压缩前端代码插件,本文简析纯代码实现WordPress前端代码压缩功能,并指出常见bug的解决方法. 除了主机的因素之外,一个 ...
- [转载]用UglifyJS2合并压缩混淆JS代码——javascript系列
从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎.chrome浏 ...
- java oss如何下载文件_Java OSS批量下载并压缩为ZIP代码实例
这篇文章主要介绍了Java OSS批量下载并压缩为ZIP代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 /** * 批量下载为zip * @ ...
- Java建立Zip压缩文件的代码实例
Java建立Zip压缩文件的代码实例 Java代码 import java.io.*; import java.util.zip.*; class Zip { public static void m ...
- Java 压缩/混淆 JavaScript 代码
基本上都是自己写的工具构建前端工程,压缩/混淆 JavaScript 代码的工具必不可少.我们是 Java 平台的,就是说用 Java 去压缩 JS,这样比较方便.虽然咱们可以外部调用 node 等专 ...
- css和js的压缩,降低代码可读性
css的压缩 安装 安装 npm install clean-css-cli -g 常用命令 查看版本 cleancss -v 查看帮助 cleancss -h 基本使用 cleancss -o po ...
- biblatex中标注压缩的处理代码解析
biblatex中标注压缩的处理代码解析 %首先讲一下分析的方法,tex中查看宏的定义方便,但要了解宏内部的逻辑并不容易,没有非常方便的调试手段,因此要分析其内部的逻辑,需要手动的分析整个宏的运行过程 ...
- asp.net html代码亚索,asp.net(C#)压缩数据库的代码
本文,我们来学习使用ASP.NET在线压缩数据库的代码,本例使用的开发语言是:C# 第①步:添加引用 在VS.Net环境的解决方案下添加引用.方法如下:项目→添加引用→选项卡→浏览(c:\progra ...
- webpack对html压缩,Webpack系列-代码压缩
代码压缩 Webpack对代码的压缩可分为三个部分,HTML.CSS.JS. 压缩HTML 通过 html-webpack-plugin 插件进行HTML的压缩 html-webpack-plugin ...
最新文章
- 智能车竞赛技术报告 | 全向行进组 - 哈尔滨工业大学 - 紫丁香四队
- oracle判断一个字符是否是数字
- .net Core发布至IIS完全手册带各种踩坑
- Java面向对象编程篇2——面向对象三大特点
- PHP中面向对象分析设计的经验总结
- JavaScript强化教程 —— 资源打包工具的使用及资源的异步加载处理
- Androidd 高德地图功能系列开发(搜索模块)
- gta5正版私人服务器,《GTA5》国内神级服务器,万人同服?堪称虚拟版地球OL?...
- Android Gradle 7.1+新版本依赖变化
- avplayer视频重复循环播放,视频重播
- 【github】机器学习(Machine Learning)深度学习(Deep Learning)资料
- python把视频切成2秒_python进行视频切割
- R语言鸢尾花iris数据集的层次聚类分析
- 矿区无人值守称重系统权限有哪些,怎么分配
- 消耗卡路里的android程序,Movesum - 用食物来表示,走路消耗的卡路里 - Android 应用 - 【最美应用】...
- Hive 正则提取英文名称和中文名称
- LOTO示波器选型指南
- MySQL图形化工具navicat
- 基于ESB的企业服务集成平台建设之道
- Python 技术篇 - 操作excel实现单元格合并并居中实例演示,用openpyxl库为指定区域的单元格设置对齐样式和字体样式方法
热门文章
- bigdecimal java 最大值_Java中的数学运算BigDecimal
- IOException: Broken pipe
- idea新建module路径问题
- Discuz 论坛实现qq小程序
- java翻译数字串并打印_如何使用Java翻译字符串?
- Hibernate→ORM、简介、第一个Hibernate实现、核心XML配置、Hibernate执行流程、操作数据库对象session、事务、映射XML配置、单例CRUD、get与load
- https://www.nowcoder.com/acm/contest/107/F
- Restore IP Address-深度优先遍历DFS
- UnityShader23:顶点动画
- bzoj 4127: Abs(树链剖分+线段树)