Advanced Search
Search Results
123 total results found
基本返回类型
Z 表示 Boolean 类型。
GETSTATIC
GETSTATIC 是 Java 字节码指令集中的一个指令,用于获取一个静态字段的值。它通常用于在 Java 字节码中访问静态变量。 当执行 GETSTATIC 指令时,Java 虚拟机将获取指定字段的值,并将其推入操作数栈中。这样,您就可以在字节码中使用其他指令对该值进行操作或返回给调用者。
放弃人逻辑
NESTMEMBER指令
NESTMEMBER是Java字节码中的一个指令,它用于表示一个类成员嵌套在另一个类中。这个指令通常用于表示一个内部类或嵌套类成员。 在Java字节码中,NESTMEMBER指令用于指示一个类成员是另一个类的成员。这个指令通常用于表示一个内部类或嵌套类成员。当一个类包含另一个类的成员时,可以使用NESTMEMBER指令来表示这个关系。 例如,假设有一个外部类A和一个内部类B,B是A的一个成员。在字节码中,可以使用NESTMEMBER指令来表示这个关系。具体来说,在A的字节码中,可以使用NESTMEMBER指令来...
INNERCLASS
INNERCLASS 说明 INNERCLASS是Java字节码中的一个指令,它用于表示一个内部类或嵌套类。这个指令通常用于在字节码中标记一个类为内部类或嵌套类。 在Java中,内部类是一种特殊的类,它被定义在另一个类的内部。内部类可以访问外部类的成员,包括私有成员。这种特性使得内部类在实现一些特定功能时非常有用,例如访问控制、封装和代码重用等。 在Java字节码中,使用INNERCLASS指令来表示一个类是内部类或嵌套类。这个指令通常用于在字节码中标记内部类的信息,以便在运行时被JVM(Java虚拟...
ASTORE
ASTORE是Java字节码中的一种指令,用于将对象引用存储到局部变量表中。这个指令通常用于在方法中创建对象并将其存储在局部变量中,以便在方法的其他部分中使用该对象。 ASTORE指令的语法格式为: astore <variable_name> 其中,<variable_name>是一个变量名,用于指定要存储对象的局部变量的名称。当执行ASTORE指令时,JVM(Java虚拟机)将在局部变量表中创建一个新条目,并将对象的引用存储在该条目中。 需要注意的是,ASTORE指令只能用于存储对象引用,不能用于存储基...
LOCALVARIABLE MAXSTACK 介绍
LOCALVARIABLE context Lcom/sun/tools/javac/util/Context; L0 L4 0 这行代码表示在方法的栈帧中声明了一个名为context的局部变量,其类型为com.sun.tools.javac.util.Context。 L0表示这个局部变量在栈帧中的起始位置是0, L4表示这个局部变量的长度是4(通常表示它占用了4个字节), 最后的0表示这个局部变量没有在方法参数中声明。 2. LOCALVARIABLE instance Lcom/sun/tools/...
hotspot 源码目录介绍
├─agent Serviceability Agent的客户端实现 ├─make 用来build出HotSpot的各种配置文件 ├─src HotSpot VM的源代码 │ ├─cpu CPU相关代码(汇编器、模板解释器、ad文件、部分runtime函数在这里实现) │...
jvm 运行图
影子页面
影子页面(Shadow Page)是指在虚拟化技术中,为了实现虚拟机对物理机的模拟,而在虚拟机中创建的与物理机页面相对应的页面。影子页面通常由虚拟机监控器(Hypervisor)根据物理机的页面表而生成,用于保存物理机的页面数据,以便在虚拟机中访问物理机时进行地址转换和页面映射。 在虚拟机运行时,操作系统会将虚拟地址转换为物理地址,以访问物理机的内存和硬件资源。这个转换过程中,影子页面起到了关键的作用。当虚拟机尝试访问一个虚拟地址时,会触发一个页面异常,这时虚拟机监控器会检查影子页面表,以确定该虚拟地址所对应的物...
预留/黄色区域
当我们重新进入Java时,我们需要重新启用在虚拟机中可能已经被禁用的预留/黄色区域。 * * 在虚拟机中,预留区域(Reserved Zone)的作用主要是为了防止栈溢出的攻击。这个区域是在Java堆栈中设置的一个安全地带,用于保护程序的安全运行。 * 如果线程请求的堆栈大小超过了当前堆栈的容量,Java虚拟机会抛出StackOverflowError异常。 * 在这种情况下,如果存在预留区域,Java虚拟机就会在这个区域内分配新的堆栈,以容纳更多线程。 * 这样,即使在堆栈溢出的情况下,程序也能继续运...
新页面
jvm 常量池类型说明
时间冲突
网络模型优化历程简介
Netty模型介绍: Netty网络模型包含两组线程池,分别是BossGroup 和 workGroup bossGroup负责客户端连接,WorkGroup 负责网络读写 BossGroup和WorkGroup的类型都是NIOEventLoopGroup NIOEventLoopGroup 相当于一个事件循环组,这个组中含有多个事件循环,每一个事件循环都是NioEventLoop NioEventLoop表示一个不断执行处理任务的线程,每个NioEventLoop都有一个Sele...
channel和ChannelPipeline的联系与区别
每个channel有且仅有一个ChannelPipeline与之对应 一个channel 包含一个ChannelPipeline,而一个ChannelPipeline中维护了一个由ChannelHandlerContext组成的双向链表,并且每个ChannelHandlerContext又关联着ChannelHandler 入栈和出栈事件在一个双向链表中,入栈事件会从链表head往后传递到最后一个入栈的handler,出栈事件会从链表tail往前传递到最前一个出栈的handler,两种类型的handler互不干...
服务端启动流程源码分析
一、启动流程简明梳理: 实例化BossGroup线程组 实例化WorkGroup 线程组 实例化ServerBootstrap 配置 ServerBootstrap属性 ServerBootstrap对象绑定端口并监听网络连接 通道监听客户端关闭连接 二、具体流程示意图
bean 生命周期梳理
一、生命周期梳理 实例化前 【InstantiationAwareBeanPostProcessor】 在实例化目标bean之前应用此BeanPostProcessor。返回的bean对象可能是要使用的代理,而不是目标bean,从而有效地抑制了目标bean的默认实例化。如果此方法返回非null对象,则bean创建过程将短路。应用的唯一进一步处理是来自配置的BeanPostProcessors的postProcessAfterInitialization回调 实例化 实例化后 【Instantiation...
spring 事务失效场景
一、Spring事务失效的几种常见场景: 方法不是public的:Spring的AOP代理只适用于public方法。如果你的方法不是public,Spring将无法创建代理来管理事务。 方法不是同一个实例的:如果你在方法调用时使用了不同的实例(可能是通过new关键字直接创建的实例,而不是通过Spring容器获取的实例),Spring将无法管理这个方法的事务。 事务方法被静态方法调用:Spring事务需要通过代理类调用事务方法,而静态方法...
spring 面试题
1.实例化bean的方式 1,使用类构造器实例化(无参构造函数) :直接通过Spring工厂返回类的实例对象 2,使用静态工厂方法实例化(简单工厂模式) :Spring工厂调用自定义工厂的静态方法返回类的实例对象。 3,使用实例工厂方法实例化(工厂方法模式) :Spring工厂调用工厂的普通方法(非静态方法)返回类的实例对象。 2.定义Bean有几种方式 1.Component 2.Controller Service Mapper RestController 3.Bean 4.Configura...