JVM讨论的需要垃圾回收的区域主要是指堆内存和方法区。 因为:程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上…
标签:java虚拟机
深入理解Java虚拟机(三)HotSpot算法和垃圾收集器
前面介绍了对象存活判定算法和垃圾收集算法,在HotSpot虚拟机上实现这些算法时,必须对算法的执行效率有严格的考量,才能保证虚拟机高效运行。 1. 可达性分析算法的实现(枚举根节点) 1.1 GC Roots根节点的选择…
深入理解Java虚拟机(七)字节码执行引擎(栈帧、动态连接、方法调用)
执行引擎是Java虚拟机最核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的,而虚拟机的执行引擎则是由自己实…
深入理解Java虚拟机(四)Eden、Survivor、老年代、GC日志
1. 年轻代 1.1 Eden区和Survivor区 新生代GC(Minor GC):指发生在新生代的垃圾收集动作,Minor GC非常频繁,新生代采用复制算法,一般回收速度也比较快。因为采用复制算法,所以年轻代分为三部…
深入Java虚拟机
文章来自:http://www.qqread.com/java/w872354600.html Java技术与Java虚拟机 说起Java,人们首先想到的是 Java编程语言,然而事实上,Java是一种技术,它由四方…
【阅读】深入理解Java虚拟机 ——JVM高级特性与最佳实践1
这也算的上是我第二次阅读这本书了,第一次是两年前,当时为了应付找工作,面试中几个重复问题总少不了jvm。“谈谈你对jvm的理解、谈谈你对java垃圾回收机制的认识,谈谈你熟悉的垃圾…
深入理解Java虚拟机:JVM高级特性与最佳实践 第2版
我的网盘下载:https://pan.baidu.com/s/1c4kpEQ
深入理解java虚拟机(三)(一个类加载器只初始化一次类对象,不同类加载器可以对同一类对象进行初始化)
package com.ygl; class Final{ public static final int x=6/3;//此处x在编译时能计算出值,是编译时的常量,则System.out.println(Final.x…
深入java虚拟机(四)
package com.ygl; class CL { //静态代码块可以简单理解为初始化一些值 static { System.out.println(“Class CL”); } } publ…
深入理解Java虚拟机——自动内存管理机制
特此申明: 前段时间找工作所以看了这本书,整理的时候除了参考网上已有的笔记贴,加上自己整合的,可能和别人有雷同之处。不过无所谓啦,写出来自己看看,需要的朋友参考下,仅此而已。 一:Java内存区域与内存溢出异常 &nbs…
深入理解Java虚拟机——虚拟机执行子系统
一.类文件结构 Class文件是一组以8位字节为基础单位的二进制流,各数据项严格按顺序排列其中,中间没有添加任何分隔符。根据JAVA虚拟机规范的规定,CLASS文件格式采用一种类似C语言结构体的伪结构来存储,这种伪结构中…
深入理解Java虚拟机——程序编译与代码优化
一早期(编译期)优化 1概述 Java语言的“编译期”是一段“不确定”的操作过程,因为它可能是指一个前端编译器(其实叫“编译器的前端”更准确一些)把*.java文件转变成*.class文件的过程;也可能是指虚拟机的后端运…