问题 - JiyangM/spring GitHub Wiki

java基础

hashcode相等两个类一定相等吗?equals呢?相反呢?

hashCode相等,equals也不一定相等, 两个类也不一定相等

equals相同, 说明是同一个对象, 那么hashCode一定相同

哈希表是结合了直接寻址和链式寻址两种方式,所需要的就是将需要加入哈希表的数据首先计算哈希值,其实就是预先分个组,然后再将数据挂到分组后的链表后面,随着添加的数据越来越多,分组链上会挂接更多的数据,同一个分组链上的数据必定具有相同的哈希值,java中的hash函数返回的是int类型的,也就是说,最多允许存在2^32个分组,也是有限的,所以出现相同的哈希码就不稀奇了

重名的人很多, 名字相同, 但不是同一个人, hashCode就是名字, 人就是对象

介绍一下集合框架

https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Java%20%E5%AE%B9%E5%99%A8.md https://github.com/JiyangM/spring/wiki/Vector-and-CopyOnWriteArrayList https://github.com/JiyangM/spring/wiki/ConcurrentHashMap

hashmap hastable 底层实现什么区别?hashtable和concurrenthashtable呢?

hashmap和treemap什么区别?低层数据结构是什么?

线程池用过吗都有什么参数?底层如何实现的?

https://github.com/JiyangM/spring/wiki/Executors https://blog.csdn.net/zhangliangzi/article/details/52389766

sychnized和Lock什么区别?sychnize 什么情况情况是对象锁? 什么时候是全局锁为什么?

https://blog.csdn.net/u012403290/article/details/64910926

ThreadLocal 是什么底层如何实现?写一个例子呗?

https://github.com/JiyangM/spring/wiki/ThreadLocal

volitile的工作原理?

https://github.com/JiyangM/spring/wiki/volatile

cas知道吗如何实现的?

请用至少四种写法写一个单例模式


jvm

1、请介绍一下JVM内存模型??用过什么垃圾回收器都说说呗?

https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Java%20%E8%99%9A%E6%8B%9F%E6%9C%BA.md

2、线上发送频繁full gc如何处理? CPU 使用率过高怎么办?

如何定位问题?如何解决说一下解决思路和处理方法

3、知道字节码吗?字节码都有哪些?Integer x =5,int y =5,比较x =y 都经过哪些步骤?

4、讲讲类加载机制呗都有哪些类加载器,这些类加载器都加载哪些文件?

手写一下类加载Demo

5、知道osgi吗? 他是如何实现的???

6、请问你做过哪些JVM优化?使用什么方法达到什么效果???