牛客图书馆 > 读书笔记
  • JVM中的几种QC算法

    引用计数法 算法思想:每个对象在创建的时候,就给这个对象绑定一个计数器。每当有一个引用指向该对象时,计数器加一;每当有一个指向它的引用被删除时,计数器减一。这样,当没有引用指向该对象时,该对象死亡,计数器为0,这时就应该对这个对象进行垃圾回收操作。 核心思想:...
    这题名为喜歡 编辑于 2021-08-20 17:10:45
  • 《深入理解Java虚拟机(第2版)》第七章 虚拟机类加载机制

     虚拟机的类加载机制:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。 类加载的时机 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期如图1所...
    柚子树 编辑于 2020-06-13 00:20:41
  • 《深入理解Java虚拟机(第2版)》第三章 (判断对象是否存活和垃圾回收算法)

    哪些内存需要回收? 程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭,不需要考虑回收的问题。而Java堆和方法区则不一样,一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存也可能不一样,我们只有在程...
    柚子树 编辑于 2020-05-01 10:51:37
  • 《深入理解Java虚拟机(第2版)》读书笔记20191118

    基于JDK1.7——如果搭配更新的版本就更好了分为五大部分1大概介绍可不看2内存管理面试中最重要一块3执行子系统class文件结构以及类的加载4编译与优化编译优化和运行优化(泛型,拆装箱)5高并发学以致用 面试时问到JVM时把第2点到第5点主要思想都说一遍,基...
    钱多事少离家近 编辑于 2019-11-18 21:49:37
  • 《深入理解Java虚拟机(第2版)》读书笔记20191118

    第一章 走进java 1.1 概述 1 跨平台——一次编译,到处运行 2 相对安全的内存管理和访问机制——比C语言不知道高到哪里去 3 热点代码检测+运行编译优化——保证效率 1.2 Java技术体系 JDK=java程...
    钱多事少离家近 编辑于 2019-11-18 22:13:53
  • 谈谈栈和堆

    栈 1.栈这种最后添加的数据最先被取出,即后进先出的结构,我们称为 Last In First Out,简称 LIFO。 2.与链表和数组一样,栈的数据也是线性排列,但在栈中,添加和删除数据的操作只能在一端进行,访问数据也只能访问到顶端的数据,想要访问中间的数...
    这题名为喜歡 编辑于 2021-08-20 17:59:55
  • 《深入理解Java虚拟机》第三章 (垃圾收集器与内存分配策略)

    垃圾收集器1.Serial收集器:虚拟机运行在Client模式下的默认新生代收集器,它简单而高效。2.ParNew收集器:Serial收集器的多线程版本,目前只有它能与CMS收集器配合工作。3.Parallel Scavenge收集器:新生代收集器,使用复制算...
    七层楼 编辑于 2021-01-08 21:51:51
  • 《深入理解Java虚拟机(第2版)》第六章(Class类文件的结构)

    根据Java虚拟机规范的规定,Class文件格式采用一种类似于C语言结构体的伪结构来存储数据,这种伪结构中只有两种数据类型:无符号数和表。无符号数属于基本的数据类型,以u1、u2、u4、u8来分别代表1个字节、2个字节、4个字节和8个字节的无符号数,无符号数可...
    柚子树 编辑于 2020-05-29 18:05:22
  • 《深入理解Java虚拟机(第2版)》第十一章 晚期(运行期)优化(编译优化技术)

    Java程序员有一个共识,以编译方式执行本地代码比解释方式更快,之所以有这样的共识,除去虚拟机解释执行字节码时额外消耗时间的原因外,还有一个很重要的原因就是虚拟机设计团队几乎把对代码的所有优化措施都集中在了即时编译器之中(在JDK 1.3之后,Javac就去除...
    柚子树 编辑于 2020-08-02 23:10:25