大战Java虚拟机【0】——目录】的更多相关文章

发现一直在上层应用更新博客的我,突然发现也是时候同时更新一波基础知识了.然后就发现了一个点我还没有更新过,那就是Java虚拟机. 很多人在学习Java的时候都或多或少接触过一点,然后几乎有下面几种情况. 第一种,被吹的很大:学Java怎么可以不学习虚拟机,不学习虚拟机你怎么写程序,你必须学习虚拟机才是真正的Java开发工程师. 第二种,被忽视了:虚拟机?什么东西?没必要吧,学了和没学一样呀~ 第三种,面试:面试一定会问,我一定要学,不然面试答不出来. 就这几种情况我在哪里好像已经说过了,没错就是…
前言 前面我们已经知道了Java虚拟机所做的事情就是回收那些不用的垃圾,那些不用的对象.那么问题来了,我们如何知道一个对象我们不需要使用了呢?程序在使用的过程中会不断的创建对象,这些所创建的对象指不定在哪里我们就需要用到了呢?GC怎么知道我们不用了呢?回收就是简单的删除吗?这些问题将会在这里做出解释. 怎么判断一个对象将会被回收 说白了就是判断一个对象已经死亡,不会再被用到了. 首先我们需要知道java中有四种不一样的引用. 强引用:A a = new A() 软引用:还有用,但不是必须的对象,…
前言 要了解Java虚拟机首先要知道的基础就是内存.虚拟机存在的意义就是对内存进行管理,因为不用人为的去管理每个对象的内存,所以才让java使用起来那么方便,不用像c.c++那样去free. 运行时数据区 Java所管理的内存划分为不同的区域,每个区域都有自己的用处. 1.程序计数器PC 如果你学过汇编的话就很好理解,在计算机中指令是一条条执行的,PC就是记住当前执行到哪一行了.需要注意的是,每条线程都需要一个独立的PC,且互相之间不影响. 2.虚拟机栈 栈是一个在程序设计的时候很常见的一个数据…
声    明 罗汉果与Java虚拟机系列博文仅为本银结构性整合Java虚拟机知识的笔记和日常JVM问题的DEBUG记录.放到网上主要是为了方便自己今后查看.顺带能帮助到别人就更奈斯了. 目    录 (1)为什么要学习Java虚拟机 (2)Java虚拟机学习笔记(一) (3)深入浅出Java类加载过程-学习笔记(二)…
第一部分 走进Java第1章 走进Java 第二部分 自动内存管理机制 第2章 Java内存区域与内存溢出异常2.1 概述2.2 运行时数据区域2.2.1 程序计数器2.2.2 java虚拟机栈2.2.3 本地方法栈2.2.4 Java堆2.2.5 方法区2.2.6 运行时常量池2.2.7 直接内存2.3 HotSpot虚拟机对象探秘2.3.1 对象的创建2.3.2 对象的内存布局2.3.3 对象的访问定位2.4 实战:OutOfMemoryError异常2.4.1 Java堆溢出2.4.2 虚…
第一部分 走进Java 第1章 走进Java   第二部分 自动内存管理机制 第2章 Java内存区域与内存溢出异常 2.2 运行时数据区域 2.3 HotSpot虚拟机对象探秘 第3章 垃圾收集器与内存分配策略 3.2 对象已死吗 3.3 垃圾收集算法 3.5 垃圾收集器 3.6 内存分配与回收策略 第4章 虚拟机内存监控与故障处理工具 第5章 调优案例分析与实战   第三部分 虚拟机执行子系统 第6章 类文件结构 第7章 虚拟机类加载机制 7.1 概述 7.2 类加载的时机 7.3 类加载的…
前言 当你的代码编译成class文件之后,那么虚拟机如何加载这些文件呢?我们需要知道虚拟机到底做了什么样的事情. 类的生命周期 加载--链接---初始化----使用---卸载 类加载过程 1.加载 读取二进制字节流,将静态存储结构转化为方法区运行时的数据结构,在内存中生词一个代表这个类的对象. 2.验证 验证格式,元数据,字节码,符合引用,总之就是避免一些恶意代码. 3.准备 为类分配内存并设置变量初始值static的,注意这里只是初始值,而不是赋值,赋值是在初始化做的 4.解析 将常量池中的符…
目录 7.1 概述 7.2 类加载的时机 类的生命周期 5种情况需要"初始化" 7.3 类加载的过程 1.加载 2.验证 3.准备 4.解析 5.初始化 7.4 类加载器 类与类加载器 类加载器分类 双亲委派模型   7.1 概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制. 类是在运行期间第一次使用时动态加载的,而不是编译时期一次性加载.   7.2 类加载的时机 类的生命周…
目录 3.2 对象已死吗 判断一个对象是否可被回收 引用类型 finalize() 回收方法区 3.3. 垃圾收集算法 1.Mark-Sweep(标记-清除)算法 2.Copying(复制)算法 3.Mark-Compact(标记-整理)算法 4.Generational Collection(分代收集)算法 3.5 垃圾收集器 1.Serial 2.ParNew 3.Parallel Scavenge 4.Serial Old 5.Parallel Old 6.CMS 7.G1 3.6 内存分…
本篇为读深入理解Java虚拟机(第2版)一书的笔记目录. Java 运行期数据区 Java 垃圾回收算法 Java 内存分配策略 Java 类文件结构 Java 加载.链接.初始化 Java 类加载器…