摘要: 类加载机制概述:虚拟机把描述类的数据从Class文件加载到内存,并对数据 进行校验、解析、和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制 类的生命周期:7个阶段 其中,验证——准备——解析 称为连接阶段。除了解析外,其他阶段是顺序发生的,而解析可以与这些阶段交叉进行, 阅读全文
posted @ 2019-06-17 15:35 Don'tYouSee 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 一:技术背景 垃圾回收(GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史比Java久远,早在1960年Lisp这门语言中就使用了内存动态分配和垃圾回收技术。 二:内存回收区域 JVM的内存结构包括五大区域:程序计数器、虚拟机栈、本地方法栈、堆区、方法区。其中程序计数器、虚拟 阅读全文
posted @ 2019-06-17 15:33 Don'tYouSee 阅读(264) 评论(0) 推荐(0) 编辑
摘要: JVM内存分配策略 一:对象内存分配两种方法 为对象分配空间的任务等同于把一块确定大小的内存从Java堆中划分出来。 指针碰撞(Serial、ParNew等带Compact过程的收集器) 假设Java堆中内存是绝对规整的,所有用过的内存都放在一边,空闲的内存放在另一边,中间放着一个指针作为分界点的指 阅读全文
posted @ 2019-06-17 15:32 Don'tYouSee 阅读(1579) 评论(0) 推荐(1) 编辑
摘要: 多线程中 synchronized 一直是元老级角色,很多人都会称呼它为重量级锁。但是随着 Java SE 1.6 对synchronized 进行了各种优化之后,有些情况下它就并不那么重,Java SE 1.6 中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁。 Mark word 阅读全文
posted @ 2019-06-17 14:44 Don'tYouSee 阅读(531) 评论(0) 推荐(0) 编辑