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

网站优化要做哪些南通网站优化找哪家

网站优化要做哪些,南通网站优化找哪家,没签合同网站做不好,商务网站开发考卷类的加载过程 先在方法区找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/829654.html

相关文章:

  • 二手房网站建设及推广方案成都有实力的网站建设
  • 上海网站建设招标大连专业网页设计
  • 南宁有多少家网站建设推广的公司wordpress在手机登录
  • 静态网站规范做美工需要知道的设计网站
  • 运城网站制作国内优秀企业网站欣赏
  • 怎么让别人找你做网站琼海网站建设公司
  • 创建网站基本流程电商系统的服务商
  • 网站建设费用明细报价北京注册公司政策
  • 门户网站官网有哪些做网站的资源有哪些
  • 12306网站开发时间秦皇岛网站团队
  • 怎么把网站做二维码长沙商城小程序开发
  • 企业品牌网站建设定制开发电子政务网站设计
  • 建设专业网站哪家更专业软件网站开发合同
  • 网站后台是做什么的零基础网站建设教程
  • 网站开发的初始密码电商网站建站报价
  • 郑州互助盘网站开发网站注册登录
  • 郑州高端网站定制建设2019做网站的出路
  • 专做废旧电子电路板配件回收的网站做企业云网站的企业
  • 好的 做网站的软件公司运城哪家做网站的公司好
  • dedecms 旅游网站模板下载阿里云主机怎么做两个网站吗
  • 北京专业制作网站公司哪家好怎么联系网站开发团队
  • 企业网站分为哪三种类型有关外贸的网站有哪些内容
  • 永久免费网站建设系统行业网站怎么做
  • 企业网站搜索优化外包wordpress cgi漏洞
  • 服务好的镇江网站优化搜索引擎最新排名
  • 郑州妇科医院哪家排名比较好放心网站推广优化咨询
  • 做网站如何组建域名免费网站下载app软件
  • 利用vps做网站企业网站一般做多宽
  • 网站设计深圳联系电话?徐州专业建站公司
  • 适合做网站背景的图片用友erp管理软件系统