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

深圳微网站建设公司哪家好违规网站备案

深圳微网站建设公司哪家好,违规网站备案,做算命网站,百度allin 人工智能时间轴#xff1a; Java反射相关类图解#xff1a; 反射#xff1a; 1、什么是 Java 反射 参考#xff1a; https://xz.aliyun.com/t/9117 Java 提供了一套反射 API #xff0c;该 API 由 Class 类与 java.lang.reflect 类库组成。 该类库包含了 Field 、 Me…时间轴 Java反射相关类图解 反射 1、什么是 Java 反射 参考 https://xz.aliyun.com/t/9117 Java 提供了一套反射 API 该 API 由 Class 类与 java.lang.reflect 类库组成。 该类库包含了 Field 、 Method 、 Constructor 等类。 对成员变量成员方法和构造方法的信息进行的编程操作可以理解为反射机制。 2、为什么要用到反射 参考 https://xz.aliyun.com/t/9117 其实从官方定义中就能找到其存在的价值在运行时获得程序或程序集中每一个类型的成 员和成员的信息从而动态的创建、修改、调用、获取其属性而不需要事先知道运行的 对象是谁。划重点在运行时而不是编译时。不改变原有代码逻辑自行运行的时候动 态创建和编译即可 3、反射机制应用 开发应用场景 Spring 框架的 IOC 基于反射创建对象和设置依赖属性。 SpringMVC 的请求调用对应方法也是通过反射。 JDBC 的 Class#forName(String className) 方法也是使用反射。 安全应用场景 构造利用链触发命令执行 反序列化中的利用链构造 动态获取或执行任意类中的属性或方法 动态代理的底层原理是反射技术 rmi 反序列化也涉及到反射操作 演示案例 Java-反射-Class 对象类获取 Java-反射-Field 成员变量类获取 Java-反射-Method 成员方法类获取 Java-反射-Constructor 构造方法类获取 Java-反射-不安全命令执行反序列化链 #Java-反射-Class 对象类获取 //1 、根据类名类名 .class Class userClass User.class; //2 、根据对象对象 .getClass() User user new User(); Class aClass user.getClass(); //3 、根据全限定类名 Class.forName( 全路径类名 ) Class aClass1 Class.forName(com.example.reflectdemo.User); //4 、通过类加载器获得 Class 对象 //ClassLoader.getSystemClassLoader().loadClass( 全路径类名 ); ClassLoader clsloadClassLoader.getSystemClassLoader(); Class aClass2 clsload.loadClass(com.example.reflectdemo.User); 演示 1.创建ReflectDemo 2.删除这三个和子目录 3.创建user 4.创建成员变量构造方法成员方法 package com.example.reflectdemo;public class User {//成员变量public String namexiaodi;public int age 31;private String genderman;protected String jobsec;//构造方法public User(){//System.out.println(无参数);}public User(String name){System.out.println(我的名字name);}private User(String name,int age){System.out.println(name);System.out.println(age);}//成员方法public void userinfo(String name,int age,String gender,String job){this.jobjob;this.ageage;this.name name;this.gendergender;}protected void users(String name,String gender){this.name name;this.gendergender;System.out.println(users成员方法name);System.out.println(users成员方法gender);}}获取类的4种方法 //1、根据类名类名.class Class userClass User.class; //2、根据对象对象.getClass() User user new User(); Class aClass user.getClass(); //3、根据全限定类名Class.forName(全路径类名) Class aClass1 Class.forName(com.example.reflectdemo.User); //4、通过类加载器获得 Class 对象 //ClassLoader.getSystemClassLoader().loadClass(全路径类名); ClassLoader clsloadClassLoader.getSystemClassLoader(); Class aClass2 clsload.loadClass(com.example.reflectdemo.User); 注意获取全部路径是复制路径——复制引用 package com.example.reflectdemo;public class GetClass {public static void main(String[] args) throws ClassNotFoundException {//1、根据全限定类名Class.forName(全路径类名)Class aClass Class.forName(com.example.reflectdemo.User);System.out.println(aClass);//2、根据类名类名.classClass userClass User.class;System.out.println(userClass);//3、根据对象对象.getClass()User user new User();Class aClass1 user.getClass();System.out.println(aClass1);//4、通过类加载器获得Class对象//ClassLoader.getSystemClassLoader().loadClass(全路径类名);ClassLoader clsloadClassLoader.getSystemClassLoader();Class aClass2 clsload.loadClass(com.example.reflectdemo1.User);System.out.println(aClass2);} } 运行结果 Java-反射-Field 成员变量类获取 利用反射获取变量图解 创建GetFiled package com.example.reflectdemo;import java.lang.reflect.Field;public class GetFiled {public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException {Class aClass Class.forName(com.example.reflectdemo.User);//获取公共的成员变量 // Field[] fields aClass.getFields(); // for(Field fd:fields){ //将Fields的值依次给到fd // System.out.println(fd); // }//获取所有的成员变量 // Field[] fields aClass.getDeclaredFields(); // for(Field fd:fields){ // System.out.println(fd); // }// //获取单个的公共成员变量 // Field name aClass.getField(name); // System.out.println(name); // // //获取单个的成员变量 // Field gender aClass.getDeclaredField(gender); // System.out.println(gender);//获取公共的成员变量age的值User u new User();Field fieldaClass.getField(age);//取值Object afield.get(u);System.out.println(a);//赋值field.set(u,32);Object aafield.get(u);System.out.println(aa);} }第一个获取公共的成员变量的运行结果Filed[] getFields(): 得到的与User.java中的public下的变量相似 第二个获取所有的成员变量的运行结果 第三个  1.获取单个的公共成员变量  2.获取单个的成员变量 第四个赋值与获取值 Java-反射-Constructor 构造方法类获取 获取构造方法图解 创建GetConstructor package com.example.reflectdemo;import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException;public class GetConstructor {public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {Class aClass Class.forName(com.example.reflectdemo.User);//获取公共的构造方法 // Constructor[] constructors aClass.getConstructors(); // for (Constructor con:constructors){ // System.out.println(con); // }//获取所有的构造方法 // Constructor[] constructors aClass.getDeclaredConstructors(); // for (Constructor con:constructors){ // System.out.println(con); // }//获取单个的公共的构造方法 // Constructor constructor aClass.getConstructor(String.class); // System.out.println(constructor); // // //获取单个的构造方法 // Constructor con1 aClass.getDeclaredConstructor(String.class,int.class); // System.out.println(con1);//对构造方法进行操作(两个参数stringint) // Constructor con2aClass.getDeclaredConstructor(String.class,int.class); // //临时开启对私有的访问 // con2.setAccessible(true); // User uu(User) con2.newInstance(xiaodigaygay,40);//System.out.println(uu);//对构造方法进行执行(1个参数strin) // Constructor con2aClass.getConstructor(String.class); // con2.newInstance(xiaodigaygay);} }第一个获取公共的构造方法 第二个获取所有的构造方法 第三个获取单个的构造方法公共私有 第四个对构造方法进行操作 Java-反射-Method 成员方法类获取 利用反射获取成员方法图解 创建GetMethod package com.example.reflectdemo1;import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method;public class GetMethod {public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException {Class aClass Class.forName(com.example.reflectdemo1.User); // //获取包括继承的公共成员方法 // Method[] methods aClass.getMethods(); // for(Method me:methods){ // System.out.println(me); // }//获取不包括继承的所有成员方法 // Method[] methods aClass.getDeclaredMethods(); // for(Method me:methods){ // System.out.println(me); // }//获取单个的成员方法 // Method users aClass.getDeclaredMethod(users, String.class,String.class); // System.out.println(users);//对成员方法进行执行 // User u new User(); // Method users aClass.getDeclaredMethod(users, String.class,String.class); // users.invoke(u,xiaodigay,gay1);} }获取包括继承的公共成员方法 以下为继承的方法 获取不包括继承的所有成员方法 获取单个的成员方法 对成员方法进行执行 Java-反射-不安全命令执行反序列化链‘ 对于反序列化基础就是反射jdbc连接数据库rmi package com.example.reflectdemo;import java.io.IOException; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method;public class GetRunExec {public static void main(String[] args) throws IOException, ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException {//原生调用 JDK自带的rt.jar//Runtime.getRuntime().exec(calc);//如果是第三方的jar包呢Class aClass Class.forName(java.lang.Runtime);//获取所有公共包括继承的成员方法 // Method[] methods aClass.getMethods(); // for(Method me:methods){ // System.out.println(me); // }//获取exec成员方法Method exec aClass.getMethod(exec, String.class);//获取getRuntime成员方法Method getRuntimeMethod aClass.getMethod(getRuntime);//执行Object runtime getRuntimeMethod.invoke(aClass);exec.invoke(runtime, calc.exe);} }1.使用原生调用 JDK自带的rt.jar 按住runtime可以查看getRuntime这个函数的出处 2.使用反射机制来启动计算器 可以使用ctlF来进行搜索 JAVA反序列化 JAVA反序列化 - Commons-Collections组件 - 先知社区 JAVA反序列化 - 反射机制 - 先知社区 java反序列化验证工具 本文章由李豆豆喵和番薯小羊卷~共同完成
http://www.w-s-a.com/news/605632/

