Java类加载机制
...
Java动态代理
概念代理模式是Java中常用的设计模式。 其特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。 代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法来提供简单的服务。简单的说就是,我们在访问实际对象时,是通过代理对象来访问的,代理模式就是在访问实际对象时引入一定程度的间接性,因为这种间接性,可以附加多种用途。 静态代理指在编译时接口,代理类,被代理类等就已经确定下来了,在程序运行之前,代理类的.class文件就已经生成。 需要代理类与委托类有相同的接口 缺点:当需要代理的对象过多就需要实现大量的代理类,并且当接口增加方法,目标对象与代理对象都要进行修改 Demo: 拿学生交作业举例,一般都是学生交给课代表,课代表交给老师这种模式。此时学生就相当于委托类,课代表相当于一个学生代理类。 这里需要一个公共的接口,即学生(委托类)和课代表(代理类)的公共接口: 123public interface Event{ ...
Java反射
Java反射机制java动态特性:一段代码,改变其中的变量,将会使这段代码产生功能性的变化。 Java反射机制是指在运行状态时,对于任意一个类,都能够获取这个类的所有属性和方法;对于一个对象,都能够调用它的任意一个方法和属性(包括私有方法和属性),这种动态获取信息以及动态调用对象方法的功能就称为Java的反射机制。 通过使用反射我们不仅可以获取到任何类的成员方法(Methods)、成员变量(Fields)、构造方法(Constructors)等信息,还可以动态创建Java类实例、调用任意的类方法、修改任意的类成员变量值等。 12345public void execute(String className, String methodName) throws Exception { Class clazz = Class.forName(className); // 动态加载类 clazz.getMethod(methodName) // 获取方法对象 ...
IDEA使用配置教程
MAVEN配置什么是MAVENApache Maven 是一个基于 POM(Project Object Model,项目对象模型) 的 项目管理与构建工具,主要用于 Java 项目,但也支持其他语言(如 C#、Ruby 等)。它的核心目标是简化项目的构建、依赖管理和标准化开发流程。 MAVEN下载访问maven官网:**MAVEN官网** 点击download,windows点图中的链接下载: 将下载的压缩包解压即可 环境配置打开解压后的文件,复制好apache-maven的路径: 打开环境变量设置:设置->查看高级系统设置->环境变量 点新建: 12变量名称:MAVEN_HOME值:复制的apache-maven路径 找到path:编辑->新建 1%MAVEN_HOME%\bin 确定即可,然后查看是否配置成功,win+R运行cmd,输入mvn...
PHP黑魔法
黑魔法所谓黑魔法,即指在web开发中,一些看似违反直觉,但能实现特殊功能的技巧或语言特性,而这些特性往往依赖php的弱类型、动态特性或隐式转换机制,就是利用函数的逻辑漏洞来进行攻击。 全局变量如果存在<?php include('flag.php');,可以用下面的方法得到flag $GLOBALSphp全局变量$GLOBALS引用全局作用域中可用的全部变量,可利用这个特性看flag: get_defined_vars()用法:**var_dump(get_defined_vars())** intval()函数缺陷intval() 函数用于将其他类型的数据转化为整型数据。 1intval(mixed $value, int $base = 10):...
MD5和sha1绕过总结
弱比较类型 php中的等比较运算符有两种,==和===。 ==:先将左右两边类型转化成一致,再进行比较值是否一致 ===:先比较左右类型是否一致,若一致再比较值是否一致 字符串与数字比较 123var_dump('a' == 0); //bool(true)var_dump('1a' == 1); //bool(true)var_dump('12a' == 1); //bool(false) 字符串在和数字比较的时候会将字符串转化为数字,如果字符串是以数字开头的,则会转换成数字再做比较,纯字符串则转换失败成false 例: 123456789$key = $_GET['key']; if(!is_numeric($key)) { exit("Just num!"); } $key = intval($key); $str =...










