传智播客java学习 自定义注解
今天我复习了反射和内省知识:
反射:Filed,
1. 需求:对于给定的对象的属性进行赋值,
2. 使用方法:已知类的全类名,获取对应的class对象,获取要获取的Filed。
1. 获取私有的Filed:getDeclsredFiled(“class”)
2. 给私有的Field赋值,现需要让其可见setAccessible(true)
3. 再对字段赋值
Method:
1. 获取对应的calss对象
2. 利用class对象的newInstance()方法创建
3. 获取setName(String)对象对应的method对象
4. 调用method对象的invoke()方法进行执行2创建的User对象的setName方法
5. 测试打印
内省:
1. 什么是内省:内省是 Java 语言对 Bean 类属性的一种缺省处理方法。
2. 一般的做法是:一般的做法是通过类 Introspector 来获取某个对象的 BeanInfo 信息,然后通过 BeanInfo 来获取属性的描述器( PropertyDescriptor ),通过这个属性描述器就可以获取某个属性对应的 getter/setter 方法,然后通过反射机制来调用这些方法
org.apache.commons.beanutils
背景:一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度
解决:BeanUtils提供对 Java反射和内省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。
&nb
相关文档:
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......
值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。
==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否 ......
今天我学习了张孝祥老师讲的Java内部类视频,内部类就是在类中定义的类,所以也称为嵌套类。内部类可以分为一下四种:
l 类中定义的类——成员类
l 类中的静态嵌套类——静态成员类
l  ......
今天我学习了张老师讲的集合类视频;做了一些简单的记录
集合类:在面向对象的编程思想中,都是以对象的形式对事物进行描述的,为了保证在对象的生命周期,我们需要持有对象,在很多情况下,我们不知道在程序中需要创建多少个对象,这时就不能依靠定义引用对象的变量来持有每一个对象,
......
今天我听了冯老师讲的session课程:我做了简单的笔记
1. session用来存取大量的数据;可以看做一个容器;
2. 用sessionID(String类型的,唯一的,保存在客户端)来标识session,
3. &nb ......