- 博客(4)
- 收藏
- 关注
原创 ReadObject源码分析01
获取到id后,返回继续执行,后边代码是将model和desc中的一些信息赋值给自己的全局变量,model是传入的,是根据流获取的反序列化类的一些属性,desc是我本方法根据class模板获取的对象信息,执行完方法后,返回readNonProxyDesc方法,最终执行完毕,返回desc这个类描述对象。当没有显示的手动创建serialVersionUID时,会进入computeDefaultSUID()计算生成。这个方法主要是从流的方向获取反序列化类的一些信息。执行我们之前设置的无参构造函数的invoke()
2023-12-04 09:40:43 176
原创 log4j反序列化源码分析
从log.info到lookup一句话分析一些小建议代码的整个流程吧![在这里插入图片描述](https://img-blog.csdnimg.cn/93b8015446124914974aa1d153af4a33.png#pic_center)脑图自取最后吧 一句话分析 整体的返序列化流程我觉得分为三部分: 1. log4j本身的一些日志等级判断,配置判断和一些对象的初始化 2. 从log.info("当前用户为:{}","${jndi:ldap://127.0.0.1:1389/Exploit}")中提
2023-09-20 11:39:48 59 1
转载 sql 优化
转载,侵权联系我删除! 1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。 例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就...
2019-05-13 19:40:08 89
原创 反射总结一
*## 反射总结《一》 ##* 获取Class类 Object obj = new Object(); //第一种方式,已经创建对象了,反射什么?一般用不到。 Class clazz = obj.getClass(); // 第二种方式 claz...
2018-07-27 15:10:59 219
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人