摘要: 一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的。因此如果要序列化某些类的对象,这些类就必须实现Serializable接口。而实际上,Serializable是一个空接口,没有什么具体内容,它的目的只是简单的标识一个类的对象可以被序列化。什么情况下需要序列化 a)当你想把的内存中的对象写入到硬盘的时候;b)当你想用套接字在网络上传送对象的时候;c)当你想通过RMI传输对象的时候;序列化其实很好理解,假如你现在做一个项目,项目是分工合作的,并且你喝其他小组成员不在同一个城市,那么你要如何把你写的那些类给其他小组成员呢?这个时候就要用到序列化了,简单的说 阅读全文
posted @ 2013-12-26 16:12 ajiaju 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 如果参数类型是引用类型,那么传过来的就是这个引用参数的副本,这个副本存放的是参数的地址。如果在函数中没有改变这个副本的地址,而是改变了地址中的值,那么在函数内的改变会影响到传入的参数。如果在函数中改变了副本的地址,如new一个,那么副本就指向了一个新的地址,此时传入的参数还是指向原来的地址,所以不会改变参数的值。(对象包括对象引用即地址和对象的内容)一句话就是:传入的对象参数,在方法中是改变对象的地址还是内容。面试题:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?答:是值传递。Java编程语言只有值传递参数。当一个对象 阅读全文
posted @ 2013-12-26 16:09 ajiaju 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 1、final关键字的用法 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不能被继承,没有子类,final类中的方法默认是final的。如String类final方法不能被子类的方法覆盖,但可以被继承。(如果private修饰方法,则该方法不能被子类继承)final成员变量表示常量,只能被赋值一次,赋值后值不再改变。final不能用于修饰构造方法。注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。 阅读全文
posted @ 2013-12-26 15:46 ajiaju 阅读(139) 评论(0) 推荐(0) 编辑
摘要: Hashtable的应用非常广泛,HashMap是新框架中用来代替Hashtable的类,也就是说建议使用HashMap,不要使用Hashtable。可能你觉得Hashtable很好用,为什么不用呢?这里简单分析他们的区别。1.Hashtable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。查看Hashtable的源代码就可以发现,除构造函数外,Hashtable的所有 public 方法声明中都有 synchronized 关键字,而HashMap的源代码中则连 synchronized 的影子都没有,当然, 阅读全文
posted @ 2013-12-26 15:14 ajiaju 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用(references)。例如我们可以用ArrayList来存储一系列的String或者Integer。那么ArrayList和Li 阅读全文
posted @ 2013-12-26 14:57 ajiaju 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 类层次关系如下:Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap下面来分别介绍Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些 Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。 . 阅读全文
posted @ 2013-12-26 11:48 ajiaju 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 在java集合中顶层有这样两个接口Iterator和Enumeration,这两个接口是特殊的数据操作接口。Iterator用于进行数据迭代,称为迭代器;Enumeration用于进行数据枚举,称为枚举。1.枚举:该接口定义了可以对一个对象类集中的元素进行枚举的方法,但目前已被迭代器所替代。在枚举中定义了如下两个方法:booleanhasMoreElements():判断集合中是否有元素可提取,有该方法就返回true,否则返回falseObjectnextElement():将枚举中的下一个对象作为一个类属Object的引用而返回。也就是每次调用nextElement()方法获得枚举中的下一个 阅读全文
posted @ 2013-12-26 10:39 ajiaju 阅读(599) 评论(0) 推荐(0) 编辑