background picture of the home page

Hi,Friend

爱睡懒觉的程序员

Android 常见面试题

1 如何优化安卓应用启动速度? 延迟非关键初始化(首帧后) 避免主线程 I/O 轻量首屏布局,避免嵌套布局 图片与数据懒加载 安卓中常见的调试方式有哪些? 1)最基本的是 Logcat + 断点调试; 2)界面问题用 Layout Inspector / GPU Overdraw; 3)性能问题用

thumbnail of the cover of the post

Kotlin 常见面试题

val 和 const 在 Kotlin 中 val 修饰的变量并不是常量,而是“只读变量”。所谓只读,指的是它只能被 赋值一次,但并不保证它的值在运行时不可变。 在 Kotlin 中,一个类的成员变量通常由 backing field + getter + setter 组成: var:有 get

thumbnail of the cover of the post

Java 中并发安全的容器

Collections.synchronizedList Collections 工具类提供一个 synchronizedList 方法,把一个 List 实例装饰成线程安全的。实际上返回的是 Collections.SynchronizedList 内部类,它持有一个原始 List 的引用,并在所

thumbnail of the cover of the post

探索 RecyclerView 的原理

RecyclerView 中的核心组件 RecyclerView:承载整个列表,处理触摸交互、边界判断,并协调 Recycler(回收器)与 Adapter(适配器)之间的工作。 LayoutManager:负责子 View 的测量与布局,决定何时回收 View。它通过 getViewForPosi

thumbnail of the cover of the post

Java 常见面试题

Java 内存模型 Java 的内存模型结构 运行时常量池 JVM 在类加载完成后,会把字节码文件中的常量池信息加载到运行时常量池(Runtime Constant Pool)中。每个类或接口

thumbnail of the cover of the post

计算机网络常见面试题

TCP 的流量控制 所谓流量控制就是:让发送方的发送速率不要太快,要让接收方来得及接收。 TCP 是利用滑动窗口实现流量控制: 接收端维护一个接收缓冲区; 每接收到一段数据,缓存占用增加; 每被应用程序读取一部分数据,缓存占用减少; 每发送一个 ACK,都包含当前可用的窗口大小 rwnd。 特殊情况

thumbnail of the cover of the post

浅谈 Android 中的跨进程通讯

一、为什么 Android 使用 Binder? Android 系统出于安全性和稳定性的考虑,为每个应用分配独立的进程和虚拟机实例。这样做的好处是,即使某个应用崩溃,也不会直接影响到其他应用或系统本身。但随之而来的问题是:不同进程间内存空间隔离,数据无法直接共享。 然而,跨进程通信又是必不可少的。

thumbnail of the cover of the post

Activity 生命周期与启动模式

Activity 是 Android 四大组件之一,承担着用户界面交互的核心职责。由于移动端应用涉及前后台切换、旋转、内存回收、任务栈管理等复杂情况,理解 Activity 的生命周期对于开发健壮的应用至关重要。 一、Activity 生命周期回调函数 一个 Activity 从创建到销毁,大致会经

thumbnail of the cover of the post

浅谈 Java 中的锁升级

Java 在并发场景下,为了兼顾性能与安全,引入了锁升级机制。同一把锁会根据竞争情况,从低开销状态逐步升级到高开销状态,以减少无意义的阻塞与线程切换。 Java 对象的锁标志是存储在对象头中的 Mark Word (在 64 位虚拟机中长度是 64 位)中的: 倒数第3位:表示该对象是否可偏向; 倒

thumbnail of the cover of the post