JAVA面试场景题

1、Java堆内存溢出怎么解决

堆内存溢出一般是年老代溢出。当程序不断地创建大量对象实例并且没有被GC回收时,就容易产生内存溢出。

堆内存溢出很可能伴随内存泄漏,应首先排查可能泄露的对象,再通过工具检查GC roots引用链,从而发现泄露对象是由于何种引用关系使得GC无法回收他们;若不存在内存泄漏,换句话说就是内存中的对象还都需要继续存活,则可通过修改虚拟机的堆参数将堆内存增大。

2、java内存泄露的排查思路

1、内存溢出:你申请了10个字节的空间,但是你在这个空间写入11或以上字节的数据,出现溢出。
2、内存泄漏:你用new申请了一块内存,后来很长时间都不再使用了(按理应该释放),但是因为一直被某个或某些实例所持有导致 GC 不能回收,也就是该被释放的对象没有释放。

内存泄漏就是存在一些被分配的对象,这些对象有下面两个特点:
1)首先,这些对象是可达的,即在有向图中,存在通路可以与其相连;
2)其次,这些对象是无用的,即程序以后不会再使用这些对象。
如果对象满足这两个条件,这些对象就可以判定为Java中的内存泄漏,这些对象不会被GC所回收,然而它却占用内存。(或者引用计数器不为零,循环引用)

内存泄露的发现?

如果频繁出现fullGC说明可能有内存泄露的概率

3、CAS的ABA问题如何解决?

通过给数据加版本号的方式

 

面试海量数据处理题总结_向着星辰大海-CSDN博客_海量数据面试题

教你如何迅速秒杀掉:99%的海量数据处理面试题_结构之法 算法之道-CSDN博客 

海量数据处理面试题集锦_结构之法 算法之道-CSDN博客_海量数据处理面试题 

从Trie树(字典树)谈到后缀树(10.28修订)_结构之法 算法之道-CSDN博客_trie 树 

面试必须掌握的十个海量数据问题及解决方案_hitxueliang的专栏-CSDN博客_海量数据问题 

面试经典的海量数据处理(TOPK)问题—转载+个人见解!_Much effort, much prosperity.-CSDN博客_海量数据topk 

十道海量数据处理面试题与十个方法大总结_tianyue168的专栏-CSDN博客 

  • 2
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值