0%

虚拟机类加载机制

类加载的时机

类的生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段。其中验证、准备、解析三个部分统称为连接

加载、验证、准备、初始化和卸载这五个阶段顺序是确定的,类加载过程必须按这个顺序开始,但是不一定按顺序完成,他们通常是相互交叉混合地进行的。

阅读全文 »

JDK的命令工具

jps:虚拟机进程状况工具

命令格式:

jps [options] [hostid]

jps 工具主要选项

选项 作用
-q 只输出LVMID 省略主类名称
-m 输出虚拟机经常启动时传递给主类main() 函数的参数
-l 输出主类的全名
-v 输出虚拟机进程启动时JVM参数

jps还可以通过RMI协议查询开启了RMI服务的远程虚拟机进程状态。hostid为RMI注册表中注册的主机名。

阅读全文 »

CMS

CMS(Concurrent Mark Sweep)收集器是以获取最短回收停顿时间为目标的收集器。(希望系统停顿时间尽可能短,以给用户带来良好的体验)

阅读全文 »

垃圾回收基础

判断对象存活算法(哪些对象需要回收?)

引用计数法

给对象中添加一个引用计数器,每当一个地方引用它时,计数器的值就+1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。

优点:简单高效

缺点:很难解决出现两个对象之间循环引用的问题。

阅读全文 »

jvm内存结构

运行时数据区域

java7

java8将方法区移出,变为元数据区,放在直接内存中。

阅读全文 »

扩展mysql

什么时候可扩展性?

简要地说,可扩展性表明了当需要增加资源以执行更多工作时系统能够获得划算的等同提升( equal bang for the buck)的能力。

缺乏扩展能力的系统在达到收益递减的转折点后,将无法进一步增长。

阅读全文 »

优化基础_explain详解

explain命令可以帮助我们了解mysql的执行计划,当运行SQL语句时哪种策略预计会被优化器采用。

阅读全文 »