《深入理解Java虚拟机》:类加载和初始化(二) 在去年看《深入理解Java虚拟机》的时候,写过一篇关于类加载和初始化的博客,最近又在看这一块的知识,发现还是有很多东西没有理解好。借助于网上的一些博客,学习了一点新的知识…
分类:java虚拟机
《深入理解JAVA虚拟机》第二版 阅读笔记2
第一步:分配内存 现在知道new出来的对象是在java堆里的了,那是具体是怎么在java堆里找到一块合适的空地儿的呢 指针碰撞 假如堆里的空间是规整的,用过的内存放一边,没用过的放在另一边,两者中间有个明确的分界点,那就…
《深入理解java虚拟机》学习笔记一/类加载机制
为何要读这本书? 近期看了左萧龙大哥的单例设计模式,后文讲解到了JVM对类实例化相关知识,感觉看着很无力,不懂,于是乎买本书研究下。 如何读? 个人水平一般,理解程度有限,书中说到每章关联不是很大,所以就以目前想了解的内…
深入java虚拟机第5章, jvm
java虚拟机实例的生命周期: java虚拟机的职责是负责运行一个java程序。 当启动一个java虚拟机时,一个虚拟机实例便诞生了。 当该程序关闭退出时,这个虚拟机实例也随之退出。 如果一台主机上同时运行3个java程…
深入理解Java虚拟机笔记---引用类型和对象是否死亡
本文转自:http://blog.csdn.net/xtayfjpk/article/details/41910377 在JDK1.2之后,Java对引用的概念进行了扩充,将引用分为强引用(St…
深入java虚拟机面试
请你说一下jvm: 对于虚拟机我给它分成三大块内容分别是:内存管理、类加载引擎技术、线程安全 首先就内存管理来说, 虚拟机给内存划分为:堆、栈、方法区、运行时常量池、本地方法栈、直接内存。 堆是线程共享的内存块,而堆又细…
深入jvm内部掌握java线程的运行原理
深入jvm内部掌握java线程的运行原理 原文链接 mp.weixin.qq.com 上一章介绍了JNI的主要功能,本章通过一个实例演示JVM源码调试过程,从中可以看到JNI在Java多线程管理中起到的作用,更主要的是理…
深入理解java虚拟机-运行时数据区
纲领 Java的运行时数据区为: A. 方法区 ——R…
8.《深入理解Java虚拟机》内存溢出和内存泄露、并行和并发、Minor GC和Full GC、Client模式和Server模式的区别
内存溢出和内存泄露的区别 内存溢出:指的是程序在申请内存的时候,没有足够大的空间可以分配了。 内存泄露:指的是程序在申请内存之后,没有办法释放掉已经申请到内存,它始终占用着内存,即被分配的对象可达但无用。内存泄露一般都是…
《深入理解Java虚拟机》——内存自动管理:内存分配与回收
标签(空格分隔): JVM 先讲讲自动内存回收——GC GC的三大问题——What & When & How 哪些内存需要回收? 何时回收? 如何回收? 什么是内存溢出,内存泄露? GC的三大问题(一)—…
【Java猫说】编译器与虚拟机哪个重要?
熟悉Java的朋友都知道虚拟机还有编译器,那么它们各自主要的功能是什么?谁比较重要呢?让我们来了解一下这两位美女的故事。 虚拟机可以说就是Java,她能让程序运行起来。 但是编译器却能产生文件,毕竟java是直译语言,如…
深入理解JAVA虚拟机阅读笔记——第2章
符号引用和直接引用的区别:(答案源自R大) 先看Class文件里的“符号引用”。 考虑这样一个Java类: public class X { public void foo() { bar(); } public voi…