设为首页
收藏本站
开启辅助访问
全部
问与答
创意
技术
酷工作
生活
交易
资源
节点
飞墙
Follow
明白贴
影视
报酬
登录
注册
飞社-令人惊奇的创意工作者社区-
›
首页
›
Java
›
有没有什么思路对 Fat Jar 进行瘦身
FSHEX=FIND+SHARE+EXPRESS
飞社-令人惊奇的创意工作者社区- 是一个关于发现分享表达的地方
现在登录
没有账号?
立即注册
推荐主题
›
太 TM 卷啦, 部门平均工时已经接近 11 小
›
苏州 11 月被裁事件经过
›
大家有没有发现国内吸烟的人越来越多?
›
本地存储怕硬盘挂,云上存储怕不安全,怎么
›
阿里云 200M 轻量的真相
今日热议主题
wordpress 下的 markdown 插件有推荐的吗?
国网浙江每月福利券满 40 减 2
请教如何在 Apple TV 应用上观看体育直播
要怎么样才能改掉这个坏习惯
安居乐寓隔音测试
[年度总结] 一口气讲完 2024 年的可视化开
1.5 个点出笔记本电脑发票
奈飞(Netflix) cookies 2024/12/28
这样一个扑克读心术小游戏是怎么实现的?
尼区白卡单人独享 GPTplus, 90/月,速上车
有没有什么思路对 Fat Jar 进行瘦身
4ra1n
·
昨天 18:30
· 515 次点击
考虑到反射或者懒加载等内容,我思路是这样的:
1. 启动时挂一个 java agent 上去,内容是 hook 加载本地 jar 文件的方法
2. 用户尝试自己需要的功能,例如注册/登录/管理后台等等,完全做一遍
3. 然后看整个流程中 java agent 这边记录的,都加载了哪些 jar 文件
4. 对比存在的 jar 得出一个可以删掉的 jar 列表
请教下这个思路是否可行,以及我需要 hook 的类应该是哪些,或者有没有更好的思路
举报
·
515 次点击
登录
注册
站外分享
微信扫一扫
QQ分享
微博分享
豆瓣分享
复制链接
显示全部
|
最新评论
4 条回复
沙发
bunnyblueair
小成
昨天 18:45
ProGuard
板凳
4ra1n
楼主
小成
昨天 19:01
ProGuard 主要是两个问题,第一个配置非常麻烦,不是容易上手的方式 另外一个问题是,它应该是静态分析的引用关系,而不是动态决定的,比如反射问题,某些功能如果是运行时候决定是否调用某个类的,是无法处理的
地板
foolishcrab
小成
昨天 22:09
可行,不需要考虑对应用性能影响的时候这个是很简单的东西。 叫 reachability analysis, native image 就有一个专门的 agent 来收集 runtime reflection metadata 之类的东西。 其实这个方案最大的问题在于你帖子里的第二步,对于一个大型软件而言这是很难的,所以一般要在生产上挂着用真实流量收集,这样的话就需要考虑 agent 的性能影响。这里就不展开了
5#
sagaxu
初学
昨天 22:16
java --verbose:class 找出用到的所有 class 和 jar 包,删掉没用的 jar 包,甚至 jar 包内部删掉无用的 class
返回顶部