浩渺软件园 :您身边最放心的安全下载站! 最新软件|软件分类|软件专题|论坛转帖|QQ下载|软件发布

您当前所在位置:首页编程开发编程软件 → proguard 官方版

proguard 官方版v5.3.3

proguard 官方版 官方下

  • 软件大小:2.72 MB
  • 软件语言:简体中文
  • 软件类型:国产软件
  • 软件授权:免费软件
  • 更新时间:2017/09/21
  • 软件类别:编程软件
  • 软件官网:
  • WinALL
软件评分
网友评分:0.0
软件介绍人气软件相关文章精品推荐网友评论

proguard是一款免费的Java类文件的压缩、优化、混肴的软件。proguard可以很好的保护JAVA源代码,避免其被反编译,保护方法就是对编译好后的class文件进行混淆。该软件集压缩器、优化器、混淆器、预校验器于一身,功能强大,推荐需要的人下载。

proguard功能介绍:

压缩(Shrink):检测并移除代码中无用的类、字段、方法和特性(Attribute)。

优化(Optimize):对字节码进行优化,移除无用的指令。

混淆(Obfuscate):使用a,b,c,d这样简短而无意义的名称,对类、字段和方法进行重命名。

预检(Preveirfy):在Java平台上对处理后的代码进行预检,确保加载的class文件是可执行的。

proguard工作原理:

ProGuar由shrink、optimize、obfuscate和preveirfy四个步骤组成,每个步骤都是可选的,我们可以通过配置脚本来决定执行其中的哪几个步骤。

混淆就是移除没有用到的代码,然后对代码里面的类、变量、方法重命名为人可读性很差的简短名字。

那么有一个问题,ProGuard怎么知道这个代码没有被用到呢?

这里引入一个Entry Point(入口点)概念,Entry Point是在ProGuard过程中不会被处理的类或方法。在压缩的步骤中,ProGuard会从上述的Entry Point开始递归遍历,搜索哪些类和类的成员在使用,对于没有被使用的类和类的成员,就会在压缩段丢弃,在接下来的优化过程中,那些非Entry Point的类、方法都会被设置为private、static或final,不使用的参数会被移除,此外,有些方法会被标记为内联的,在混淆的步骤中,ProGuard会对非Entry Point的类和方法进行重命名。

那么这个入口点怎么来呢?就是从ProGuard的配置文件来,只要这个配置了,那么就不会被移除。

ProGuard支持种类的优化:

除了在压缩操作删除的无用类,字段和方法外,ProGuard也能在字节码级提供性能优化,内部方法有:

常量表达式求值

删除不必要的字段存取

删除不必要的方法调用

删除不必要的分支

删除不必要的比较和instanceof验证

删除未使用的代码

删除只写字段

删除未使用的方法参数

像push/pop简化一样的各种各样的peephole优化

在可能的情况下为类添加static和final修饰符

在可能的情况下为方法添加private, static和final修饰符

在可能的情况下使get/set方法成为内联的

当接口只有一个实现类的时候,就取代它

选择性的删除日志代码

实际的优化效果是依赖于你的代码和执行代码的虚拟机的。简单的虚拟机比有复杂JIT编译器的高级虚拟机更有效。无论如何,你的字节码会变得更小。

仍有一些明显需要优化的技术不被支持:

使非final的常量字段成为内联,像get/set方法一样使其他方法成为内联,将常量表达式移到循环之外

人气软件

相关文章

其他版本下载

精品推荐编程软件排行榜

更多 (22个) >>编程软件排行榜浏览器也就是用来上网的,用户可迅速及轻易地浏览各种资讯,浏览器是指可以显示网页服务器或者文件系统的文件内容,以下就是我们为大家展示的目前年最新的也是比较流行的浏览器合作排行榜希望你能挑到自己喜欢的.

下载地址

查看所有评论>>网友评论

发表评论

验证码:     登录   注册

查看所有0条评论>>

猜你喜欢