会。
java导致内存泄露的原因很明确:长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,
但是因为长生命周期对象持有它的引用而导致不能被回收,这就是java中内存泄露的发生场景。
1.集合类,集合类仅仅有添加元素的方法,而没有相应的删除机制,导致内存被占用。这一点其实也不明确,这个集合类如果仅仅是局部变量,
根本不会造成内存泄露,在方法栈退出后就没有引用了会被jvm正常回收。而如果这个集合类是全局性的变量(比如类中的静态属性,全局性的map等即有静态引用或final一直指向它),
那么没有相应的删除机制,很可能导致集合所占用的内存只增不减,因此提供这样的删除机制或者定期清除策略非常必要。
2.单例模式。不正确使用单例模式是引起内存泄露的一个常见问题,单例对象在被初始化后将在JVM的整个生命周期中存在(以静态变量的方式),
如果单例对象持有外部对象的引用,那么这个外部对象将不能被jvm正常回收,导致内存泄露,考虑下面的例子:class A{
public A(){
B.getInstance().setA(this);}
....}
//B类采用单例模式class B{
private A a;
private static B instance=new B();
public B(){}
public static B getInstance(){
return instance;}

最新文章

  1. Node学习笔记(三):基于socket.io web版你画我猜(二)
  2. Gradle与Gatling脚本集成
  3. BZOJ 2120/BZOJ 2453
  4. jacob如何获取word文档的页码
  5. hdu 4630 树状数组
  6. 用keytool生成证书
  7. Bzoj 1565: [NOI2009]植物大战僵尸 最大权闭合图,拓扑排序
  8. Oracle core06_latch&lock
  9. [转]让程序在崩溃时体面的退出之CallStack
  10. jQuery创建节点
  11. JavaScript中的排序
  12. 解决Qt编译动态链接库could not find or load the Qt platform plugin "windows" in.问题
  13. 微信小程序的Web API接口设计及常见接口实现
  14. #WEB安全基础 : HTML/CSS | 0x10实现交互_表单
  15. AutoCAD设置透明度后不起效果
  16. tcl脚本直接执行脚本中中文识别不了的处理
  17. 理解Vuex的辅助函数mapState, mapActions, mapMutations用法
  18. 023 SpringMVC拦截器
  19. [学习笔记]后缀自动机SAM
  20. windows下node.js调用bat

热门文章

  1. 怎样使用VMware Workstation(虚拟机)
  2. luogu2038[NOIP2014 T4]无线网络发射器选址
  3. Git版本恢复命令reset(转载)
  4. Kali linux渗透测试常用工具汇总2-渗透攻击
  5. Meet Github
  6. mssql 2008 复制订阅
  7. C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 组织机构的名称编号是否允许重复?
  8. C118+Osmocom-bb+Openbts搭建小型基站
  9. PHP 对于 MYSQL 基础操作
  10. 前端备忘录 — IE 的条件注释