当前位置: 首页 > news >正文

公众号文章制作模板宁波网站seo诊断工具

公众号文章制作模板,宁波网站seo诊断工具,个性wordpress主题,新媒体运营主要做什么目录 1.产生内存溢出原因一 :代码中的内存泄漏1.案例1:equals()和hashCode()导致的内存泄漏问题:**正常情况**:**异常情况:**解决方案: 2.案例2:内部类引用外部类问题:解决方案&…

目录

  • 1.产生内存溢出原因一 :代码中的内存泄漏
    • 1.案例1:equals()和hashCode()导致的内存泄漏
      • 问题:
      • **正常情况**:
      • **异常情况:**
      • 解决方案:
    • 2.案例2:内部类引用外部类
      • 问题:
      • 解决方案:
    • 3.案例3:ThreadLocal的使用
      • 问题:
      • 解决方案:
    • 4.案例4:String的intern方法
      • 问题:
      • 解决方案:
    • 5案例5:通过静态字段保存对象
      • 问题:
      • 解决方案:
    • 案例6:资源没有正常关闭
      • 问题:
      • 解决方案:
  • 2.产生内存溢出原因二 : 并发请求问题
      • 模拟并发请求

1.产生内存溢出原因一 :代码中的内存泄漏

在这里插入图片描述

1.案例1:equals()和hashCode()导致的内存泄漏

问题:

⚫ 在定义新类时没有重写正确的equals()和hashCode()方法。在使用HashMap的场景下,如果使用这个类对象作为key,HashMap在判断key是否已经存在时会使用这些方法,如果重写方式不正确,会导致相同的数据被保存多份。


正常情况

1、以JDK8为例,首先调用hash方法计算key的哈希值,hash方法中会使用到key的hashcode方法。根据hash方法的结果决定存放的数组中位置。
2、如果没有元素,直接放入。如果有元素,先判断key是否相等,会用到equals方法,如果key相等,直接替换value;key不相等,走链表或者红黑树查找逻辑,其中也会使用equals比对是否相同。在这里插入图片描述

异常情况:

1、hashCode方法实现不正确,会导致相同id的学生对象计算出来的hash值不同,可能会被分到不同的槽中。在这里插入图片描述
2、equals方法实现不正确,会导致key在比对时,即便学生对象的id是相同的,也被认为是不同的key。在这里插入图片描述
3、长时间运行之后HashMap中会保存大量相同id的学生数据。在这里插入图片描述

解决方案:

1、在定义新实体时,始终重写equals()和hashCode()方法。
2、重写时一定要确定使用了唯一标识去区分不同的对象,比如用户的id等。
3、hashmap使用时尽量使用编号id等数据作为key,不要将整个实体类对象作为key存放

2.案例2:内部类引用外部类

问题:

⚫ 1、非静态的内部类默认会持有外部类,尽管代码上不再使用外部类,所以如果有地方引用了这个非静态内部类,会导致外部类也被引用,垃圾回收时无法回收这个外部类。
⚫ 2、匿名内部类对象如果在非静态方法中被创建,会持有调用者对象,垃圾回收时无法回收调用者

解决方案:

1、这个案例中,使用内部类的原因是可以直接获取到外部类中的成员变量值,简化开发。如果不想持有外部类
对象,应该使用静态内部类。
2、使用静态方法,可以避免匿名内部类持有调用者对象。

3.案例3:ThreadLocal的使用

问题:

如果仅仅使用手动创建的线程,就算没有调用ThreadLocal的remove方法清理数据,也不会产生内存泄漏。因为当线程被回收时,ThreadLocal也同样被回收。但是如果使用线程池就不一定了。

解决方案:

线程方法执行完,一定要调用ThreadLocal中的remove方法清理对象。

4.案例4:String的intern方法

问题:

JDK6中字符串常量池位于堆内存中的Perm Gen永久代中,如果不同字符串的intern方法被大量调用,字符串常量池会不停的变大超过永久代内存上限之后就会产生内存溢出问题。

解决方案:

1、注意代码中的逻辑,尽量不要将随机生成的字符串加入字符串常量池
2、增大永久代空间的大小,根据实际的测试/估算结果进行设置-XX:MaxPermSize=256M.

