传智播客java培训2010年4月21java高新技术5(泛型)
2010-04-21 21:37
316 查看
在传智的这段时间每天的情形想都想得到,两点一线,但是每天都感觉到很充实,学习,不停的学习。越是不停的学习,越是感觉自己的力量是那么的微薄,自己的能力是那么的小,JAVA真是博大精深。老师说叫我们不要担心,可是我不担心也不可能哦,毕竟在同类学校毕业的,也许我们可以算得上是很不错的,但是和我们同台竞技的人都是那么的优秀,而在北京这个地方又是人才济济啊,IT行业虽然在北京的需求很大,IT行业也是依靠技术吃饭,但是毕竟我们现在所学的东西很大,也还是值得庆幸,但是,我们只有在不断的学习,不断的充实自己本身的能力,才有可能在日后的竞争中多一份优势。
从明天开始,我们就开始学习hibernate了,昨天晚上看视频看到早点五点,把第一天的内容又预习了一遍。今天将近十二点才起床,吃过饭就去学习上自习,今天我的所学的内容就是,JAVA高新技术,张孝祥老师讲的视频,真的很经典,如果你能看到,一定要看哦!没有看到的,也可经在风外去下载,真的很不错!
1.泛型的使用,如果1.5之前,你可以将任何类型的数据放入集合中,所以,你在使用集合的时候,并没有检查,你放入集合的类型,当你使用泛型之后,可以限定放入集合的类型,这样就可以做到编译器帮你检查,而将错误拦截到运行之前。
2.但是泛型是给编译器看到,而可以通过反射跳过编译器,而在运行时将不同的类型也装入到集合中。如下:
ArraryList<String> coll = new ArrayList<String>();
Coll.add(123);//此时,编译器会帮你检查。而提示你错误。
coll.getClass.getMethod("add",Object.class).invoke(coll,1233);//这样却是行得通的。
采用上面的方法,就可以跳过编译呖呖的检查。
List li = new ArrayList<String>();//可以
List<String> list = new ArrayList();//可以
List<Object> list1 = new ArrayList<String>();//错误
List<String> list1 = new ArrayList<Object>();//错误
3.自定义
i. 泛型的T不能为基本类型
根据要返回的类型来实现
public static <T> T autoConvert(Object obj){
return (T)obj;
}
4.定义泛型类型
1.定义通用DAO类
package e.test;
import java.util.List;
//dao data access object--->
public class GenericDao<T> {
public void add(T t){
//保存
System.out.println(t.getClass().getName());
}
public void dele(T t){}
public void update(T t){ }
public List<T> findAll(){
List<T> list = null;
return list;
}
}
2.定义PersonDao
package e.test;
public class PersonDao extends GenericDao<Person> {
public static void main(String[] args) {
PersonDao pdao = new PersonDao();
pdao.add(new Person());//执行结果 e.test.Person
}
}
达到了通用的效果,个人第一次接触的时候,感觉这个非常牛X。静态方法不能使用泛型的类型
5.怎么得到GenericDao中
public List<T> findAll(){
List<T> list = null;
return list;
}
该方法中的T的际类型。
ExtClassLoader
AppClassLoader classpath
不同的类加载器,有各自的管辖范围。
我们可以自定义自已的类加载器,但是要使用自己定义的,必须挂到加载器树上。
Java是如何分派类加载器的,首先派当前线程的类加载器,每个线程都有自己的类加载器,
模板方法设计模式:
//需要继续学习,似懂非懂
动态代理技术
分析JVM动态生成的类
Proxy getProxyClass()
Struingbuilder 的StringBuffer 他们在使用的方式上都一样,但是单线程用Builder, 多线程用Buffer。
AOP是面向切面编程,也是后面学习spring AOP的基础,所以现在就学习,对两个星期之后的SPRING是非常有帮助的。
从明天开始,我们就开始学习hibernate了,昨天晚上看视频看到早点五点,把第一天的内容又预习了一遍。今天将近十二点才起床,吃过饭就去学习上自习,今天我的所学的内容就是,JAVA高新技术,张孝祥老师讲的视频,真的很经典,如果你能看到,一定要看哦!没有看到的,也可经在风外去下载,真的很不错!
1.泛型的使用,如果1.5之前,你可以将任何类型的数据放入集合中,所以,你在使用集合的时候,并没有检查,你放入集合的类型,当你使用泛型之后,可以限定放入集合的类型,这样就可以做到编译器帮你检查,而将错误拦截到运行之前。
2.但是泛型是给编译器看到,而可以通过反射跳过编译器,而在运行时将不同的类型也装入到集合中。如下:
ArraryList<String> coll = new ArrayList<String>();
Coll.add(123);//此时,编译器会帮你检查。而提示你错误。
coll.getClass.getMethod("add",Object.class).invoke(coll,1233);//这样却是行得通的。
采用上面的方法,就可以跳过编译呖呖的检查。
List li = new ArrayList<String>();//可以
List<String> list = new ArrayList();//可以
List<Object> list1 = new ArrayList<String>();//错误
List<String> list1 = new ArrayList<Object>();//错误
3.自定义
i. 泛型的T不能为基本类型
根据要返回的类型来实现
public static <T> T autoConvert(Object obj){
return (T)obj;
}
4.定义泛型类型
1.定义通用DAO类
package e.test;
import java.util.List;
//dao data access object--->
public class GenericDao<T> {
public void add(T t){
//保存
System.out.println(t.getClass().getName());
}
public void dele(T t){}
public void update(T t){ }
public List<T> findAll(){
List<T> list = null;
return list;
}
}
2.定义PersonDao
package e.test;
public class PersonDao extends GenericDao<Person> {
public static void main(String[] args) {
PersonDao pdao = new PersonDao();
pdao.add(new Person());//执行结果 e.test.Person
}
}
达到了通用的效果,个人第一次接触的时候,感觉这个非常牛X。静态方法不能使用泛型的类型
5.怎么得到GenericDao中
public List<T> findAll(){
List<T> list = null;
return list;
}
该方法中的T的际类型。
类加载器:
BootStrap 系统ExtClassLoader
AppClassLoader classpath
不同的类加载器,有各自的管辖范围。
我们可以自定义自已的类加载器,但是要使用自己定义的,必须挂到加载器树上。
Java是如何分派类加载器的,首先派当前线程的类加载器,每个线程都有自己的类加载器,
模板方法设计模式:
//需要继续学习,似懂非懂
代理的概念与作用 AOP
安全,事务,日志等功能要贯穿到很多的模块中,它们就是交叉业务动态代理技术
分析JVM动态生成的类
Proxy getProxyClass()
Struingbuilder 的StringBuffer 他们在使用的方式上都一样,但是单线程用Builder, 多线程用Buffer。
AOP是面向切面编程,也是后面学习spring AOP的基础,所以现在就学习,对两个星期之后的SPRING是非常有帮助的。
相关文章推荐
- 传智播客java培训2010年4月16日JAVA高新技术总结(1)
- 传智播客java培训2010年4月18java高新技术3,张孝祥老师视频自学总结
- 黑马程序员 java高新技术之注解,泛型,类加载器
- 【黑马程序员】张孝祥Java高新技术_内省、注解、泛型
- 成都传智播客Java/PHP培训就业率高
- Java高新技术 泛型
- 传智播客JAVA培训 2010610 Ibatis学习笔记
- 传智播客JAVA培训20100612
- 黑马程序员_Java高新技术(内省、注解、泛型、类加载器、代理)
- 传智播客JAVA培训 yongyou周小结
- 传智播客JAVA培训--投简历的技巧
- Java高新技术 【9 】 JDK1.5 泛型
- 传智播客JAVA培训2010-5-9
- 传智播客JAVA培训第12天
- java 高新技术【9.2】 泛型类以及反射在泛型中的应用
- 传智播客成都Java培训,带你走进Java的世界...
- 传智播客java培训ORACLE总结(3)
- 成都JAVA培训。爆,520成都传智播客就业班火爆开班了
- 传智播客JAVA培训2010-4-30LuceneCompass总结
- 传智播客JAVA培训2010-5-4JBPM总结.