![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 71
b1ackc4t
这个作者很懒,什么都没留下…
展开
-
Java-ASM框架学习-修改类的字节码
Tips: ASM使用访问者模式,学会访问者模式再看ASM更加清晰ClassReader用于读取字节码,父类是Object主要作用:分析字节码里各部分内容,如版本、字段等等配合其他Visitor使用主要使用的方法public void accept(ClassVisitor classVisitor, int parsingOptions) { this.accept(classVisitor, new Attribute[0], parsingOptions);}/原创 2022-01-24 10:21:13 · 394 阅读 · 0 评论 -
Java-ASM框架学习-java概念转字节码概念
前言当我们操作字节码的时候,都是和字节码的概念打交道,这让我们很困扰,asm也想到了这点,为了方便,它提供了一个可以把java概念转化为字节码概念的类import org.objectweb.asm.Type;Type类的功能这里仅列举常用功能,要探索更多强力功能请参考官方文档或者源码将类型转化为描述符获取方法参数、返回值的描述符获取类型的槽大小获取方法参数和返回值槽大小@Testvoid fun5() { // 返回Type对象 System.out.printl原创 2022-01-24 10:20:25 · 184 阅读 · 0 评论 -
Java-ASM框架学习-从零构建类的字节码
Tips: ASM使用访问者模式,学会访问者模式再看ASM更加清晰什么是ASMASM是一个操作Java字节码的类库学习这个类库之前,希望大家对Java 基本IO和字节码有一定的了解。高版本的ASM库可以操作它所支持的最高JAVA版本及其以下的字节码ASM版本Java版本2.053.264.075.086.096.1107.0117.1138.0149.0169.117ASM的功能从零生成原创 2022-01-24 10:19:44 · 480 阅读 · 0 评论 -
一文理解Java-class字节码文件
前言java语言在其刚诞生之际喊出的口号–“Write Once,Run Anywhere”,正是基于字节码(byte code)而存在的,java能够做到平台无关性,得力于这样一款优秀的中间语言,字节码的描述能力比java更强,所以它当然还不止为java服务,它同样为运行于JVM的其他语言服务,以作为一款通用的,与平台无关的,交付给JVM执行的媒介广义的class文件就是字节码,但字节码不仅仅是class文件,它作为一段二进制流,还可以以其他各种形式存在,如压缩包(jar)、网络流等等Tips:理论原创 2022-01-24 10:17:26 · 1204 阅读 · 0 评论 -
Java8-JVM内存区域划分白话解读
前言java作为一款能够自动管理内存的语言,与传统的c/c++语言相比有着自己独特的优势。虽然我们无需去管理内存,但为了防范可能发生的异常,我们需要对java内部数据如何存储有一定了解,已应对突发问题,写出更好的程序JVM对运行时程序内存的划分java程序在被编译成字节码后,由JVM执行,执行期间产生的所有数据,会被分门别类的存储在JVM预设好的区域里,具体情况如下所示java6时方法区还属于JVM管理的内存,那时俗称为“永久代”,负责存储:被虚拟机加载的类型信息、方法信息、常量(包括字符串常量)原创 2022-01-24 10:13:15 · 590 阅读 · 0 评论