![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 69
JVM相关的内容,如字节码、类加载机制等
k0bin
这个作者很懒,什么都没留下…
展开
-
JAVA虚拟机规范读书笔记——JAVA虚拟机结构
1. 数据类型java虚拟具有的数据类型原始类型(primitive type,基本类型/原生类型)引用类型(reference type)1.1 原始类型原始数据类型包括 数值类型 ( 整数类型和浮点类型 )、boolean类型和returnAddress类型1. 整数类型byte类型:值为8位有符号二进制补码整数,默认值为零,取值范围-128~127(即-27 ~ 27-...原创 2019-01-01 00:19:29 · 236 阅读 · 0 评论 -
JAVA字节码指令集(操作数栈管理指令)
操作数栈管理指令指令名称描述pop将栈顶数值弹出(数值不能是long或者double类型的)pop2将栈顶的一个long或者double类型的数值或者两个其他类型的数值弹出dup复制栈顶数值并将复制值压入栈顶dup2复制栈顶的一个long或double类型的值,或两个其他类型的值,并将其压入栈顶dup_x1复制栈顶值并将其插入栈顶那两个值的下...原创 2019-02-13 10:41:50 · 586 阅读 · 0 评论 -
JAVA字节码指令集(控制转移指令)
条件分支指令名称描述ifeq当栈顶int类型数值等于0时跳转ifne当栈顶int类型数值不等于0时跳转iflt当栈顶int类型数值小于0时跳转ifle当栈顶int类型数值小于等于0时跳转ifgt当栈顶int类型数组大于0时跳转ifge当栈顶int类型数值大于等于0时跳转ifnull为null时跳转ifnonnull不为...原创 2019-02-13 10:41:00 · 1084 阅读 · 0 评论 -
JAVA字节码指令集(对象的创建和操作)
对象的创建指令指令名称描述new创建一个对象,并将其引用值压人栈顶newarray创建一个指定原始类型(如int,float,char等)的数组,并将其引用值压人栈顶anewarray创建一个引用型(如类、接口、数组)的数组,并将其引用值压如栈顶multianewarray创建指定类型和指定维度的多维数组(执行该指令时,操作栈中必须包含各维度的长度值...原创 2019-02-13 10:41:11 · 679 阅读 · 0 评论 -
JAVA字节码编写1到100的整数计算
1.代码实例1.1 帮助生成字节码的工具类package asm.bytecode;import org.apache.commons.lang3.StringUtils;import org.objectweb.asm.ClassWriter;import org.objectweb.asm.MethodVisitor;import org.objectweb.asm.Type;i...原创 2018-12-31 02:34:13 · 999 阅读 · 0 评论 -
JAVA字节码指令集(方法调用和返回指令)
方法调用指令 invokevirtual 该指令用于调用对象的实例方法,包括public方法和protected方法 invokeinterface 该指令用于调用接口方法 invokespecial 该指令用于调用一些需要特殊处理的实例方法,包括构造函数、私有方法和父类方法(非实例化对象调用父类方法) invokestatic 该指令用于调用类方法,即static...原创 2019-02-07 20:51:38 · 977 阅读 · 0 评论 -
JAVA字节码指令集(加载存储指令)
1.加载和存储指令加载和存储指令用于将数据从栈帧的本地变量表和操作数栈之间来回传递将本地变量加载到操作数栈的指令(本地变量->操作数栈):iload...原创 2019-02-06 00:04:41 · 798 阅读 · 0 评论 -
JAVA通过ASM字节码为成员方法前后添加其他代码
1. 代码实例package asm.demo2.modify.add;import asm.demo2.create.bean.MyClassLoader;import org.apache.commons.lang3.StringUtils;import org.objectweb.asm.*;import java.io.IOException;import java.lang...原创 2018-12-29 00:11:07 · 3872 阅读 · 2 评论 -
JAVA通过ASM字节码修改成员属性的权限修饰符
1. 程序实例package asm.demo2.modify.access;import org.apache.commons.lang3.StringUtils;import org.objectweb.asm.ClassReader;import org.objectweb.asm.ClassVisitor;import org.objectweb.asm.ClassWriter...原创 2018-12-28 23:24:23 · 1609 阅读 · 0 评论 -
JAVA通过ASM字节码框架生成实体类
1.ASM简介 程序分析,生成和转换是可以被用在很多场景的技术:2.程序实例 /** * 不做限制,可随意命名 */ String fullNameType = "zzz/ddd/ccc/LeakInfo"; ClassWriter cw = new ClassWriter(0); //创建一个类: as...原创 2018-12-27 23:31:41 · 2037 阅读 · 0 评论