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

国外的app设计网站seo优化网站网页教学

国外的app设计网站,seo优化网站网页教学,站长之家是什么,移动登录网页模板下载通过一些问题来讨论在 JVM 中,垃圾回收的一些基本问题 为什么要有垃圾回收?Java 垃圾回收中是如何判断一个对象死亡的?请简单介绍一下刚才说到了引用计数法,引用计数法存在什么问题?刚才说到了可达性分析,…

通过一些问题来讨论在 JVM 中,垃圾回收的一些基本问题

  • 为什么要有垃圾回收?
  • Java 垃圾回收中是如何判断一个对象死亡的?请简单介绍一下
  • 刚才说到了引用计数法,引用计数法存在什么问题?
  • 刚才说到了可达性分析,知道哪些可以作为 GCROOT 吗?
  • 垃圾回收算法介绍一下
  • 垃圾回收会发生在哪几个区域?

1. 为什么要有垃圾回收

一个系统在应用时,会不断产生数据对象,而存放对象的空间是有限的

如果没有垃圾回收机制的话,则存放对象的内存空间很快就会被塞满,所以为了保证系统能正常地执行,就必须要有垃圾回收机制,回收掉没有被使用的对象,也就是垃圾对象

在传统的 C/C++ 语言中,开发人员需要手动分配和释放内存,这样就容易导致人为的忘记释放内存的情况,照成内存泄漏。Java 的垃圾回收机制可以帮忙解决这个问题,它可以自动检测并回收不再使用的对象,可以减少内存泄漏的风险

2. Java 垃圾回收中是如何判断一个对象死亡的?请简单介绍一下

一般是通过 “引用计数算法” 和 “可达性分析法” 来判断的

引用计数法的思路很简单,当对象被引用时给计数器 +1,当对象引用失效时计数器值 -1。当计算器为零时,说明对象不再被使用,可以回收

可达性分析法的思路就是从 GC Roots 开始向下搜索,当对象到 GC Roots 都没有任何引用相连时,说明对象是不可用的,可以被回收。其中 GC Roots 是一组必须活跃的引用,从 GC Roots 出发,程序通过直接引用或间接引用,能够找到可能正在被使用的对象

3. 刚才说到了引用计数法,引用计数法存在什么问题?

如果对象之间存在循环依赖时,就无法判断对象是否需要回收。比如 A 引用 B, B 引用 A

4. 刚才说到了可达性分析,知道哪些可以作为 GCROOT吗?

比方说 JVM 内存结构中的虚拟机栈,虚拟机栈中有栈帧,栈帧里面存储着有指向堆的对象引用,那么位于虚拟机栈顶就可以称作是 “活跃” 的栈帧,因为此刻它正在被线程调用。所以,当前活跃的栈帧指向堆里的对象引用就可以是 GC Roots。除此之外,类的静态变量,Java 本地方法所引用的对象都可以是 GC Roots

5. 垃圾回收算法介绍一下?

这里我简单说下新生代常用垃圾回收算法 标记复制算法,和老年代常用垃圾回收算法 标记整理算法

标记复制算法,简单来说,就是将新生代空间分为两部分,把新创建的对象放在其中一块,等要进行垃圾回收的时候,则先将存活对象移动到另一块空间当中,然后将垃圾对象回收

这样处理的话,每次就只能使用一半的内存空间,空间使用率较低

所以就进行了优化,将新生代空间分为 Eden区和 survivor1区和 survivor2区,一般大小比例就是 8:1:1,假如新生代空间为 1G,那 Eden 区就占 800MB,两个 Survivor各占 100MB。新建对象会存储在 eden 区,当进行垃圾回收的时候,会先把 eden 和 survivor 中的存活对象移动到一块 survivor 区域去,再清理掉垃圾对象。这样,就只有一块 survivor 区域是闲置的,90%的内存都被使用上了

而老年代的标记整理算法,过程就比较简单

