摘要: 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 Serial收集器: Serial(串行)收集器是一个单线程的收集器,单线程一方面意味着它 只会使用一个CPU或者一条线程去完成垃圾收集工作,另一方面也意味着它进行垃圾收集时必须暂停其他线程的所有工作(“Stop The Wo 阅读全文
posted @ 2020-03-23 22:24 城为唯一 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 前面已经知道了如何判断对象会被回收。那么现在来分析一下这些垃圾对象是如何被收集的,通过什么算法收集的。 GC 常用算法有: 标记-清除算法 复制算法 标记-整理算法 分代收集算法 目前主流的jvm(HotSot)采用的是分代收集算法。 标记-清除(Mark-Sweep)算法 算法分为“标记”和“清除 阅读全文
posted @ 2020-03-23 17:11 城为唯一 阅读(226) 评论(0) 推荐(0) 编辑
摘要: jvm是如何判断对象可以被回收的? 方法一:引用计数法 jvm给对象中添加一个引用计数器,每当有一个地方引用它,计数器加1,当引用失效,计数器减1,任何时候计数器为0的对象就是不可能再被使用的。 此方法存在的局限性:不能解决对象之间相互引用的问题。例如: 如上图所示,栈中引用了堆中对象objA和ob 阅读全文
posted @ 2020-03-23 16:04 城为唯一 阅读(1075) 评论(0) 推荐(0) 编辑
摘要: 当生产数据量急剧增长后,很多SQL语句可能会开始暴露出性能问题。当面对一个有SQL性能问题的数据库时,应该从何处入手进行系统的分析,使得能够尽快定位到问题SQL处并尽快解决问题? 第一步:查看SQL执行频率 MySQL客户端连接成功后,通过show [session|global] status命令 阅读全文
posted @ 2020-03-23 11:48 城为唯一 阅读(1654) 评论(0) 推荐(1) 编辑