JVM
Java Virtual Machine
好久不见的流星
一入外包深似海,从此大厂是路人。
展开
-
【JVM】字节码指令 invokevirtual
是一个字节码指令,用于调用对象实例的方法。它的主要作用是执行对象的虚方法调用,遵循Java语言中的动态分派机制。指令如何实现在运行时基于对象实际类型的多态性方法调用。方法,输出 “Dog barks”。方法,但由于运行时的实际对象是。在Java虚拟机(JVM)中,因此,在上述示例中,尽管通过。时,对应的字节码会包含。类型,所以最终执行的是。原创 2024-03-13 01:15:00 · 348 阅读 · 0 评论 -
【JVM】字节码指令 getstatic
是一个字节码指令,用于从类的静态字段(Static Field)获取值,并将这个值压入当前方法的操作数栈顶。这个操作仅适用于类级别的静态变量,而非实例变量。的值(即42),并将这个整数值压入当前线程的操作数栈。指令作用于常量池中的索引 #2,该索引指向了。执行这条指令时,JVM会从。在Java虚拟机(JVM)中,类的内存区域中加载静态字段。原创 2024-03-13 01:00:00 · 392 阅读 · 0 评论 -
【JVM】对象的创建
总之,JVM创建对象的过程涉及到了类加载机制、内存管理以及构造函数调用等多个环节,确保了Java对象的正确创建和初始化。原创 2024-03-12 01:15:00 · 394 阅读 · 0 评论 -
【JVM】直接内存
直接内存(Direct Memory)是Java虚拟机(JVM)管理的另一种非堆内存区域,它并不属于Java堆内存的一部分。类及其相关类来操作直接内存,这些类允许程序直接访问操作系统支持的本机(Native)内存区域,从而绕过Java堆。因此,在使用直接内存时需要谨慎权衡其带来的性能提升与潜在的风险,确保正确有效地管理和释放资源。原创 2024-03-12 01:00:00 · 388 阅读 · 0 评论 -
【JVM】类加载子系统
JVM(Java虚拟机)的类加载子系统是其重要组成部分之一,负责在运行时动态加载、验证、准备、解析和初始化Java类。这个过程从查找类文件到将其转换为可在JVM内部使用的运行时数据结构进行操作。原创 2024-03-11 01:00:00 · 610 阅读 · 0 评论 -
【JVM】运行时数据区
Java虚拟机(JVM)在运行Java程序时,会管理一系列的内存区域,这些内存区域统称为“运行时数据区”。每个区域都具有特定的作用和生命周期,且它们的大小可以通过JVM启动参数进行调整。当某个区域的空间不足时,可能会抛出如。(内存溢出)等错误。原创 2024-03-11 00:45:00 · 676 阅读 · 0 评论