• [深入理解JVM 六]---虚拟机字节码执行系统

    时间:2022-12-29 10:47:47

    前边介绍了jvm的运行时内存分配,类文件的结构,以及类加载机制,这样,一个编译好的class二进制字节码文件就已经被加载完毕,等待下一步的执行。接下来分几个部分来介绍这部分内容。首先方法的调用和执行依赖于虚拟机栈,第一部分详细介绍一下虚拟机栈的栈帧结构。第二部分介绍方法的调用。第三部分介绍方法的执行...

  • 深入理解JVM - 虚拟机字节码执行引擎

    时间:2022-12-29 10:43:29

    执行引擎是Java虚拟机最核心的组成部分之一,输入的是字节码文件,处理过程是字节码解析的等效过程,输出的是执行结果。 1、栈帧 栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。每一...

  • 深入理解JVM08--虚拟机字节码执行引擎--栈帧结构

    时间:2022-12-29 10:43:23

    本文是基于周志明的《深入理解Java虚拟机》     栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区的虚拟机栈(Virtual Machine Stack)的栈元素。第一个方法从调用开始到执行完成,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程...

  • 深入理解Java虚拟机学习笔记——一、JVM结构

    时间:2022-12-29 10:34:20

    运行时数据区 JVM在执行Java程序时会将它所管理的内存划分成若干个不同的数据区域,每个区域都有各自的用途以及创建、销毁的时间。有些区域随着JVM虚拟机进程的启动而存在,有些区域则依赖于用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(Java SE 7版)》的规定,JVM所管理的...

  • Jvm | 《深入理解Java虚拟机》读书笔记 | 线程安全与锁优化

    时间:2022-12-29 10:34:20

    1.你对“线程安全”的理解?(p386) 当多个线程访问同一个对象,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那么这个对象是线程安全。   2.假设一个共享数据是一个基本数据类型,如何...

  • 《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——虚拟机类加载机制

    时间:2022-12-29 10:33:56

    虚拟机类加载机制概述 虚拟机如何加载Class文件? Class文件中的信息进入到虚拟机后会发生什么变化? 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制在Java语言里,类型的加载、连...

  • Jvm | 《深入理解Java虚拟机》读书笔记 |

    时间:2022-12-29 10:34:14

    简述Java内存模型 java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量(指实例字段,静态字段,构成数组对象的元素,但不包括局部变量与方法参数,因为是线程私有的)。 Java内存模型规定了所有的变量都存储在主内存中,每一条线程都有自己的...

  • jvm(1)深入理解java虚拟机笔记

    时间:2022-12-29 10:33:56

    1.基础 (1)查看jdk版本java –version可以看到虚拟机Hotspot          HotSpot(TM)64-Bit Server VM (build 24.79-b02, mixed mode) (2)openjdk的手工编译(java.c)(open jdk与sun jdk...

  • 深入理解jvm虚拟机 笔记

    时间:2022-12-29 10:34:02

    一、类的生命周期 加载 → 验证 → 准备 → 解析 → 初始化 → 使用 → 卸载 加载:通过类的全限定名将二进制字节码文件加载到方法区 验证:验证class文件的字节码符合虚拟机要求,不会危害系统 准备:为static变量分配方法区的内存并设置初始值 解析:将常量池的符号引用替换成直接引用 初始...

  • 《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——虚拟机字节码执行引擎

    时间:2022-12-29 10:29:44

    虚拟机字节码执行引擎物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的,而虚拟机的执行引擎则是由自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式Java虚拟机的执行引擎:输入的是字节码文件,处理过程是字节码解析的等效过程,输出的是执...

  • 【读书笔记】《深入理解java虚拟机·jvm高级特性与最佳实践》(一)-导图

    时间:2022-12-29 10:29:38

    这本书其实很早之前就读过了,最近在《简书》上看了一篇帖子,然后又重新读了一遍,每次读,都会有一种不一样的感觉。话说读书先读目录,其实目录里面已经告诉自己很多东西了。这本书的大纲如下: ...

  • 《深入理解 JVM 虚拟机》 --- 看书笔记

    时间:2022-12-29 10:29:32

    1、JVM 内存溢出 1、堆溢出:堆要不断的创建对象,如果避免了垃圾回收来清除这些对象,就会产生JVM内存溢出。一般手段是通过内存映像分析工具对Dump出来的堆转储快照进行分析,分清楚到底是内存泄露还是内存溢出。 2、虚拟机栈和本地方法栈溢出:线程请求的栈深度大于虚拟机所允许的最大深度。或者虚拟机在...

  • 深入理解Java虚拟机学习笔记-1.JVM内存模型

    时间:2022-12-29 10:29:20

    JVM内存模型 1.内存模型结构图 名称 特征 作用 配置参数 异常 程序计数器 占用内存小,线程私有, 生命周期与线程相同 大致为字节码行号指示器 无 无 虚拟机栈 线程私有,生命周期...

  • 《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——Java内存模型与线程

    时间:2022-12-29 10:24:46

    Java内存模型与线程多任务处理目的: 1.充分利用计算机处理器的能力(磁盘I/O、网络通信、数据库访问相比计算机的运算速度要慢的多) 2.同时应对多个客户端的请求,衡量一个服务性能的高低好坏,每秒事务处理数(TPS)是最重要的指标之一,它代表着一秒内服务端平均能响应的请求总数,而TPS值与程序的并...

  • 《深入理解Java虚拟机:JVM高级特性与最佳实践》笔记

    时间:2022-12-29 10:24:22

    一.Java内存区域与内存溢出 1.程序计数器是一块较小的内存空间,它可看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。各条线程都需要有一个独立的程序计数器,互不影响,独立存储。此内存区域是唯一一个在java虚拟机规范...

  • 《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——线程安全与锁优化

    时间:2022-12-29 10:24:52

    线程安全与锁优化线程安全当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的线程安全的代码都必须具备一个特征:代码本身封装了所有必要的正确性保障手段(如...

  • 《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——自动内存管理机制

    时间:2022-12-29 10:24:40

    《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——自动内存管理机制1.概述对于从事C、C++程序开发的开发人员来说,在内存管理领域,既拥有每一个对象的”所有权”,又担负着每一个对象生命开始到终结的维护责任对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new...

  • JVM模型(深入理解Java虚拟机学习笔记)

    时间:2022-12-29 09:46:56

    Java虚拟机(Java virtualmachine)实现了Java语言最重要的特征:即平台无关性。 平台无关性原理:.Java文件经过Java Compiler编译成为.Class文件。编译后的 Java程序(.class文件)由 JVM执行,JVM屏蔽了与具体平台相关的信息,使程序可以在多种平...

  • 深入理解JVM07--虚拟机类加载机制--类加载过程

    时间:2022-12-29 09:38:06

    本文是基于周志明的《深入理解Java虚拟机》     虚拟机把描述类的数据从Class文件加载到内存,并对数据进行检验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。    从类被加载到虚拟机内存中开始,到卸载出内存为止,类的生命周期包括加载(Loading...

  • 深入理解JVM读书笔记三: 虚拟机类加载机制

    时间:2022-12-29 09:23:53

    Java虚拟机类加载机制是把Class类文件加载到内存,并对Class文件中的数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型的过程。 7.1概述与那些在编译时需要进行链接工作的语言不同,在Java语言里面,类型的加载和链接过程都是在程序运行期间完成的(其实C+...