随笔分类 - 【009】Java虚拟机
摘要:前言 当你的代码编译成class文件之后,那么虚拟机如何加载这些文件呢?我们需要知道虚拟机到底做了什么样的事情。 类的生命周期 加载--链接 初始化 使用 卸载 类加载过程 1、加载 读取二进制字节流,将静态存储结构转化为方法区运行时的数据结构,在内存中生词一个代表这个类的对象。 2、验证 验证格式
阅读全文
摘要:前言 前面我们已经知道了Java虚拟机所做的事情就是回收那些不用的垃圾,那些不用的对象。那么问题来了,我们如何知道一个对象我们不需要使用了呢?程序在使用的过程中会不断的创建对象,这些所创建的对象指不定在哪里我们就需要用到了呢?GC怎么知道我们不用了呢?回收就是简单的删除吗?这些问题将会在这里做出解释
阅读全文
摘要:前言 要了解Java虚拟机首先要知道的基础就是内存。虚拟机存在的意义就是对内存进行管理,因为不用人为的去管理每个对象的内存,所以才让java使用起来那么方便,不用像c、c++那样去free。 运行时数据区 Java所管理的内存划分为不同的区域,每个区域都有自己的用处。 1、程序计数器PC 如果你学过
阅读全文
摘要:发现一直在上层应用更新博客的我,突然发现也是时候同时更新一波基础知识了。然后就发现了一个点我还没有更新过,那就是Java虚拟机。 很多人在学习Java的时候都或多或少接触过一点,然后几乎有下面几种情况。 第一种,被吹的很大:学Java怎么可以不学习虚拟机,不学习虚拟机你怎么写程序,你必须学习虚拟机才
阅读全文