第016篇 内部类与匿名内部类:回调写法的底层逻辑
本文深入解析Java内部类与匿名内部类的核心机制:非静态内部类(含匿名类)隐式持有外部实例引用,易致内存泄漏;静态内部类与无捕获lambda则无此问题。涵盖原理、典型坑点(如Handler泄漏)、绕坑方案及面试高分答法,强调从执行路径、数据流向和失败模式展开,助你脱颖而出。
第015篇 抽象类与接口:到底该怎么选才不丢分
本文深入剖析抽象类与接口的本质差异:抽象类聚焦“is-a”复用(带状态、构造器、模板方法),接口强调“can-do”契约(多实现、default/private方法演进)。直击常考误区——常量接口滥用、default方法状态依赖、抽象类this逃逸,并结合Android实战(BaseActivity、OnClickListener)与Kotlin新特性,讲清原理、场景与避坑方案。
第010篇 构造方法与初始化顺序:父类子类谁先执行
Android高阶面试常考构造方法与初始化顺序,重在考察“为什么是这个顺序”及“错乱时的隐患”。核心逻辑:静态(类加载一次)→父类实例→父类构造→子类实例→子类构造;关键陷阱是父类构造中调用子类重写方法,导致读取未初始化字段(默认值)。理解此机制,方能规避多态+时序引发的隐蔽Bug。
第011篇 this 与 super:最容易混淆的两个指向
面试官爱考`this`与`super`,因它是一面“能力试纸”:背概念者答定义,用过者讲场景,踩过坑者补边界。本文从原理、实战、避坑三维度拆解——`this`指当前实例,用于解遮蔽、构造转发、链式调用;`super`指父类部分,专用于调父构、访父成员。
第012篇 static 关键字全景:静态变量、方法与内部类
本文深入解析 Android 面试高频考点 `static` 关键字:从类加载、内存布局到生命周期;详解静态成员共享性、线程安全边界、方法隐藏机制;剖析内存泄漏、OOM、初始化顺序等典型坑及规避方案;结合单例、弱引用、静态内部类等工程实践,助你结构化作答,展现系统性认知。
根与环:为什么你的 ArkTS 内存泄漏,和“循环引用“无关
打开任何一篇讲 ArkTS 内存泄漏的中文技术文章,你几乎都会看到同一个句式:
"闭包形成了循环引用,导致 GC 无法回收,于是内存泄漏。"
然后配一张 A 持有 B、B 持有 A 的图,再加一句"要把引用置为 null"。
这个解释听起来自洽,传播得也足够广,但它在 ArkTS 的运行时模型里是错的——不是细节不准,而是因果搞反了。
那个叫 fix bug 的提交,改了 140 万行
PotatoTool 是一款开源(Apache 2.0)JavaFX桌面安全工具,集红蓝队能力于一体:蓝队主打“一键解密”(WebShell/中间件密文识别与还原),红队覆盖扫描、内存马、反序列化及AI驱动自动渗透。技术栈务实(Java 8/11+、OkHttp、SQLite),兼容性强,重实践轻炫技,强调真实场景鲁棒性与责任使用。(239字)
第013篇 final 的四种用法:变量、方法、类与参数
本文深度解析 Java 中 `final` 的四大语义:变量(引用/值仅赋值一次)、参数(方法内不可重赋值)、方法(禁止重写)、类(禁止继承)。厘清“引用不可变≠内容不可变”“final 不保证线程安全”“this 逸出破坏可见性”等高频误区,结合源码、面试话术与工程实践,助你透彻掌握 final 的原理、坑点与最佳用法。
第014篇 重载与重写:编译期与运行期的分野
重载与重写是Java多态的两大基石:重载发生于同一类,编译期按参数列表静态绑定;重写发生于父子类,运行期按实际类型动态分派。二者易混淆,但本质分属编译期与运行期,规则、边界与典型坑(如忘加`@Override`、static隐藏、泛型擦除冲突)须清晰辨析。