自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 java常见的内存溢出及解决方法

引起内存溢出的常见原因大致有以下几种:1.内存中加载的数据量过大,一次从数据库取出过多数据导致内存溢出; 2.集合类中有对对象的引用,使用完后没有及时清空,使得 JVM 不能回收; 3.代码中存在死循环或循环产生过多重复的实体对象; 4. 启动参数的内存值设定过小导致内存不够用;常见内存溢出的解决方法:第一步,修改 JVM 启动参数,直接增加内存。第二步,检查错误日志,查看内存溢出错误前是否还有其它异常或错误。第三步,查代码,找出可能发生内存溢出的位置。 重点排查以下几点: 1.检查对数

2022-02-12 21:31:16 9753

原创 java 对象的引用与回收机制

1)强引用(Strong Reference):Object obj = new Object();只要强引用还存在,GC 永远不会回收掉被引用的对象。2)软引用(Soft Reference):描述一些还有用但非必需的对象。在系统将会发生内存溢出之前,会把这些对象列入 回收范围进行二次回收,也就是说系统将会发生内存溢出了,才会对他们进行回收。3)弱引用(Weak Reference):程度比软引用还要弱一些。这些对象只能生存到下次 GC 之前。当 GC 工作时扫描到,无论内存是否足够都会将其回收,

2022-02-12 20:53:38 893

原创 java如何判断一个对象是否死去?

简单直观的想到一个方法是:对一个对象添加引用计数器。每当有地方引用它时,计数器值加 1;当引用失效时,计 数器值减 1.而当计数器的值为 0 时这个对象就不会再被使用,判断为已死。但这种方法有些情况会不准确:比如对象 A 中有一个字段指向了对象 B,而对象 B 中 也有一个字段指向了对象 A,而事实上他们俩都不再使用,但计数器的值永远都不可能为 0,也就不会被回收,然后就发生了内存泄露。 正确的方法是:可达性分析. 所有生成的对象都是一个为"GCRoots"的根的子树。从 ...

2022-02-12 20:37:39 408

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除