Java 面经(二):JUC 并发编程

线程 操作系统中线程的状态 Java 线程的状态 NEW:Thread 被 new 创建,但是还没有调用 start() 方法; RUNNING:调用 start() 方法,线程开始执行,只有此阶段才会获得 CPU 资源; BLOCKED:遇到 synchronized 关键字,等待获得锁,线程进入


Java 面经(一):JVM 虚拟机

Java 内存模型 垃圾回收 类文件结构 Class 文件中包含了 Java 虚拟机指令集、符号表以及若干其他辅助信息。 常量池 每个 Class 文件中都有一个常量池(constant_pool),常量池可以比喻为 Class 文件里的资源仓库。 由于常量池中常量的数量是不固定


安卓面经(六):Jetpack 篇

一、Lifecycle 什么是 Lifecycle? Lifecycle 是Jetpack 架构组件中的核心类,用于统一管理 Android 组件(Activity、Fragment 等)的生命周期,并通过观察者模式向外部暴露生命周期的变化。 传统上,我们需要在 onCreate、onStart、o


安卓面经(五):Kotlin 篇

一、基础知识 属性 Kotlin 中的属性 Kotlin 类中的属性和 Java 类中的字段(成员变量)不同,Java 中的字段只是一个变量,而在 Kotlin 中,一个类的属性通常由 backing field + getter + setter 组成: backing field:实际存在值的字


安卓面经(四):进阶篇

一、Android 系统架构 Android 系统整体上可以分为五层结构,从上到下依次是:应用层、应用框架层、系统运行库层、硬件抽象层以及 Linux 内核层。下图展示了经典的 Android 架构分层图: 应用层(System Apps) 应用层包含系统自带的应用(如电话、短信、设置等)以及用户安


安卓面经(三):视图相关篇

Activity、Window、DecorView 每一个 Activity 都持有一个 Window 对象; Window 是一个抽象类,只有一个唯一的实现 PhoneWindow; 每一个 PhoneWindow 都持有一个 DecorView 实例,它继承自 FrameLayout,是 Act


安卓面经(二):基础知识篇

一、Context Context 是什么? 在 Android 中,Context 是一个非常核心的概念,直译为“上下文”。它代表了应用程序运行时的环境信息,是应用与系统进行交互的接口。通过 Context 我们可以: 获取应用中的资源与类信息(如 strings、drawable、colors、


安卓面经(一):四大组件篇

一、Activity 什么是 Activity? Activity 是 Android 四大组件之一,承担着用户界面交互的核心职责。由于移动端应用涉及前后台切换、旋转、内存回收、任务栈管理等复杂情况,理解 Activity 的生命周期对于开发健壮的应用至关重要。 每个 Activity 都有一个窗口


Java 常见面试题

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


计算机网络常见面试题

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