要进行垃圾回收时,首先会将存活对象移动到一起去,让存活紧紧凑在一起,避免垃圾回收过后出现过多的碎片。然后再一次性把垃圾回收对象都回收掉

6. 垃圾回收会发生在哪几个区域?

垃圾回收主要是发生在堆上,尤其是在新生代中,一次垃圾回收通常可以到 70% 到 99%的内存空间。但其实也会堆方法区进行垃圾回收。对方法区主要回收的是废弃的常量和不再使用的类,一般回收的空间比较少


诚恳欢迎大家提出意见Orz

......(待续未完


文章转载自:

http://LABQLw9M.nrLhr.cn
http://FI6BFeFc.nrLhr.cn
http://kLcKFU1S.nrLhr.cn
http://Rww6fyqr.nrLhr.cn
http://9s3yhuWu.nrLhr.cn
http://nMwAjvew.nrLhr.cn
http://VzxRg8Fh.nrLhr.cn
http://E1HuIYEN.nrLhr.cn
http://S68LgM8o.nrLhr.cn
http://EpcGAk67.nrLhr.cn
http://Qhj0YfD2.nrLhr.cn
http://IMrzXoJr.nrLhr.cn
http://M9RhDIti.nrLhr.cn
http://adQclNNl.nrLhr.cn
http://czpxQkg9.nrLhr.cn
http://0NhpShM9.nrLhr.cn
http://13EHXW6z.nrLhr.cn
http://H2g1iDB5.nrLhr.cn
http://ps6hhmje.nrLhr.cn
http://gYDazm6x.nrLhr.cn
http://k4wRdmOe.nrLhr.cn
http://roDCRQQC.nrLhr.cn
http://THan7r33.nrLhr.cn
http://vk9rSVTU.nrLhr.cn
http://3qhMiu5A.nrLhr.cn
http://qvnh3bl8.nrLhr.cn
http://Mp3WiPUA.nrLhr.cn
http://tzoLLyhb.nrLhr.cn
http://NifejoHa.nrLhr.cn
http://4zdW3uIY.nrLhr.cn
http://www.dtcms.com/wzjs/643693.html

相关文章:

  • 昆明企业制作网站怎么用joomla做网站
  • 自己的网站怎么做福州十大设计公司
  • 淮安做网站优化北京网站优化排名
  • 北京建设监督网站4001688688人工服务
  • 建立网站的教学书籍格拉苏蒂手表网站
  • 重庆定制网站建设公司企业管理培训课程定制
  • 放在主机上的网站程序如何建压缩包然后直接下载电子版简历word格式
  • wordpress 建资源县好不好seo网站推广软件 快排
  • 个人网站设计论文题目广东品牌网站建设服务机构
  • 国家建设网站网站制作的一般步骤
  • 盐城做网站企业wordpress解压主题没反应
  • 易签到网站开发设计腾冲网站建设
  • 广州市海珠区建设局网站网络公关团队
  • 西部网站邮箱登录跳转链接生成器
  • 免费网站建站排名今朝装饰老房装修套餐
  • 网站在建设中 英语淘宝cms建站
  • 哪些网站可宣传廊坊网站制作工具
  • 万网网站备案查询个人网页设计图片素材网
  • 帝国cms入门到精通企业门户网站制作建站视频教程盘县做会计兼职的网站
  • 改图宝在线编辑图片厦门seo网站
  • 天津seo网站推广古云网站建设
  • 网站建设与维护项目六 天堂资源地址在线官网
  • 手机网站发号系统源码网站建设中 倒计时
  • 竞价托管网站建设淮南网络营销
  • 什么叫网站被k软件app大全免费
  • 嘉兴网站搭建wordpress多站点功能
  • 网站设计的素材万词霸屏百度推广seo
  • 企业网站开发技术题库开发 程序网站
  • html5网站开发案例视频网站标题修改
  • 山西建设工程备案网站如何建立网站教程