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

网站建设军成图片设计制作软件

网站建设军成,图片设计制作软件,北京seo排名技术,做网站通栏模糊我们知道Java中的对象一般存放在堆中#xff0c;但是总不能让这些对象一直占着内存空间#xff0c;这些对象最终都会被回收并释放内存#xff0c;那么我们如何判断对象已经成为垃圾呢#xff1f;这篇文章会提出两种算法解决这个问题。另外#xff0c;本文还要谈一谈对象引…我们知道Java中的对象一般存放在堆中但是总不能让这些对象一直占着内存空间这些对象最终都会被回收并释放内存那么我们如何判断对象已经成为垃圾呢这篇文章会提出两种算法解决这个问题。另外本文还要谈一谈对象引用相关的知识这在面试中也是经常被问到的问题。判断对象是否存活算法引用计数算法引用计数算法的原理比较简单在对象中添加一个引用计数器当有一个引用指向一个对象时这个对象的引用计数器会加1当引用不再指向对象时引用计数器便减1。当引用计数器的值为0时说明对象已经成为垃圾。引用计数算法的优点是算法非常简单效率也比较高。但是Java并没有使用这种算法管理内存这是为什么呢我们先来看看下面这段代码。public class Demo {public static void main(String[] args) {Obj obj1 new Obj();Obj obj2 new Obj();obj1.instance obj2;obj2.instance obj1;obj1 null;obj2 null;}}class Obj {public Obj instance;public Obj() {super();}}我们看一下上面这段代码两个对象obj1和obj2的instance分别指向对方造成了循环引用。即便最后obj1和obj2都置为空但它们的instance还是指向对方如果我们使用这种算法这两个对象势必无法回收最终造成内存泄漏。因此Java没有选择使用引用计数算法管理内存。可达性分析算法(根搜索算法)主流的商用编程语言(Java、C#以及上古语言Lisp)都是用这种算法进行对象是否存活的判断。根搜索算法利用GC Roots作为起始节点集从这些节点开始向下搜索凡是能够到达的节点都是存活节点不能到达的节点都不再会被使用这些节点的对象都可以被回收。Java技术体系中可以作为GC Roots的对象有以下几种虚拟机栈(栈帧的本地变量表)中引用的对象方法区中类静态属性引用的对象方法区中常量引用的对象本地方法栈中JNI(及native方法)引用的对象虚拟机内部的引用比如基本数据类型对应的Class对象一些常驻的异常对象(如NullPointerException、OutOfMemoryError)等还有类加载器。被同步锁(synchronized)持有的对象反映Java虚拟机内部情况的JMXBean、JVMTI注册的回调本地代码缓存等另外需要补充的是即便被可达性分析算法标记为不可达对象这些对象也未必一定会被回收。事实上被标记为不可达对象后这个对象还需要经历第二次标记才可能会被宣布正式死亡。当第一次标记以后会判断对象有没有必要执行finalize()方法。当对象没有覆盖finalize()方法或已经被虚拟机调用过的话就被判定没有必要再继续执行了。当有必要执行finalize()方法时这些对象会被放在名为F-Queue的队列中随后虚拟机会创建一个线程去执行队列中的对象的finalize()方法。如果这些对象在收集器对F-Queue中对象标记前在finalize()方法中重新与引用链上的对象建立关系比如将自己赋值给某个类变量就可以移出回收集合免除被回收的命运。对象引用谈到引用不得不提到前几天的考研复试我的一位学弟在复试过程中被问到Java中有哪些引用这几种引用有什么区别。被问到这道题时他一时语塞没有回答上来。不过好在没有因为这道题受到影响。今天我们就来谈一谈Java中的四种引用。强引用。强引用是我们平时使用最多的引用方法。Object obj new Object()这就是一个典型的强引用实例只要强引用关系还存在即使系统内存不足也不会回收这些对象。软引用。软引用用来描述一些还有用但不是必须的对象使用SoftReference类来实现软引用。当系统内存不足时会回收软引用关联的对象。弱引用。弱引用通过WeakReference类来实现即使内存充足下一次垃圾收集时弱引用对象也会被回收。虚引用。虚引用又称“幽灵引用”或“幻影引用”是最弱的一种对象引用它使用PhantomReference类来实现。虚引用的作用是在关联的对象被回收时能收到一个系统通知。喜欢的给个赞呗了解更多可以关注我的公众号SKY技术修炼指南
http://wiki.neutronadmin.com/news/440309/

相关文章:

  • 南宁网站推广策略免费服务器推荐
  • 网站开发看什么书徐州自助建站系统
  • 网站建设作业多少钱微信商城小程序平台
  • php网站开发技术是什么0元免费做代理
  • 电子商城网站建设方案手机网页微信
  • 怎么做网站反向链接wap门户网站
  • 手机网站怎么改成电脑版网站建设与维护 目录
  • 漳州做网站建设公司c语言必背100代码
  • 沈阳网站推广运营公司推动高质量发展的必然要求
  • 网站开发报价表格式模板织梦中查看演示网站怎么做
  • 杭州移动公司网站wordpress简单插件
  • 中山网站推广服务口碑好的网站建设商家
  • 网站免费正能量直接进入网站空间 哪个速度快
  • 上海 顶尖 网站设计网站建设做软件开发吗
  • 制作网站分析商业模式网站开发课程设计报告
  • 天津高端网站建设案例兰州网站建设与优化
  • 网站视频播放器用什么做的浦东网站建设箱海运
  • 网站开发模式名词网站建设给客户看的ppt
  • 泉州seo 泉州网站建设wordpress导致宕机
  • 高端个人网站企查查官网官网
  • 网页设计与网站建设教程做外贸如何选择网站
  • 在哪学习建网站如何建设一个博客网站
  • 网站建设的原因国家建设工程网官方网站
  • 如何开发自己的网站拼多多关键词排名查询软件
  • 宝塔如何添加ip域名做网站淘宝商城正品
  • ppp项目建设交易网站营销公司
  • 网站怎么做统计网站开发时间计划
  • 个人备案网站类型永远免费的域名
  • 郑州网站建设鹏之信揭阳网站制作建设
  • 如何设置网站icon深圳网站 商城制作