
网易雷火一面(3.21)
没想到雷火来学校宣讲,我投了个简历就走,居然还捡漏得了一次现场面试的机会!!!
不过本来以为这周剩下的日子应该会悠闲一些的,没想到一个下午给我干了2场面试😓,强度拉满了属于是
这次被狠狠拷打java底层了~~~
redis 的zset如何实现
- 跳表
hashmap的红黑树是按什么值排序的,如果是system的地址值,不是会以为gc移动位置而改变吗
- systemhashcode是根据对象初始内存地址哈希运算后得到的值
arraylist具体怎么扩容,原地扩容还是先申请1.5倍大小的数组拷贝过去
arraylist扩容空间不够怎么办(实际有1.1w的内存,但是目标是扩容到1.5w,不够)
arraylist存不了基本类型,存包装类又开销太大,可以怎么解决
arraylist 的clear如何实现,会释放空间吗,还是单纯赋值null
threadlocal 如何保证线程副本
threadlocalmap 何时分配
java的弱引用怎么实现的
java gc策略,如何标记需要被gc的对象
- 可以作为 GC Roots的对象:(特征:当前一定不会死亡的对象)
- 虚拟机栈引用的对象(当前方法正在运行,局部变量引用的对象必须存活,比如 Integer a=b; a是局部变量,b是被a引用的对象)
- 本地方法栈(Native 方法)、JNI(Java Native Interface)引用的对象(非java实现的对象,JVM 无法回收,由实现的语言管理)
- 方法区中类静态属性引用、常量引用的对象(静态变量的生命周期与类绑定,除非类被卸载,否则静态变量引用的对象必须存活。)
- 所有被同步锁持有的对象
- 可以作为 GC Roots的对象:(特征:当前一定不会死亡的对象)
三色标记法以什么对象为根,标记为白色就直接回收吗,二次判断回收是怎么判断的
类加载过程
静态代码块抛出异常怎么办
- 原则上不允许静态代码块出现异常,如果真的出现,应该直接catch处理掉
- 静态代码块是在类加载的时候就执行了,而执行的过程中,如果出现错误,那么这个类就初始化失败。
- 当类初始化失败时,任何使用该类的代码都可能抛出 ExceptionInInitializerError。
非对称加密为什么消耗大