-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Java面试题
cxuan edited this page Oct 30, 2020
·
23 revisions
- Java 有哪些特点
- 描述一下值传递和引用传递的区别
- == 和 equals 区别是什么
- String 中的 equals 是如何重写的
- 为什么重写 equals 方法必须重写 hashcode 方法
- String s1 = new String("abc") 在内存中创建了几个对象
- String 为什么是不可变的、jdk 源码中的 String 如何定义的、为什么这么设计。
- static 关键字是干什么用的?谈谈你的理解
- final 关键字是干什么用的?谈谈你的理解
- 抽象类和接口的区别是什么
- 重写和重载的区别
- byte的取值范围是多少,怎么计算出来的
- HashMap 和 HashTable 的区别
- HashMap 和 HashSet 的区别
- HashMap 的底层结构
- HashMap 的长度为什么是 2 的幂次方
- HashMap 多线程操作导致死循环问题
- HashMap 线程安全的实现有哪些
- 讲一下 HashMap put 的过程
- ConcurrentHashMap 底层实现
- Integer 缓存池
- UTF-8 和 Unicode 的关系
- 项目为 UTF 8 环境,char c = '中',是否合法
- Arrays.asList 获得的 List 应该注意什么
- Collection 和 Collections 的区别
- 你知道 fail-fast 和 fail-safe 吗
- ArrayList、LinkedList 和 Vector 的区别
- Exception 和 Error 有什么区别
- String、StringBuilder 和 StringBuffer 有什么区别
- 动态代理是基于什么原理
- int 和 Integer 的区别
- Java 提供了哪些 I/O 方式
- 谈谈你知道的设计模式
- Comparator 和 Comparable
- Object 类中一般都有哪些方法
- Java 泛型和类型擦除
- 反射的基本原理,反射创建类实例的三种方式是什么
- 强引用、若引用、虚引用和幻象引用的区别
- final、finally 和 finalize() 的区别
- 内部类有哪些分类,分别解释一下
- 说出几种常用的异常
- 静态绑定和动态绑定的区别
- 在 Java 多线程中,notify 和 notifyall 的区别是 ?
- 描述一下 Java 动态代理的运行原理
- CountDownLatch 和 CyclicBarrier 的区别
- synchronized 和 ReentrantLock的区别
- 你项目中使用优雅的判空方式
- synchronized 锁升级流程
- ThreadPoolExecutor 的构造方法都有哪些参数,分别代表什么意思?
- Threadlocal 是否存在内存泄漏问题?
- 聊一聊 线上 oom 的排查方案?
- 简单说说你了解的类加载器,可以打破双亲委派么,怎么打破?
- 什么是一致性哈希?