游族网络 后端开发 暑期实习一面面经

35min。

实习经历

jvm

jvm线上调优,就比如如果gc后,内存还是有很多对象怎么解决?

垃圾收集算法

Java内存区域分布情况:

有几种类加载器?

双亲委派?

为什么要这样弄几层类加载器:树、基类

在自定义的包下弄String类,可以使用吗?

Java并发

ScheduledExecutorService通过这个去问线程池的七个参数

synchronized 底层原理

synchronized如何使用?修饰实例方法、静态方法、代码块

mysql

mysql的锁可以分为哪几种? 行锁表锁、乐观锁悲观锁、读写锁

聚簇索引和非聚簇索引

Java基础

Integer缓存问题:

针对 new Integer(1) == (new Integer(1)),源码没有做特殊处理,就是 new 了两个不同的对象,他们当然是不相等的,返回 false;

针对 new Integer(1).equals(new Integer(1)),可以看一下 Integer.equals() 函数的实现,函数内部是直接比较两个对象的 value 是否相等,他们的 value 都是 1,所以返回 true;

针对 Integer.valueOf(1) == Integer.valueOf(1),就是我们前面提到的 IntegerCache 了,Integer.valueOf 会直接使用缓存好的对象,两个值相等,所以对象也是相同的,返回 true;

针对 Integer.valueOf(129) == Integer.valueOf(129),由于缓存的范围是 -128 ~ 127,值 129 显然是超出范围了,所以会 new 一个新对象,也不会相等,返回 false;

Java集合

ArrayList的源码

redis

持久化机制

5 种基本数据类型

#软件开发笔面经##牛客创作赏金赛#
全部评论

相关推荐

2 4 评论
分享
牛客网
牛客企业服务