您当前的位置: 首页 >  Java

wespten

暂无认证

  • 0浏览

    0关注

    899博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java通过自定义类加载器模拟冰蝎免杀功能

wespten 发布时间:2022-08-04 08:27:07 ,浏览量:0

一、Java类加载器

类加载器属于JVM的一个重要知识点,也是Java安全里命令执行、webshell管理器编写的常用技术。

类加载器简介

我们知道java源文件在运行前会被编译为class类文件,存放着编译后JVM虚拟机指令的二进制字节流。当使用某类时,JVM就会加载它并在内存中创建对应的class对象。该过程称为类的加载。

类加载过程

过程如下:

  • 加载阶段 通过一个类的完全限定名称来查找该类的字节码文件,并利用字节码文件来创建一个Class对象。
  • 链接阶段 负责把类的二进制数据合并到JRE中。 又可以分为以下三个阶段: 1、验证阶段 用来确保Class文件中包含的字节流信息符合当前Java虚拟机的要求。 2、准备阶段 为static修饰的静态类变量分配内存,并将其设置为默认值; 不会分配并初始化用 final 修饰符修饰的 static 变量,因为该类变量在编译时就会被分配到内存空间; 不会分配并初始化实例变量,因为实例变量会随对象一起分配到 Java 堆中,而不是 Java 方法区; 3、解析阶段 将类的二进制数据中的符号引用转换为直接引用。
  • 初始化阶段 类加载的最后阶段,若该类具有父类,则先对父类进行初始化,执行静态变量赋值和静态代码块代码࿰
关注
打赏
1665965058
查看更多评论
立即登录/注册

微信扫码登录

0.0638s