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

wordpress资源站源码网站域名登录

wordpress资源站源码,网站域名登录,广州交易中心官网,有后台的网站怎么做我的后端学习大纲 我的Java学习大纲 1、Java反射机制原理图#xff1a; 源代码通过Javac编译得到字节码文件#xff0c;当我执行到new一个对象的时候#xff0c;字节码文件会通过ClassLoader被加载#xff0c;然后得到一个Class类对象#xff0c;存放在堆中#xff0c;加… 我的后端学习大纲 我的Java学习大纲 1、Java反射机制原理图 源代码通过Javac编译得到字节码文件当我执行到new一个对象的时候字节码文件会通过ClassLoader被加载然后得到一个Class类对象存放在堆中加载完后Cat对象就生成了生成的这个对象一定知道它是属于哪个Class类对象的 2、理解java.lang.Class类 1.1.类的加载过程 a.编译 程序经过javac.exe命令以后会编译生成一个或多个字节码文件(.class结尾) b.类加载 1.我们使用java.exe命令对某个字节码文件进行解释运行相当于把某个字节码文件加载到内存中。这个过程就是类加载的过程不包括编译那一步2,加载到内存中的类我们就称为运行时类这个运行时类就作为Class类的一个实例对象 比如Class clazz Cat.classCat的这个运行时类Cat.class就是Class类的实例对象换句话说Class的实例对象就对应着一个运行时类。类的本质也是对象万事万物皆对象加载到内存中的运行时类会缓存一定的时间。在此时间之内我们可以通过6种不同的方式来获取此运行时类(获取Class类的实例对象) 3、获取Class类实例对象的方法: 根据下图类加载的过程我们在不同阶段有不同方式来获取Class类实例对象 3.1.方式1在代码阶段: 通过Class的静态方法forName(String classPath)获取 1.已知一个类的全类名且该类在类的路径下那么就可以通过Class类的静态方法forName()获取可以抛出ClassNotFoundExpection2.实例对象Class cls1 Class.forName(java.lang.Cat)这种方式会进行类的静态初始化工作3.应用场景多用于配置文件读取类全路径加载类 //方式一调用Class的静态方法forName(String classPath)参数是类的包路径 Class clazz3 Class.forName(com.atguigu.java.Person); //clazz3 Class.forName(java.lang.String); System.out.println(clazz3);//输出com.atguigu.java.Person3.2.方式2在加载阶段: 在加载阶段通过调用运行时类的属性.class获取 1.若已经知道具体的类通过类的class获取此方式最为安全可靠程序性能最高举例如Class cls Cat.class; 这种方式不会做任何类的初始化工作2.应用场景多用于参数传递、如通过反射得到对应的构造器对象。 //方式二调用运行时类的属性.class Class clazz1 Person.class; System.out.println(clazz1);//输出com.atguigu.java.Person3.3.方式3在运行阶段 在运行阶段通过调用运行时类的对象通过对象.getClass()获取 1.已知某个类的实例调用该实例的getClass()方法获取Class对象实例2.实例Class cls 对象.getClass();//运行类型3.应用场景通过创建好的对象获取Class对象4.这种方式静态初始化和非静态初始化工作都会进行 //方式三通过运行时类的对象,调用getClass()已经知道了Person类的P对象通过调用这个类的getclass方法就可以获取Class类的实例Person p1 new Person();Class clazz2 p1.getClass();System.out.println(clazz2);//输出com.atguigu.java.Person3.4.方式4使用类加载器ClassLoader() 通过类加载4种加载器器获取Class类对象 1.ClassLoader cls 对象.getClass().getClassLoader();class clazz4 cls.loadClass(全类名) //方式四使用类的加载器ClassLoader (了解)ClassLoader classLoader car.getClass.getClassLoader();//得到类加载器carClass clazz4 classLoader.loadClass(com.atguigu.java.);//通过类加载器得到Class对象System.out.println(clazz4);3.5.方式5基本数据类型获取Class类对象 1.基本数据类型int\char\boolean\float\double\byte\long\short按照如下方式可以获取到Class类对象Class cls 基本数据类型.class 3.6.方式6基本数据类型对应的包装类 1.基本数据类型对应的包装类可以通过.type得到Class类对象Class cls 包装类.type //5. 基本数据(int, char,boolean,float,double,byte,long,short) 按如下方式得到Class类对象ClassInteger integerClass int.class;ClassCharacter characterClass char.class;ClassBoolean booleanClass boolean.class;System.out.println(integerClass);//int//6. 基本数据类型对应的包装类可以通过 .TYPE 得到Class类对象ClassInteger type1 Integer.TYPE;ClassCharacter type2 Character.TYPE; //其它包装类BOOLEAN, DOUBLE, LONG,BYTE等待System.out.println(type1);//下面两个输出的值是一样的System.out.println(integerClass.hashCode());System.out.println(type1.hashCode());4、获取Class类的实例对象 4.1.哪些类型可以作为Class类的实例对象 1.外部类成员内部类静态内部类局部内部类匿名内部类2.interface接口3.enum:枚举4.annotation注解6.基本数据类型7.void8.Class本身 4.2.编码测试 package com.hspedu.reflection.class_;import java.io.Serializable;/*** 演示哪些类型有Class对象*/ public class AllTypeClass {public static void main(String[] args) {ClassString cls1 String.class;//外部类ClassSerializable cls2 Serializable.class;//接口ClassInteger[] cls3 Integer[].class;//数组Classfloat[][] cls4 float[][].class;//二维数组ClassDeprecated cls5 Deprecated.class;//注解ClassClass cls6 Class.class;//注解//枚举ClassThread.State cls6 Thread.State.class;ClassLong cls7 long.class;//基本数据类型ClassVoid cls8 void.class;//void数据类型ClassClass cls9 Class.class;//System.out.println(cls1);System.out.println(cls2);System.out.println(cls3);System.out.println(cls4);System.out.println(cls5);System.out.println(cls6);System.out.println(cls7);System.out.println(cls8);System.out.println(cls9);} }1.2.理解java.lang.Class类 1.Class也是类因此也继承Object类 在Object类中定义了方法public final Class getClass()这个方法将被所有子类继承。public final Class getClass()这个方法返回值的类型是一个Class类此类是Java反射的源头针对任何你想动态加载、运行的类唯有先获得相应的Class对象。实际上所谓反射从程序的运行结果来看也很好理解即可以通过对象反射求出类的名称 2.Class类对象不是new出来的只能是系统创建出来的 通过debugger发现反射也是通过ClassLoad类加载Class对象 3.对于某个类的Class类对象在堆内存中只有一份因为类只加载一次 一个Class对象对应的是一个加载到JVM中的一个.class文件 4.每个类的实例对象都会记得自己是由哪个Class实例对象运行时类所生成的5.通过一系列的API和Class类的实例对象可以完整的得到一个类的完整结构 6.Class对象是存放在堆中的类的字节码二进制数据是存放在方法区的有的地方称之为类的元数据包括方法代码变量名方法名访问权限等
http://www.hkea.cn/news/14385888/

