牛客图书馆 > 读书笔记
  • 《深入理解Java虚拟机》第三章 (垃圾收集器与内存分配策略)

    1、概述主要考虑三个问题:哪些内存需要回收?、什么时候回收?、如何回收?程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,...
    七层楼 编辑于 2020-12-25 17:55:02
  • 《深入理解Java虚拟机(第2版)》第十一章 晚期(运行期)优化(HotSpot虚拟机内的即时编译器)

    在部分的商用虚拟机(Sun HotSpot、IBM J9)中,Java程序最初是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”(Hot Spot Code)。为了提高热点代码的...
    柚子树 编辑于 2020-07-25 22:54:35
  • JAVA内存分布

       Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域 有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是 依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范》的规...
    骨子里的颓废 编辑于 2022-01-20 10:39:09
  • 《深入理解Java虚拟机(第2版)》读书笔记——栈溢出堆溢出

    面试中涉及到内存常问的两个问题,栈溢出和堆溢出,如何避免,简要说一下 OutOfMemoryError异常Java虚拟机中除了计数器外,虚拟机内存的其他几个运行时区域都有可能发生概述:Java堆用于存储对象实例,只要不断地创建对象,并且保证GC Roots到对...
    钱多事少离家近 编辑于 2019-11-29 14:00:10
  • 谈谈JMM

    JMM 1.什么是JMM? java Memory Model(java内存模型) 2.它干嘛的? 作用 缓存一致性协议,用于定义数据的读写的规则(遵守)。JMM定义了线程工作内存和主内存之间的抽象关系:线程之间的共享变量存储在主内存(Main Memory)...
    这题名为喜歡 编辑于 2021-08-23 10:46:10
  • 《深入理解Java虚拟机(第2版)》第六章(字节码指令简介)

    Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)而构成。字节码操作按用途大致分为9类: 加载和存储指令 加载和存储指...
    柚子树 编辑于 2020-06-05 21:09:09
  • 深入理解Java虚拟机

    深入理解Java虚拟机 第一章 走进Java 概述 Java 结构严谨、面向对象、摆脱硬件平台束缚,一次编译到处运行、相对安全的内存管理与访问机制(避免了绝大部分内存泄漏和指针越界问题)、实现了热点代码检测和运行时编译及优化 Java技术体系 1、Java程...
    贼心不死 编辑于 2021-01-28 10:07:46
  • 《深入理解Java虚拟机(第2版)》第八章 虚拟机字节码执行引擎(方法调用)

    方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),暂时还不涉及方法内部的具体运行过程。在程序运行时,进行方法调用是最普遍、最频繁的操作,Class文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在Class文件里面存储的都只是符号引用...
    柚子树 编辑于 2020-06-26 23:12:30
  • 《深入理解Java虚拟机(第2版)》第十章(Java语法糖的味道)

    Java中的语法糖包括:泛型、自动装箱、自动拆箱、遍历循环、变长参数、条件编译、内部类、枚举类、断言语句、对枚举和字符串(在JDK 1.7中支持)的switch支持、try语句中定义和关闭资源(在JDK 1.7中支持)等。 泛型与类型擦除 泛型的本质是参...
    柚子树 编辑于 2020-07-18 18:22:17
  • 《深入理解Java虚拟机(第2版)》第三章(内存分配与回收策略)

    内存分配规则 对象优先在Eden分配 大多数情况下,对象在新生代Eden区中分配。当Eden区没有足够空间进行分配时,虚拟机将发起一次Minor GC。 大对象直接进入老年代 所谓的大对象是指,需要大量连续内存空间的...
    柚子树 编辑于 2020-05-15 20:31:51