主要观点:
- IntelliJ IDEA 是用于 Java 和 Kotlin 专业开发的 IDE,其包含的 Fernflower Java 反编译器有重要意义。
- 原 Fernflower 作者 Stiver 因胶质母细胞瘤去世,20 年前他对 Java 虚拟机内部产生兴趣并开始开发反编译器。
- 当时 Java 反编译领域状况不佳,现有反编译器存在诸多问题,Stiver 采取不同方法开发出更好的反编译器。
- 2009 年 5 月第一个公开版本上线,后因 Stiver 工作繁忙开发停止,2013 年 JetBrains 与他合作将其纳入 IntelliJ IDEA 并使其开源。
- 纳入 IntelliJ IDEA 后 Stiver 帮助改进反编译器以支持新语言特性和与调试器集成。
- Fernflower 开源后被 Java 世界其他工具使用,JetBrains 团队在不断改进它,Stiver 的工作对 Java 开发者影响深远。
关键信息:
- Stiver 是德国的俄罗斯裔程序员,主要开发医疗设备软件,2006 年开始研究 Java 虚拟机内部。
- 当时 Java 反编译领域存在新语言构造不支持、现有反编译器方法脆弱等问题。
- 2009 年 5 月 Fernflower 第一个公开版本上线,后私下发送给一些测试者。
- 2013 年 JetBrains 与 Stiver 合作将 Fernflower 纳入 IntelliJ IDEA 并使其开源,2014 年 7 月早期访问版本发布。
- Stiver 帮助改进反编译器以支持 Java 8 新特性和与 IntelliJ IDEA 调试器集成。
重要细节:
- 介绍了现有反编译器的问题,如简单寻找字节码模式翻译导致脆弱,无法处理新字节码等。
- 讲述 Stiver 开发反编译器的过程,先阅读字节码构建控制流图,克服现有替代品的弱点。
- 提到 Fernflower 反编译器快速获得 popularity,用户在四个月内 decompiled 超过五十万个 Java 类。
- 说明 2010 年后因 Stiver 工作繁忙反编译器开发停止,后被 JetBrains 纳入 IntelliJ IDEA 。
- 强调 Stiver 的工作对 Java 开发者的重要性,节省了他们调试 Java 代码的时间。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。