笔记
1.反射中用到的
field.getGenericType().getTypeName()
Class:
Field[] getDeclaredFields()
返回 Field 对象的一个数组,这些对象反映此 Class 对象所表示的类或接口所声明的所有字段。
Field:
Type getGenericType()
返回一个 Type 对象,它表示此 Field 对象所表示字段的声明类型。
Type:
Type 是 Java 编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型变量和基本类型。
Class 类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。
每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。
基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象。
Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的。
易忘:
创建DataSource
ComboPooledDataSource ds = new ComboPooledDataSource();
ds.setUser("root");
ds.setPassword("root");
ds.setJdbcUrl("jdbc:mysql:///springdb");
ds.setDriverClass("com.mysql.jdbc.Driver");
因为有:Queryrunner qr = new Queryrunner(dataSource);
所以:会有有参构造
单例模式:
有一个私有的构造方法
有一个私有的静态的成员变量,
实例化出来一个ConnectionUtils
用单例和多例的标准只有一个:
当对象含有可改变的状态时(更精确的说就是在实际应用中该状态会改变),则多例,否则单例;
就曾见过有的service中也包含了可改变的状态,同时执行方法也依赖该状态,但一样用的单例,这样就会出现隐藏的BUG,而并发的BUG通常很难重现和查找;
单例模式的关键有两点:
1.构造方法为私有,这样外界就不能随意调用。
2.get的方法为静态,由类直接调用
多例模式(Multiton)
1 、多例类可以有多个实例
2 、多例类必须能够自我创建并管理自己的实例,并向外界提供自己的实例。
网友评论