java笔记
java连接数据库问题,其他正确,却还是链接不成功,一般时区问题,尝试解决:
jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
java反射相关问题
例如一个类,Person,这个类
那么我们去Person per = new Person(); //new一个类,即创建一个类,
那么这个Person类会被类加载器加载后,放在堆中里面,即为Class的一个对象,Class cl (即为Class 对象cl)
而用法,在传统上是,对象.方法();
反射,就得反着来,方法.get(对象);
列如:
Person per = new Person() ; // 正着操作-由类到对象
System.out.println(per.getClass().getName()); // 反着来-由对象到类
![]()
反射就是一面镜子,这个镜子就是‘Class对象’,去获取我们写好的类源码,类源码被编译成了字节码文件,然后Class对象(是一面镜子),通过字节码反射(也可以理解为复制)到了Class类加载里,那么我们就可以直接在Class这个类来创建对象等等
这么理解吧,new也是从Class步骤过来,只是New写死,而反射,我们可以从Class这里,需要什么,就从已经在堆里加载好的类,这里面拿(而这个拿就是相当动态New了对象)
反射,就是反着来,突出反这个字。如图中Class加载类这个大方框,跟Runtime运行阶段这个大方框。
new是,我们new,然后从Class里面拿。反射呢,是从Class里面拿,然后去映射出一个对象。

浙公网安备 33010602011771号