Java programs are routinely transmitted over low-bandwidth network connections as compressed class file archives (i.e., zip files and jar files). Since archive size is directly proportional to download time, it is desirable for applications to be as small as possible. This paper is concerned with the use of program transformations such as removal of dead methods and fields, inlining of method calls, and simplification of the class hierarchy for reducing application size. Such "extraction" techniques are generally believed to be especially useful for applications that use class libraries, since typically only a small fraction of a library's functionality is used. By "pruning away" unused library functionality, application size can be reduced dramatically. We implemented a number of application extraction techniques in Jax, an application extractor for Java, and evaluate their effectiveness on a set of realistic benchmarks ranging from 27 to 2,332 classes (with archives ranging from 56,796 to 3,810,120 bytes). We report archive size reductions ranging from 13.4% to 90.2% (48.7% on average).
Java程序通常通过低带宽网络连接作为压缩的类文件档案(即zip文件和jar文件)进行传输。由于存档大小与下载时间成正比,因此希望应用程序尽可能小。本文关注程序转换的使用,例如删除无效方法和字段,内联方法调用以及简化类层次结构以减小应用程序大小。通常认为,此类“提取”技术对于使用类库的应用程序特别有用,因为通常仅使用库功能的一小部分。通过“删减”未使用的库功能,可以大大减少应用程序的大小。我们在Java的应用程序提取器Jax中实现了许多应用程序提取技术,并根据一组范围从27到2,332类(存档范围从56,796到3,810,120字节)的实际基准评估了它们的有效性。我们报告的存档大小减少了13.4%到90.2%(平均48.7%)。 P>
机译:Aquaschwingsortierer ASS和ASK(水力分离器)-在实际应用中的发展和经验)在实际应用中*)
机译:开发模型驱动的重新设计方法以将PL / SQL触发器迁移到Java:实际经验
机译:战场上的JavaGI:通用接口的实践经验
机译:与Java应用提取器的实践经验
机译:执法医学方向的公共卫生应用:与达拉斯警察局的实践经验。
机译:安全的JAVA小程序和应用程序:从JAVA安全模型中学到的准则和经验教训
机译:Java应用程序提取器的实践经验
机译:用于航天器动力传动应用的蜗轮传动的实践经验