问题来自一个线上GC频繁的应用,观察到老年代一直gc下不去导致应用被gc STW卡主假死,检查代码发现这样一段代码,感觉可疑

代码如下:

public class WriteEsWork {

public static void write(List<EsIndexInfo> esList, String index, ESClusterEnum cluster, Worker worker) {

execServer.submit(new WriteESRunnable(esList, index, cluster, worker));

}

private static class WriteESRunnable implements Runnable {

private List<EsIndexInfo> esList;

...

}

}

jmap查到WriteESRunnable 这个对象有不少8000多个,一个对象等于一个线程,EsIndexInfo这个对象也很多。

问题:WriteESRunnable 是一个静态内部类,这个类只会在静态方法write被调用的时候 new对象到线程池,那么当这个线程执行完成后,WriteESRunnable 对象会被释放吗?还是因为他是内部静态类会一直保留引用?

如果不释放就说明确实是因为这个问题导致WriteESRunnable 和EsIndexInfo对象堆积太久。

如果释放的话 那就是另一种可能 线程再线程池等待队列堆积的太多了。

还请朋友们帮忙分析!谢谢

java static new_java静态类new的对象是否能被回收?相关推荐

  1. java 静态类 new_java静态类new的对象是否能被回收?

    问题来自一个线上GC频繁的应用,观察到老年代一直gc下不去导致应用被gc STW卡主假死,检查代码发现这样一段代码,感觉可疑 代码如下: public class WriteEsWork { publ ...

  2. 【Kotlin】Kotlin 单例 ( 懒汉式 与 恶汉式 | Java 单例 | Kotlin 单例 | 对象声明 | 伴生对象 | get 方法 | ? 与 !! 判空 )

    文章目录 I . 单例的懒汉式与恶汉式 II . Java 中的懒汉式与恶汉式 III . Kotlin 中对应 Java 的懒汉式与恶汉式 IV . Kotlin 对象 ( object ) 声明 ...

  3. java 静态类的实现_[Java教程]Javascript 静态类的实现

    [Java教程]Javascript 静态类的实现 0 2012-04-06 11:00:05 早些天写过了类的实现,接着我们看看的静态类的实现.这东西在Javascript里用得会非常的频繁,因为针 ...

  4. asp java 变量_ASP_用stack变量优化Java代码,  java程序包含了大量的对象 - phpStudy...

    用stack变量优化Java代码 java程序包含了大量的对象,我们需要了解它们是从哪里被访问的,变量存储于何处对程序的性能有显著的影响--尤其是某些需要被频繁访问的变量. 我们写一个Java类,在其 ...

  5. Java避免创建不必要的对象

    小Alan最近看到了<Effective Java>这本书,这本书包含的内容非常丰富,这本书我就不多介绍了,只能默默的说一句,作为一名java开发错过了这本书难免会成为一个小遗憾,所以还是 ...

  6. java static用法_Java中static关键字的作用和用法详细介绍

    static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static ...

  7. 万物皆对象java_又一次认识java(一) ---- 万物皆对象

    假设你现实中没有对象.至少你在java世界里会有茫茫多的对象,听起来是不是非常激动呢? 对象,引用,类与现实世界 现实世界里有许很多多的生物,非生物,跑的跳的飞的,过去的如今的未来的,令人眼花缭乱.我 ...

  8. java static method_java static关键字静态方法详解,静态方法实例分享

    之前给大家介绍了一下java static关键字静态变量,那么下面要接着给大家介绍的就是静态方法,主要有成员方法涵盖内容以及静态方法与实例方法的区别以及实例介绍. 和成员变量相似,成员方法也能够分成下 ...

  9. Java中,一切皆是对象,为何数据类型中还分为:基本类型和对象?

    Java中,一切皆是对象!为何数据类型中还分为:基本类型和对象?按理不应该只有一个类型-对象吗? 1.首先,Java中一切皆是对象!这句话没错,因为八种基本类型都有对应的包装类(int的包装类是Int ...

最新文章

  1. pytorch 之手写数字生成网络
  2. 大学生有必要学python吗_大学生学python到底有没有用?
  3. WPF中的Attached Property
  4. 政府门户网站建设解决方案
  5. 2.9 logistic 回归中的梯度下降法
  6. 蓝芯保护卡_有个网友问偶蓝芯卡是目前最好的还原卡?它与传统还原卡的区别在哪里?...
  7. Python类继承对象
  8. QQ浏览器11版,中文输入法定位错误
  9. qt按钮功能循环触发_Qt事件循环处理
  10. 关于理财、专户、基金与避税
  11. HTTP协议基础及报文抓包分析
  12. java求航班飞行时间代码,基于JAVA的航班动态接口调用代码实例
  13. Mac系统升级后开发者证书不被信任,报错/usr/bin/codesign --force --sign
  14. html 页面文字不能复制粘贴,网页无法复制文字怎么办
  15. 使用计算机组成原理全加器设计,杭电计算机组成原理全加器设计实验1
  16. aseprite手机版_Voxel像素画体素模型转拼豆图纸方法
  17. 重置计算机网络配置后上不了网,win10系统网络重置后不能连接网络如何解决
  18. 如何往虚拟机里面复制文件(末尾附带视频教程)
  19. java练习题(set集合)
  20. PostgreSQL 数据库安全指南

热门文章

  1. C# 7 中的模范和实践
  2. 微软确认5月2日召开新品发布会 8天后就是Build 2017大会
  3. 关于Dapper.NET的相关论述
  4. 走过20年……你出现在哪里?
  5. 写一个高性能的敏感词检测组件
  6. PS2019进阶笔记(二)
  7. Django03: django加入APP
  8. ReSharper 2020.2 补丁
  9. 【QGIS入门实战精品教程】4.4:QGIS如何将点自动连成线、线生成多边形?
  10. C#中泛型在Class上的实现