随笔分类 -  java

Java中如何获得集合变量的集合中的类型参数
摘要:例如:Vector<Data> v = new Vector<Data>(); 这个里面我们是无法通过变量v而得到Vector中参数的类型,因为Vector<Data>在编译后字节码中去掉了类型,也就是说Vector<Data>和和Vector<T>的字节码是一样的,所以不能取得Vector中的参数类型,那我们可以通过把v作为一个参数传入一个方法中来获得Vector中的参数类型,因为通过反射获得的Method中有能够获得参数化的类型的方法,如下:public class GenericTest { public static void 阅读全文

posted @ 2012-04-16 10:25 duancanmeng 阅读(807) 评论(0) 推荐(0)

Java中通过反射调用其他类中的main方法时要注意的问题
摘要:一、正常情况下我们调用其他类的方法,如果是静态的,就直接:类名.方法 ;如果不是静态的:对象.方法;因为main为静态方法,所以调用它只需:类名.main(String...args)即可。二、用反射方式来调用,我们往调用类的main方法中的参数传入被调用类的类全名,然后根据该类名来执行main方法public class invokeClassMainMethod { public static void main(String[] args) throws Exception { Method startClassMainMethod= Class.forName(args[0]).ge. 阅读全文

posted @ 2012-04-14 10:21 duancanmeng 阅读(1578) 评论(0) 推荐(0)

java传统集合的一些弊病以及解决办法
摘要:一、HashSet和HashMap有和联系?我们可以看看源码:在HashSet的源码里,我们可以看到如下一些代码:……public HashSet(){ map = new HashMap<E, Object>();}……public Iterator<E> iterator(){ return map.keySet().iterator();}…… 看到这里,便可知道:HashSet其实质也就是一个Map,只不过没有使用到其中的value值而已二、传统集合的弊病1、 容易导致死循环2、 容易报异常,导致程序中断看如下三段代码以及输出情况:(1)、public clas 阅读全文

posted @ 2012-04-11 20:45 duancanmeng 阅读(207) 评论(0) 推荐(0)

线程范围内数据共享
摘要:用处:处理数据库中事务管理器较为常用,所有的操作都是针对同一份数据。系统角度进行开发编程。第一种方法,这种方法比较粗糙public class ThreadScopeShareData { private static int data = 0; private static Map<Thread , Integer> threadData = new HashMap<Thread,Integer>(); public static void main(String[] args){ for (int i = 0; i... 阅读全文

posted @ 2012-04-10 11:13 duancanmeng 阅读(235) 评论(0) 推荐(0)

导航