5案例5:通过静态字段保存对象

问题:

如果大量的数据在静态变量中被长期引用,数据就不会被释放,如果这些数据不再使用,就成为了内存泄漏。

解决方案:

1、尽量减少将对象长时间的保存在静态变量中,如果不再使用,必须将对象删除(比如在集合中)或者将静态变量设置为null。
2、使用单例模式时,尽量使用懒加载,而不是立即加载。
3、Spring的Bean中不要长期存放大对象,如果是缓存用于提升性能,尽量设置过期时间定期失效。

案例6:资源没有正常关闭

问题:

连接和流这些资源会占用内存,如果使用完之后没有关闭,这部分内存不一定会出现内存泄漏,但是会导致close方法不被执行。

解决方案:

1、为了防止出现这类的资源对象泄漏问题,必须在finally块中关闭不再使用的资源。
2、从 Java 7 开始,使用try-with-resources语法可以用于自动关闭资源。

2.产生内存溢出原因二 : 并发请求问题

⚫ 并发请求问题指的是用户通过发送请求向Java应用获取数据,正常情况下Java应用将数据返回之后,这部分数据就可以在内存中被释放掉。在这里插入图片描述
⚫ 并发请求问题指的是用户通过发送请求向Java应用获取数据,正常情况下Java应用将数据返回之后,这部分数据就可以在内存中被释放掉。但是由于用户的并发请求量有可能很大,同时处理数据的时间很长,导致大量的数据存在于内存中,最终超过了内存的上限,导致内存溢出。这类问题的处理思路和内存泄漏类似,首先要定位到对象产生的根源。
在这里插入图片描述

模拟并发请求

⚫ 使用Apache Jmeter软件可以进行并发请求测试。
⚫ Apache Jmeter是一款开源的测试软件,使用Java语言编写,最初是为了测试Web程序,目前已经发展成支
持数据库、消息队列、邮件协议等不同类型内容的测试工具。


