顾乔芝士网

持续更新的前后端开发技术栈

面试之jvm常见错误,你只知道NPE?

1. Java.lang.stackoverflow

方法递归调用,死循环,栈空间溢出

2. java.lang.outofmemory : java heap space

超出堆内存空间的大小,一般是堆内存不够用,对象过多,没有回收

3. java.lang.outofmemory: gc overhead limit excceed

98%的cpu时间用来进行垃圾回收,只有2%的cpu时间执行用户线程 事倍功微

CPU的使用率一直是满负荷的,没有运行用户这种情况虚拟机只好抛出错误来终止程序的执行

4. java.lang.outofmemory:direct byte buffer

直接内存溢出 NIO ByteBuf 分配堆外内存,空间不足就报错

5.java.lang.outofmemory: can not create native thread

每个linux服务器创建的线程数量是有限的,默认1024

如果线程数量达到最大值,会报错,可以修改linux配置 并且每个线程的栈空间大小由xss设置

6.java.lang.outpfmemory: metaspace

方法区由原先的permspace迁移到元数据区

主要存放的虚拟机加载的类信息,即时编译后的代码

你还知道哪些错误呀?

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言