- Java中“==” 和 equals 有什么
- 为什么重写 equals 方法必须重写 hashcode 方法
- 下面的代码在JVM中生成了几个String对象?JVM是如何对其进行内存分配的?
- 了解String的intern()方法吗?它有什么作用?
- String、StringBuffer与StringBuilder有区别?
- 访问修饰符public,private,protected,以及不写(默认)时的区别?
- final有哪几种用法?每种用法是什么含义?
- static 关键的作用
- 内部类可以引用外部类的成员吗?有没有什么限制?
- int和Integer有什么区别?
- Java 面向对象的特征有哪些方面?
- 简述Java反射机制,反射的作用和应用?
- Java泛型是什么?泛型的类型擦除是怎么回事?
- Hash表与HashMap
- HashMap的工作原理
- 为什么HashMap在多线程并发存在死循环的问题,JDK1.8中做了哪些优化?
- Hashtable与HashMap有什么区别?
- 了解ConcurrentHashMap吗?它是怎么实现的?
- 可以使用CocurrentHashMap来代替Hashtable吗?
- ConcurrentHashMap有什么缺陷吗?
- ConcurrentHashMap在JDK 7和8之间的区别
- Java中HashMap和HashTable的区别?
- HashMap 和 HashSet 的区别
- 请说出 ArrayList和LinkedList的区别?
- 请说出 ArrayList和LinkedList的区别?
- Java 中 Set 与 List 有什么不同?
- 多线程与并发基础
- JMM与volatile关键字
- synchronized的实现原理
- CAS、Unsafe类以及Automic并发包
- AQS的实现原理
- ReentrantLock的实现原理
- ThreadLoacal的实现原理
- 线程池的实现原理
- Java线程中断机制
- Java等待与唤醒机制
- 简述Handler的实现原理
- 一个线程有几个Handler?一个线程有几个Looper?如何保证?
- Handler线程是如何切换的?
- Handler内存泄漏的原因是什么?如何解决?
- 子线程中使用Looper应该注意什么?有什么用?
- MessageQueue是如何保证线程安全的?
- 我们使用Message的时候如何创建它?
- Looper死循环为什么不会导致应用卡死?
- 能不能让一个Message被加急处理?
- Handler的同步屏障是什么?
- Handler的阻塞唤醒机制是什么?
- ThreadLocal的实现原理
- HandlerThread是什么?
- IntentService是什么?
- IdleHandler是什么?
- 事件分发机制流程
- ViewGroup中的mFirstTouchTarget是一个什么东西,它有什么作用?
- 如果在ViewGroup中拦截了ACTION_DOWN事件会怎样?
- 为什么设置了onTouchListener后onClickListener不会被调用?
- 为什么一个View设置了setOnTouchListener会有提示没有引用performClick方法的警告?
- 屏幕刷新机制概述
- Choreographer详解
- SurfaceFlinger
- 丢帧一般是什么原因引起的?
- 如果在屏幕快刷新的时候才去onDraw绘制会丢帧么
- 如果快速调用10次requestLayout,会调用10次onDraw吗?
- 简述UI渲染流程
- View 刷新机制
- 内存优化策略
- UI界面及卡顿优化
- App启动优化
- ANR问题
- 包体积优化
- APK打包流程
- 电池电量优化
- Android屏幕适配
- 线上性能监控1--线上监控切入点
- 线上性能监控2--Matrix实现原理