注释都写上了,希望能够帮助上搜索的奋斗者,转载务必注明出处http://blog.csdn.net/u013017597/article/details/17079141
ArrayList 1、线程不同步,想要线程同步的话,我们用加锁功能! 2、1.2之后出现,查询速度块,因为用index ,3、容量为10然后50%增加,把以前元素拷过来,然后新元素加载后面 4、内部使用数组实现的,
Vector 1、线程同步,2、但是因为安全机制速度很慢,3、1.0版本就有,还没有数组的时候就存在,4、空间翻倍增加,比较浪费空间
JMS(Java Messaging Service)是Java平台上有关面向消息中间件的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简单化企业应用开发,翻译Java消息服务。
JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统植入管理功能的框架。
JNDI(Java Naming and Directory Interface )一组帮助做多个命名和目录服务接口的AP
Method methodCharAt=String.class.getMethod("charAt", int.class);//获得String对象内部的参赛为int.class的charat()方法
methodCharAt.invoke(str1, 1); //创建String类型实例对象str1的参数为1的一个charat()方法的对象
System.out.println(methodCharAt.invoke(str1, 1));
若str1换为null则表示此methodCharAt是获得的类中的静态方法
System.out.println(methodCharAt.invoke(str1,new Object[]{2})); //1.4不支持可变参数所以所以这样写
Class
对象
String [] a4=new String[]{"a","b","c"};
int [] a5=new int[]{1,2,3}; //数组大括号中定义了元素,就不能在中括号中定义数组元素个数
System.out.println(Arrays.asList(a5));// 不调用1.4,调用1.5当做Object,只加把地址打印出来 下面有调用的方法
System.out.println(Arrays.asList(a4));//输出字符串数组[a, b, c]
读取数组中的元素:
实例:
public static void main(String[] args) throws Exception {
printObject(new int[]{1,2,3});
printObject("xyz");
}
private static void printObject(Object obj) {
Class clazz=obj.getClass();//得到obj的字节码
if(clazz.isArray()){//判定此Class
对象是否表示一个数组类
int len=Array.getLength(obj);//以int
形式返回obj数组对象的长度
for(int i=0;i<len;i++){
System.out.println(Array.get(obj, i));//获得数组obj的第i个元素
}
}else{
System.out.println(obj);
}
}
注解:也是jdk1.5的一个新特性,是一种标记,一种说明,可以在包,类,方法,参数,成员变量等对象或成员之前声明,javac编译器,开发工具和其它程序可以用反射来了解类及各种元素上是否有某种标记,不同的标记响应不同的事件
一个注解就是一个类,我们在这用注解就相当于我们在这实例化了一个对象
Retention类 注解类 是个枚举
注解对象或成员已经过时:加 @SuppressWarnings("deprecation") 设置为仍然可用 source阶段
注解对象或成员过时:加 @Deprecated 设置自己的方法过时提醒调用者 runtime阶段 二进制阶段
注解对象或成员覆盖了其他对应对象或成员:加@Override 可以检查重写父类的方法是不是规范,有没有写错 source阶段
main方法在这个类里面不一定是这个类执行,可以有其他类执行
String name(); 就代表抽象的默认访问修饰的方法
HashSet重复的对象加不进去HashMap<String,Integer> maps=new HashMap<String,Integer>();//创建HashMap<String,Integer>类型集合
maps.put("aaa",11);
maps.put("bbb", 22);
maps.put("ccc", 33);
Set<Map.Entry<String,Integer>> entrySet=maps.entrySet();
for(Map.Entry<String, Integer> entry: entrySet){
System.out.println(entry.getKey() + ":" + entry.getValue());//适用于map集合的排序输出
}
银行业务调度系统:终于也看完了,感觉还是很吃力,自己反思可能是因为对Java类的陌生和设计思想的缺乏才会如此,接下来的学习必须加强练习,下面是对视频中几个设计实例的总结。
面向对象分析与设计的案例:
人在黑板上画圆:要实现画圆的功能,分析,要画一个圆必须知道圆的圆心和半径,所以这个圆的类中提供对圆心和半径的操作的方法,即画圆的方法,而人和黑板作为参数传入,调用画圆的方法实现画圆这个动作。
列车司机紧急刹车:刹车的功能:分析,司机自身没有让车停下来的能力,他只是给了车一个指令,车执行自己的方法停下了,所以创建一个车的类,类中包含停的方法,司机的指令作为参数传入,来调用这个停的方法实现刹车。
售货员统计收获小票金额:小票统计功能,分析,创建一个小票的类,类中有一个被打印的方法,金额和售货员作为参数传入,调用打印的方法来实现统计功能。
你把门关上了:关门的功能:分析,门自己有一个关的方法,人作为参数传入调用关的方法实现关门的动作。
两块石头磨成一把石刀,石刀可以砍树,砍成木材,木材做成椅子:分析,石刀是一个不变的元素,所以他包含有磨的方法和砍的方法,石头和树作为参数传入,分别调用磨和砍的方法实现磨和砍的动作,同时返回一把石刀和木材,椅子自身有个做的方法,木材作为参数传入,调用做的方法,返回一把椅子。
球从一根绳子的一端移动到了另一端:分析,绳子自身由个点组成,他有标志位置的一个方法;球自身有一个移动的方法;整个移动的动作就是,绳子的上的一个点作为参数传入球的移动的方法球开始移动,移动后返回移动后的这个点,这个点作为参数传入调用绳子的标志位置的方法,返回球的位置