摘要: 一个类可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只被执行一次,静态块常用来执行类属性的初始化。 一.类加载时,变量的初始化顺序: 1.首先,给静态成员变量分配内存空间,进行默认初始化 (整型为0,浮点型为0.0,布尔型为false,字符型为'\u0000',引用型为 阅读全文
posted @ 2017-12-22 23:19 可乐也许是苦的 阅读(154) 评论(0) 推荐(0)
摘要: 类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。它们开始的顺序如下图所示: 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析 阅读全文
posted @ 2017-12-22 23:15 可乐也许是苦的 阅读(117) 评论(0) 推荐(0)
摘要: finalize()和system.gc()的区别 转载 2017/12/22 转载 2017/12/22 finalize()是由JVM自动调用的,你可以用System.gc(),但JVM不一定会立刻执行,JVM感觉内存空间有限时,才会开始执行finalize(),至于新的对象创建个数和被收集个数 阅读全文
posted @ 2017-12-22 22:55 可乐也许是苦的 阅读(291) 评论(0) 推荐(0)
摘要: jvm中有多个线程,垃圾回收就是jvm中的gc线程做的事,它跟main等其他线程一样,只是功能不同 gc垃圾回收:http://jbutton.iteye.com/blog/1569746 jvm分配内存机制:http://blog.csdn.net/qq_30753945/article/deta 阅读全文
posted @ 2017-12-22 16:49 可乐也许是苦的 阅读(206) 评论(0) 推荐(0)
摘要: 一、虚拟机是什么? 什么是Java虚拟机?【摘录】 作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了。在本文中,我会写下我对虚拟机的理解。因为能力所限,可能有些地方描述的不够欠当。如果你有不 阅读全文
posted @ 2017-12-22 16:43 可乐也许是苦的 阅读(158) 评论(0) 推荐(0)