相关文章:

  • 北京企业建设网站制作网站字号多大
  • 中职教材 网站建设微信广告推广平台
  • 58同城做网站找谁wordpress 表格插件
  • 网站优化排名工具成都工装公司
  • 网站开发工具总结做网站编程用什么语言好
  • 网站移动端生成器苏州工业园区做政务网站的公司
  • wordpress网站不稳定阿里云服务器可以访问国外网站吗
  • 贵阳做网站的3免费做网站
  • 中国国家住房和城乡建设部网站首页网站架构设计招聘
  • 电商网站建设 数商云国际电商平台排行榜
  • 如何做网站内容管理网络规划设计师具体干什么
  • 如何做网站推广赚钱网站便宜建设
  • 导购网站模板免费下载网站建设需要几步
  • 关于设计图的网站淄博英文网站建设
  • 乡镇卫生院网站建设模板wordpress博客广告代码
  • 网站建设公司yu郑州网站建设哪家公司好
  • 网站免费的有没有影视传媒广告公司网站模板
  • 挂马网站现象网站架构价格
  • 网站建设常用软件jas2023网站seo
  • 儋州网站建设wordpress 4
  • 性做爰网站网页制作培训计划
  • 别人带做的网站关闭了权限咋办青岛网站建设哪家更好
  • 少儿英语做游戏网站推荐startup wordpress
  • 手机搭建网站企业机房建设公司
  • 福建南平网站建设杭州拱墅区网站建设
  • 有关于做茗茶的网站如何重视企业网站的建设
  • 国内优秀网站网页设计重庆承越网站建设公司
  • 酒店网站建设流程举报网站平台
  • 苏州外贸营销网站建设做的网站怎样更新
  • 如何建一个个人的网站企业融资顾问