文章目录
-
-
- 1. JAVA中的几种基本数据类型是什么,各自占用多少字节。
- 2. String类能被继承吗,为什么。
- 3. String,Stringbuffer,StringBuilder的区别。
- 4. ArrayList和LinkedList有什么区别。
- 5. 讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,当new的时候,他们的执行顺序。
- 6. 用过哪些Map类,都有什么区别,HashMap是线程安全的吗,并发下使用的Map是什么,他们内部原理分别是什么,比如存储方式,hashcode,扩容,默认容量等。
- 7. ConcurrentHashMap为什么放弃了分段锁,有什么问题吗,如果你来设计,你如何设计。
- 8. 有没有有顺序的Map实现类,如果有,他们是怎么保证有序的。
- 9. 抽象类和接口的区别,类可以继承多个类么,接口可以继承多个接口么,类可以实现多个接口么。
- 10. 继承和聚合的区别在哪。
- 11. IO模型有哪些,讲讲你理解的nio ,他和bio,aio的区别是啥,谈谈reactor模型。
- 12. 反射的原理,反射创建类实例的三种方式是什么。
- 13. 反射中,Class.forName和ClassLoader区别 。
- 14. 描述动态代理的几种实现方式,分别说出相应的优缺点。
- 15. 动态代理与cglib实现的区别。
- 16. 为什么CGlib方式可以对接口实现代理。
- 17. final的用途。
- 18. 写出三种单例模式实现 。
- 19. 请结合OO设计理念,谈谈访问修饰符public、private、protected、default在应用设计中的作用。
- 21. 数组和链表数据结构描述,各自的时间复杂度。
- 22. error和exception的区别,CheckedException,RuntimeException的区别。
- 23. 请列出5个运行时异常。
- 24. 在自己的代码中,如果创建一个java.lang.String类,这个类是否可以被类加载器加载?为什么。
- 26. 说一说你对java.lang.Object对象中hashCode和equals方法的理解。在什么场景下需要重新实现这两个方法。
- 27. 泛型的存在是用来解决什么问题。
- 28. 有没有可能2个不相等的对象有相同的hashcode。
- 29. Java中的HashSet内部是如何工作的。
- 30. 什么是序列化,怎么序列化,为什么序列化,反序列化会遇到什么问题,如何解决。
- 31. java8的新特性。
-
1. JAVA中的几种基本数据类型是什么,各自占用多少字节。
数据类型 | 字节 | 范围 | 默认值 | 备注 |
---|---|---|---|---|
byte | 1 | -2^7 ~ 2^7-1 |
0 | byte数据类型是8位、有符号的,以二进制补码表示的整数 |
short | 2 | -2^15 - 2^15-1 |
0 | short 数据类型是 16 位、有符号的以二进制补码表示的整数 |
int | 4 | -2^31 - 2^31-1 |
0 | int 数据类型是32位、有符号的以二进制补码表示的整数 |
long | 8 | -2^63 - 2^63-1 |
0L | long 数据类型是 64 位、有符号的以二进制补码表示的整数 |
float | 6 | -2^31 - 2^31-1 |
0.0f | float 数据类型是单精度、32位、符合IEEE 754标准的浮点数 |
double | 8 | -2^63 - 2^63-1 |
0.0d | double 数据类型是双精度、64 位、符合 IEEE 754 标准的浮点数 |
char | 2 | 最小值是 \u0000 (十进制等效值为 0);大值是< |