- Object对象的默认方法
- wait()方法的作用,一般跟什么函数一起使用
- final关键字作用?可以修饰类吗?
- 了解哪些map?TreeMap了解过吗?LinkedHashMap了解过吗?
- HashMap的put过程?resize过程?为什么线程不安全,具体表现是?
- HashTable的实现原理?ConcurrentHashMap如何保证线程安全?
- sychronized的作用?实现原理?可以修饰方法吗?可以修饰类吗?(不可以)假设synchronized修饰了一个非静态方法,我new一个这个类的对象A,new一个普通对象B,两个线程分别通过A、B访问synchronized方法,他们会相互干扰吗?(不会)
- 线程池有哪些类型?FixedThreadPool和CachedThreadPool有什么区别?你说的这些线程池对象是类吗?(不是,都是ThreadPoolExecutor的方法,不过是传了不同的参数)
- 讲一下ThreadLocal的底层实现原理?ThreadLocal可能存在的问题是?你在项目中是怎么使用ThreadLocal的?描述下问题场景和解决过程?
- java 基础类型和包装类型的区别是什么?(Integer可以为null)在什么情况下会使用包装类型?
- 如何优化sql语句?
- 你知道索引类型有哪些?
- 用过redis吗?分布式锁如何实现?set key value expireTiem nx|xx这种方式可能存在什么问题?如何解决?例如,线程A set了这个key,10s过期时间到达了,线程B又可以set这个key,但是A还没有执行完,又过了2s,线程A执行完了,在结束时执行了删除key的代码,怎么办?(可以在加锁的时候把线程ID当做value,删除的时候验证value是不是自己,使用lua将判断+删除两个操作结合起来变成原子性操作)
- spring AOP概念?实现原理?我要定义一个切面类,除了@Aspect注解还需要用什么注解?
- spring事务的几种模式讲一下?
- 登录注册功能如何标识一个用户?在客户端怎么实现?在服务器端怎么实现?