相关文章:

  • asp网站开发设计文档php建设网站怎么用
  • 服装公司网站建设需求分析报告seo搜索引擎优化实战
  • wordpress 扒站最近最新新闻
  • 手机wap网站开发与设计wordpress域名无法访问
  • 百度收录网站收费吗做网站用vs还是dw
  • 维度网络专业做网站嘉兴网站建设方案服务
  • 成品电影网站建设中国最顶尖设计师
  • 网站建设报价清单明细视频网站如何做营销
  • 建设农业网站的论文做国外网站有哪些
  • 怎么做网页 网站制作张家港网站制作哪家好
  • 创世网站建设公司书籍封面设计网站
  • 国外优秀网站设计欣赏小程序推广赚佣金
  • 徐州人才网官方网站邯郸seo优化公司
  • 海南响应式网站建设哪里好瑞安电影城网站建设
  • wordpress widgetkit济南优化网站厂家
  • 麦片网站建设佛山短视频推广渠道
  • 免费自助建网站销售的网络建设
  • 传媒大气的网站网站怎么做分类聚合
  • 网站可以自己备案吗crm系统架构图
  • 罗湖网站建设58做网站的公司盐城
  • 网站开发答辩想要去网站做友情链接怎么发邮件
  • 网站名称填写什么广告网络推广怎么做
  • 做网站架构需要注意什么百度竞价排名推广
  • 网站接口设置地税局内网网站建设
  • 谷歌提交网站入口wordpress前台自动登录
  • 规模以上工业企业的标准是什么洛阳霞光seo网络公司
  • 怎样用文本建一个网站做美容美发学校网站公司
  • 南宁企业网站建设制作芜湖网站建设推广
  • 泉州市建设局网站公示深圳建站公司好坏
  • 如何搭建网站教程一个人制作网站