传智播客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
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
在n×n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在n×n格的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。
回溯算法描述:
void Queue(int n)
{
&nb ......
到http://java.sun.com/javase/downloads/index.jsp下载 JRE 1.6,目前(2008年3月5日)的版本是Java SE Runtime Environment 6 Update 5.
注意:要下载的是Linux self-extracting file而非Linux RPM in self-extracting file
下面执行的命令是在root特权帐户下执行的
下载到的文件是jre-6u5-linux-i586.bin
步骤1: mv ......
一.下载JDK
1.登录Sun的JDK官方下载网址:http://java.sun.com/javase/downloads/index.jsp
2.下载jdk-1_5_0_07-linux-i586-rpm.bin文件
二.安装JDK
1.增加jdk-1_5_0_07-linux-i586-rpm.bin文件的可执行权限
#root> chmod 755 jdk-1_5_0_07-linux-i586-rpm.bin
2.执行jdk-1_5_0_07-linux-i586-rpm.bin
#ro ......