集合
- 介绍一下集合框架?常用类及其方法?
- List接口、Set接口和Map接口的区别?
- 说出ArrayList,Vector,LinkedList的存储性能和特性?
- HashMap和HashTable的区别?
- HashMap的底层原理?
- concurrentHashMap的底层原理?
- Arrays和Collections 对于sort的不同实现原理?
- comparable与comparator的区别?
- 哪些集合类是线程安全的?
- HashMap什么时候会造成线程安全问题?
- 与Java集合框架相关的有哪些最好的实践?
I/O
- 介绍一下Java I/O?常见类,字节流,字符流、接口、实现类有哪些?
- Java中有几种类型的流?他们的区别是什么?
- PrintStream、BufferedWriter、PrintWriter的比较?
- 讲讲nio的底层实现?
- Java NIO和IO的区别?
- 什么是java序列化,如何实现java序列化?
- 解释一下java.io.Serializable接口?
- 讲讲netty中的高性能IO模型?
- FileInputStream 在使用完以后,不关闭流,想二次使用可以怎么操作?
多线程
- Thread的notify()和notifyAll()的区别?notifiy()是唤醒的那一个线程?
- Thread.sleep()唤醒以后是否需要重新竞争?
- Java 线程有哪些状态,这些状态之间是如何转化的?
- Java线程间的通信方式?
- 线程池的概念?都有什么参数?底层是怎么实现的?
- 阻塞队列的概念?
- Volatitle是什么?Volatitle的特征?Volatitle的内存语义?Volatitle的重排序?
- 内存屏障/内存栅栏?
- happens-before原则?
- ArrayBlockQueue是怎么保证多个线程不会取到同一个任务的?
- ReentrantLock和synchronized的区别?
- synchronize和Lock接口的区别是什么?synchronize什么情况下是对象锁?什么情况下是全局?为什么?
- ThreadLocal如何使用的?说出在项目中的例子?底层实现是什么?
- 对线程monitor的理解?
- 锁的优化策略?
- Java中CAS算法?
高级特性
- java 中所有类的父类是什么?该类有哪些方法?
- 抽象类和接口的差别?
- Java中重载和重写有什么区别?分别用什么关键字?
- 对于Java中多态的理解?
- Java中的equals和hashCode方法详解?hashcode相等的两个对象一定相等吗?equals了?反过来相等吗?
- Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?Java默认序列化如何做的?哪些字段不会被序列化?
- 反射讲一讲,主要是概念,都在哪需要反射机制,反射的性能,如何优化?
- Java异常的层次结构和继承关系?常用异常类型?
- JDK7和JDK8的新特性?
网友评论