Java反编译工具Luyten

Java反编译工具LuytenLuyten是一款很强大的反编译工具包,是一款github的开源工具,软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。工具软件下载路径:https://github.com/deathmarine/Luyten/releases/tag/v0.5.3我比较喜欢直接使用.jar版本,直接在页面打开目标.class或者.jar包文件,即可直观的查看反编译后的源码,很强大下载下…

大家好,又见面了,我是你们的朋友全栈君。

Luyten是一款很强大的反编译工具包,是一款github的开源工具,软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。

工具软件下载路径:https://github.com/deathmarine/Luyten/releases/tag/v0.5.3

我比较喜欢直接使用.jar版本,直接在页面打开目标.class或者.jar包文件,即可直观的查看反编译后的源码,很强大

下载下来后双击就可以使用了,同样的jar,我们打开试试效果:

Java反编译工具Luyten

 

不再是ERROR了,同样在使用过程中可以总结一下它和jd-gui的区别:

1.查看jar包的时候,jd-gui是折叠的,而Luyten是展开的

2.以前在用jd-gui反编译的时候,泛型是会被擦除的,如:

 List<Integer> list =newArrayList();

编译后会变成

 List list =newArrayList();

因为泛型在编译期会被擦除,这个没毛病,但是Luyten反编译后的为什么没有被擦除呢?是因为jdk在编译过程中虽然擦除了泛型,但是还是通过注释对其进行了标记,如:

#4 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;

这就解释的通为什么Luyten还是能够找回来没擦除之前的类型,毕竟能回归最原始的文件对程序员越有利嘛~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151167.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • idea2021.8.4激活码(JetBrains全家桶)

    (idea2021.8.4激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html9071407CR5-eyJsaWN…

  • matlab画图操作(修改坐标轴及字体,加粗,颜色修改,适合论文画图)「建议收藏」

    matlab画图操作(修改坐标轴及字体,加粗,颜色修改,适合论文画图)「建议收藏」matlab常用画图操作1.设置坐标轴2.设置figure大小3.matlab线条设置4.子图设置5.颜色查询6.colorbar设置7.线条透明度设置8.设置坐标轴刻度形式9.图例设置1.设置坐标轴%设置坐标轴格式title(‘Title’,’fontsize’,12,’fontname’,’Times’);xlabel(‘Times(s)’,’fontsize’,12,’fontname’,’Times’)ylabel(‘Value’,’fontsize’,12,’fontname’,’Tim

  • MyBatis 所有的 jdbcType类型

    MyBatis 所有的 jdbcType类型MyBatis处理MySQL字段类型date与datetime1)DATETIME显示格式:yyyy-MM-ddHH:mm:ss时间范围:[‘1000-01-0100:00:00’到’9999-12-3123:59:59’]2)DATE显示格式:yyyy-MM-dd时间范围:[‘1000-01-01’到’9999-12-31’]3)TIMESTAMP显示格式:yyyy-MM-ddHH:mm:ss时间范围:[‘1970-01-0100:00:00’到’2037-12-

    2022年10月20日
  • oracle绑定变量使用方法总结_绑定变量不存在

    oracle绑定变量使用方法总结_绑定变量不存在Stringsql=“select*fromuserswhereusername=?andpwd=?”;pstat=con.prepareStatement(sql);pstat.setString(1,username);pstat.setString(2,pwd);rs=pstat.executeQuery(sql);//后面发现这句写错了System.ou…

  • webservice接口与HTTP接口的使用以及区别

    webservice接口与HTTP接口的使用以及区别一、webservice的概念Web是使应用程序可以与平台和编程语言无关的方式进行相互通信的一项技术。Web服务是一个软件接口,它描述了一组可以在网络上通过标准化的XML消息传递访问的操作。它使用基于XML语言的协议来描述要执行的操作或者要与另一个Web服务交换的数据。一组以这种方式交互的Web服务在面向服务的体系结构(Service-OrientedArchitectu…

  • 《大秦帝国三:崛起》 剧情简介和最新进展第一季_大秦帝国之崛起剧情

    《大秦帝国三:崛起》 剧情简介和最新进展第一季_大秦帝国之崛起剧情大秦帝国三·裂变大秦帝国二·纵横大秦帝国三·崛起 大秦帝国三·崛起 剧情简介和最新进展规格:40集剧情简介:《大秦帝国三·崛起》,以《大秦帝国二·纵横》的结尾为开篇,承上启下,讲述战国中后期各国之间的征战。主要讲述的是秦昭襄王嬴稷期间战国的历史。秦昭襄王(公元前325年到公元前251年),在位56年。是秦国一统天下最直接的奠基人。当时

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号