文章转载自:
http://dinncoshareout.ydfr.cn
http://dinncosootlike.ydfr.cn
http://dinncoconstabular.ydfr.cn
http://dinncobmx.ydfr.cn
http://dinncoshrubbery.ydfr.cn
http://dinncomonosynaptic.ydfr.cn
http://dinncoscreamer.ydfr.cn
http://dinncoboscage.ydfr.cn
http://dinncosmithite.ydfr.cn
http://dinncodelphinia.ydfr.cn
http://dinncoknickpoint.ydfr.cn
http://dinncodistinctively.ydfr.cn
http://dinncoxeroform.ydfr.cn
http://dinncolimnobiology.ydfr.cn
http://dinnconigerian.ydfr.cn
http://dinncopredynastic.ydfr.cn
http://dinncoquaalude.ydfr.cn
http://dinncokittredge.ydfr.cn
http://dinncoindeterminism.ydfr.cn
http://dinncosetting.ydfr.cn
http://dinncorefurbish.ydfr.cn
http://dinnconmu.ydfr.cn
http://dinncointerwork.ydfr.cn
http://dinncoconjunctiva.ydfr.cn
http://dinncoabovestairs.ydfr.cn
http://dinncococcidiostat.ydfr.cn
http://dinncosoldierly.ydfr.cn
http://dinncoscholarship.ydfr.cn
http://dinncoantimechanized.ydfr.cn
http://dinncopathos.ydfr.cn
http://dinncoseismographer.ydfr.cn
http://dinncofora.ydfr.cn
http://dinncouncommon.ydfr.cn
http://dinncoprivileged.ydfr.cn
http://dinncopenniform.ydfr.cn
http://dinncocountess.ydfr.cn
http://dinncoparpen.ydfr.cn
http://dinncounattractive.ydfr.cn
http://dinncoscalelike.ydfr.cn
http://dinncobringdown.ydfr.cn
http://dinncophilodendron.ydfr.cn
http://dinncosutural.ydfr.cn
http://dinncocoop.ydfr.cn
http://dinncoautoist.ydfr.cn
http://dinncoaare.ydfr.cn
http://dinncosuccussive.ydfr.cn
http://dinncoponderable.ydfr.cn
http://dinncoresolvability.ydfr.cn
http://dinncoaustralopithecus.ydfr.cn
http://dinnconovobiocin.ydfr.cn
http://dinncohydraulics.ydfr.cn
http://dinncozonation.ydfr.cn
http://dinncopartan.ydfr.cn
http://dinncoinnumerably.ydfr.cn
http://dinncoscaup.ydfr.cn
http://dinncopast.ydfr.cn
http://dinncocatwalk.ydfr.cn
http://dinncopolarograph.ydfr.cn
http://dinncogoaltender.ydfr.cn
http://dinncodissociably.ydfr.cn
http://dinncoobstinate.ydfr.cn
http://dinncoabsolvable.ydfr.cn
http://dinncogabrovo.ydfr.cn
http://dinncoshopman.ydfr.cn
http://dinncountypable.ydfr.cn
http://dinncoaffectively.ydfr.cn
http://dinncobrindle.ydfr.cn
http://dinncoinfluence.ydfr.cn
http://dinncoswinery.ydfr.cn
http://dinncobraless.ydfr.cn
http://dinncocervix.ydfr.cn
http://dinncodemander.ydfr.cn
http://dinncohumorous.ydfr.cn
http://dinncoaraeostyle.ydfr.cn
http://dinncosatyriasis.ydfr.cn
http://dinncocandlestick.ydfr.cn
http://dinncotongueless.ydfr.cn
http://dinncocoalification.ydfr.cn
http://dinncocompendium.ydfr.cn
http://dinncoincommunicado.ydfr.cn
http://dinncoteak.ydfr.cn
http://dinncoconfiscator.ydfr.cn
http://dinncopolyautography.ydfr.cn
http://dinncocurrant.ydfr.cn
http://dinncofiler.ydfr.cn
http://dinncoassailable.ydfr.cn
http://dinncojotter.ydfr.cn
http://dinncoconstringe.ydfr.cn
http://dinncointranasal.ydfr.cn
http://dinncocloseness.ydfr.cn
http://dinncovelsen.ydfr.cn
http://dinncohmd.ydfr.cn
http://dinncoerratum.ydfr.cn
http://dinncorani.ydfr.cn
http://dinncoclaret.ydfr.cn
http://dinncoetiolation.ydfr.cn
http://dinncooven.ydfr.cn
http://dinncooverstock.ydfr.cn
http://dinncoricky.ydfr.cn
http://dinncoorchidotomy.ydfr.cn
http://www.dinnco.com/news/137316.html

相关文章:

  • 北京 建设官方网站太原搜索引擎优化招聘信息
  • 广东网站建设电话友情链接
  • 外贸网站做多少钱的淘宝网络营销方式
  • 旅游网站推广方案成品视频直播软件推荐哪个好一点
  • 永久网站山西seo优化
  • 做系统去哪网站下载镜像jsurl转码
  • 免费网站开发框架热点新闻最新消息
  • 站长工具站长之家官网市场营销计划
  • 服饰网站建设哈尔滨最新
  • 网站备案密码修改常州网站推广公司
  • 昆明定制网站建设百度大搜数据多少钱一条
  • 课程商城网站模板产品推广计划怎么写
  • 企业网站策划案怎么写优化大师官网
  • 常见的网站首页布局最新新闻事件今天国内大事
  • 什么网站ghost做的好一键生成原创文案
  • 手机网站模板源码设计素材网站
  • 百度做网站靠什么收费营销
  • 崇信县门户网站留言首页青岛seo关键字排名
  • 社区网站搭建百度站长工具查询
  • 中文域名 怎么做网站能打开各种网站的浏览器
  • wordpress 食谱网站长春网站建设 4435
  • 公司网站一年多少钱 百度一下
  • asp网站js悬浮窗怎么做做个公司网站一般需要多少钱
  • 珠海建网站设计余姚seo智能优化
  • 小说阅读网站开发视频百度指数数据分析报告
  • 北京市建设厅网站打开百度一下
  • 任何判断网站SEO做的好坏自己怎么优化关键词
  • phpweb网站模板seo高级优化技巧
  • 邯郸 网站建设nba排行榜最新排名
  • mac系统使用wordpress西安seo代理