当前位置: 首页 > wzjs >正文

外贸网站海外推广3个必去网站活动软文模板

外贸网站海外推广3个必去网站,活动软文模板,2023年北京疫情怎么样了,wordpress 优化原理类的加载过程 先在方法区找class信息,有的话直接调用,没有的话则使用类加载器加载到方法区(静态成员放在静态区,非静态成功放在非静态区),静态代码块在类加载时自动执行代码,非静态的不执行;先父类后子类,…

类的加载过程

先在方法区找class信息,有的话直接调用,没有的话则使用类加载器加载到方法区(静态成员放在静态区,非静态成功放在非静态区),静态代码块在类加载时自动执行代码,非静态的不执行;先父类后子类,先静态后非静态;静态方法和非静态方法都是被动调用,即不调用就不执行。

在这里插入图片描述

public class LoadClassTest {public static void main(String[] args) {new Person();//静态代码块//构造代码块//无参Personnew Person("a",22);//静态代码块//构造代码块//有参PersonPerson.staticAction();//静态代码块//静态方法Person.id=1;//静态代码块Class c=Person.class;//无结果动态加载Class.forName("Person");//静态代码块ClassLoader cl =ClassLoader.getSystemClassLoader();Class.forName("com.example.fastjson122.demos.web.Person",true,cl);//初始化//静态代码块ClassLoader cl =ClassLoader.getSystemClassLoader();Class.forName("com.example.fastjson122.demos.web.Person",false,cl);//不初始化//无结果c.newInstance();//静态代码块//构造代码块//无参PersonClass<?>c=cl.loadClass("com.example.fastjson122.demos.web.Person");//不初始化的c.newInstance();//静态代码块//构造代码块//无参Person        }
}

类加载机制
1、类加载与反序列化
类加载的时候会执行代码
初始化:加载静态代码块
实例化:加载构造代码块、无参构造函数
2、动态类加载方法
Class.forname
初始化/不初始化
ClassLoader.loadClass不进行初始化
底层的原理,实现加载任意的类
ClassLoader(父类)->SecureClassLoader->URLClassLoader->AppClassLoader(继承关系)
(调用关系)loadClass->findClass(重写的方法)->defineClass(从字节码加载类)

public class LoadClassTest {public LoadClassTest() {}public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, MalformedURLException {ClassLoader cl =ClassLoader.getSystemClassLoader();URLClassLoader urlClassLoader = new URLClassLoader(new URL[]{new URL("file:///C:\\JAVA\\")});URLClassLoader urlClassLoader=new URLClassLoader(new URL[]{new URL("http://localhost:8080/")});URLClassLoader urlClassLoader=new URLClassLoader(new URL[]{new URL("jar:http://localhost:8080/Test2.jar/")});   URLClassLoader urlClassLoader=new URLClassLoader(new URL[]{new URL("jar:file://D:\\tmp\\classes\\Test2.jar/")});Class<?> c = urlClassLoader.loadClass("Test2");c.newInstance();Method defineClassMethod = ClassLoader.class.getDeclaredMethod("defineClass",String.class,byte[].class,int.class,int.class);defineClassMethod.setAccessible(true);byte[] code= Files.readAllBytes(Paths.get("D:\\tmp\\classes\\Test2.class"));Class c=(Class) defineClassMethod.invoke(cl,"Test",code,0,code.length);c.newInstance();}
}

一下两个类是反序列化中常用的两个类都调用了defineClass
在这里插入图片描述
漏洞利用
URLClassLoader 任意类加载:file/http/jar
ClassLoder.defineClass字节码加载任意类 私有(好用,常用)
Unsafe.defineClass 字节码加载 public 类不能直接生成 Spring里可以直接生成

http://www.dtcms.com/wzjs/419062.html

相关文章:

  • 动态网站开发wamp架构网站优化公司大家好
  • 建设项目查询网站怎样搭建自己的网站
  • 做网站推广邢台竞价开户
  • 做网站需要什么图片网络seo哈尔滨
  • 网站开发外包公司企业查询系统官网
  • 河南做网站营销渠道分为三种模式
  • 企业为什么要网站建设百度推广代理怎么加盟
  • 做网站和推广硝酸银试剂盒江苏网站seo设计
  • 沈阳市城乡建设委员会信息网站优化公司排名
  • 电脑网站搜索如何做电脑培训学校在哪里
  • 视频网站是如何做的新网站如何推广
  • 阿里云空间部署网站it培训班学出来有用吗
  • wordpress 站点转移网络推广需要花多少钱
  • 长沙网站建设制作自建站模板
  • 如何建立手机网站传媒网站
  • 资讯网站怎么做最吸引人的营销广告词
  • 手游传奇网站广州广告推广公司
  • 网站建设代理都有哪些seo外推
  • 医院网站需要前置审批爱站工具包的主要功能
  • 毕业设计网站建设百度极速版app下载安装
  • 武汉企业制作网站微信crm
  • 烟台消防建设信息网站免费发广告的平台有哪些
  • 仿新浪全站网站源码网站设计制作在哪里找
  • 做360手机网站首页网络推广有哪些常见的推广方法
  • wordpress 4.9摘要seo优化外包顾问
  • 网站黑链 工具手机网页制作
  • 记事本做网站如何排版无锡网站建设优化公司
  • 温州手机网站制作公司电话google ads 推广
  • 辽阳网站网站建设营销模式都有哪些
  • 全国新冠疫情最新消息数据表北京seo课程