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

电子商务网站设计小结淘宝放单网站开发

电子商务网站设计小结,淘宝放单网站开发,wordpress密码访问,花店网站建设环境分析理解动态代理底层 public static Object newProxyInstance(ClassLoader loader,Class?[] interfaces,InvocationHandler h)根据我的理解#xff1a; 步骤 Objects.requireNonNull(h); 判断代理实例的调用处理程序对象不为空 也就是你目前实现的这个接口不为空 fin…理解动态代理底层 public static Object newProxyInstance(ClassLoader loader,Class?[] interfaces,InvocationHandler h)根据我的理解 步骤 Objects.requireNonNull(h); 判断代理实例的调用处理程序对象不为空 也就是你目前实现的这个接口不为空 final Class?[] intfs interfaces.clone(); final SecurityManager sm System.getSecurityManager();final Class?[] intfs interfaces.clone();这个是获得你这个接口的克隆对象final SecurityManager sm System.getSecInvocationHandlerurityManager();这个是获得安全管理器这里面是分配安全权限的地方。 这个安全管理器的应用场景是当运行未知的Java程序的时候该程序可能有恶意代码删除系统文件、重启系统等为了防止运行恶意代码对系统产生影响需要对运行的代码的权限进行控制这时候就要启用Java安全管理器。权限分为以下类别文件、套接字、网络、安全性、运行时、属性、AWT、反射和可序列化。 if (sm ! null) {checkProxyAccess(Reflection.getCallerClass(), loader, intfs); }这里是判断安全管理器不为空然后执行代理访问的方法第一个是获得调用反射这个类的对象第二个参数就是你自己写的实现了InvocationHandler的类的对象第三个参数就是你代理的接口对象 ​ 这个方法的实现是 private static void checkProxyAccess(Class? caller,ClassLoader loader,Class?... interfaces){SecurityManager sm System.getSecurityManager();if (sm ! null) {ClassLoader ccl caller.getClassLoader();if (VM.isSystemDomainLoader(loader) !VM.isSystemDomainLoader(ccl)) {sm.checkPermission(SecurityConstants.GET_CLASSLOADER_PERMISSION);}ReflectUtil.checkProxyPackageAccess(ccl, interfaces);}}SecurityManager sm System.getSecurityManager();这个同样是拿到系统安全管理器 if (sm ! null) {ClassLoader ccl caller.getClassLoader();if (VM.isSystemDomainLoader(loader) !VM.isSystemDomainLoader(ccl)) {sm.checkPermission(SecurityConstants.GET_CLASSLOADER_PERMISSION);}ReflectUtil.checkProxyPackageAccess(ccl, interfaces);}这个先判断管理器是否为空不为空时1、获取Reflection调用反射这个类的对象的类加载器。2、判断调用我实现了InvocationHandler必须是系统类加载器的也就是AppClassLoader以及调用反射类的对象不能是系统类加载器(AppClassLoader)3、然后调用检查权限检查的是运行时权限4、·ReflectUtil.checkProxyPackageAccess(ccl, interfaces);检查代理包的访问public static final String PROXY_PACKAGE com.sun.proxy; Class? cl getProxyClass0(loader, intfs);这个获得代理类 private static Class? getProxyClass0(ClassLoader loader,Class?... interfaces) {if (interfaces.length 65535) {throw new IllegalArgumentException(interface limit exceeded);}// If the proxy class defined by the given loader implementing// the given interfaces exists, this will simply return the cached copy;// otherwise, it will create the proxy class via the ProxyClassFactoryreturn proxyClassCache.get(loader, interfaces);}上面是判断class字节码文件的大小的如果超出了就报错return中的get方方法就是搞缓存的 太多了不想看了 try {if (sm ! null) {checkNewProxyPermission(Reflection.getCallerClass(), cl);}final Constructor? cons cl.getConstructor(constructorParams);final InvocationHandler ih h;if (!Modifier.isPublic(cl.getModifiers())) {AccessController.doPrivileged(new PrivilegedActionVoid() {public Void run() {cons.setAccessible(true);return null;}});}return cons.newInstance(new Object[]{h});1、获得安全管理器2、检查新代理的权限就是检查包名和类加载器3、判断代理类的修饰符是否为public不是的话就继续走4、就是设置权限可访问5、返回一个新实例
http://www.zqtcl.cn/news/31878/

相关文章:

  • 维护公司网站建设cms管理手机网站模板
  • 导航网站搭建手机app免费开发软件
  • 哪些网站收录排名好网站建设咨询客户话术
  • 医院网站优化策划做网站的公司 北京
  • 产品展示类网站模板动画网站欣赏
  • 做企业网站还有钱挣吗厦门做公司网页娃
  • 广州网站建设服务商音乐网站建设规划
  • 1个月能学好网站开发吗wordpress 邮件差价
  • 徐州专业网站建设wordpress 技术主题
  • 免费用搭建网站公章在线制作网站
  • 城固县网站建设镇江建站推广报价
  • 大连微信网站制作做网站维护工作难吗
  • 深圳电商网络网站建设站长网站被跳转怎么办
  • 大良网站建设收费WordPress网络超时
  • 黑龙江 建设监理协会网站传奇网页版在线玩
  • html5开发微网站我理解的网络营销是什么
  • 电子商务网站建设与管理设计报告电子网站建设维护
  • 怎样建自己的网站广西做网站公司有哪些
  • 网站建设的工作职责中文网站建设教程
  • 建设电子商务网站的基本步骤北京中高风险地区最新名单最新
  • 招商局网站建设管理总结找公司做网站
  • 网站建设销售ppt模板wordpress关键词排名
  • 旅游网站的规划与建设开题报告wordpress 评论点赞
  • 怎么看网站是用什么系统做的智鼎互联网站建设
  • 单页网站源码下载邯郸购物网站建设
  • 专业网站策划 西安手机版的网站怎么做
  • 符合三网标准的网站建设qq邮箱网页版
  • 网站备案查询不出来网页制作与设计src什么意思
  • 现在那个网站做视频最赚钱公司建设网站流程
  • 门户网网站seo怎么做货源网站程序