摘要:
ArrayList,LinkedList,Vector这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下:一、同步性ArrayList,LinkedList是不同步的,而Vestor是的。所以如果要求线程安全的话,可以使用ArrayList或LinkedList,可以节省为同步而耗费开销。但在多线程的情况下,有时候就不得不使用Vector了。当然,也可以通过一些办法包装ArrayList,LinkedList,使他们也达到同步,但效率可能会有所降低。二、数据增长从内部实现机制来讲ArrayList和Vector都是使用Objec的数组形式来存储的。当你向这两种类 阅读全文
摘要:
1.很多新手碰到异常处理的时候都偷懒不想看,觉得没有必要,其实只是新手的代码就那么几行还体会不到异常处理的好处,自然不想看了嘛,可是学习不是马虎的事嘛!!那么我们为什么需要异常处理呢??早期的编程语言(比如C语言)没有异常处理,通常是遇到错误返回一个特殊的值或设定一个标志,并以此判断是不是有错误产生。随着系统规模的不断扩大,这种错误处理已经成为创建大型可维护程序的障碍了。于是在一些语言中出现了异常处理机制,比如在Basic中的异常处理语句"on error goto”,而Java则在C++基础上建立了新的异常处理机制.2.Java中的异常处理Java通过面向对象的方法进行异常处理,把 阅读全文
摘要:
1.使用C语言的程序员可能习惯于在没有任何限制下访问所有东东,这不是说不好,可能在个人英雄时代是非常好的,可是现在的软件工程动不动就数十万行代码,早已不是单个程序员所能做的了,现在讲的是TeamWork(团队合作),为了解决多个程序员之间的命名和程序之间的沟通问题,C++提出了访问控制和命名空间的概念,访问控制也是面向对象中实现隐藏的主要手段.为什么要隐藏?先谈点,具体可以去研究面向对象的程序设计,“进行面向对象的设计时,一项基本的考虑是:如何将发生变化的东西与保持不变的东西分隔开。”这一点对于库来说是特别重要的。那个库的用户(客户程序员)必须能依赖自己使用的那一部分,并知道一旦新版本的库出台 阅读全文
摘要:
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同. 阅读全文
摘要:
看看程序,说出你的结果(我最后再给出答案)程序一:public class Equivalence { public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.println(n1 == n2); System.out.println(n1 != n2); }}你的结果如果是true和false的话,那么很不幸告诉你这是错误的答案,如果你不信的话可以在程序中试试,现在讲一下为什么。Java中比较对象的时候和C或者C++中不一样, 阅读全文
摘要:
我们知道,许多程序设计语言都允许在程序运行期动态地分配内存空间。分配内存的方式多种多样,取决于该种语言的语法结构。但不论是哪一种语言的内存分配方式,最后都要返回所分配的内存块的起始地址,即返回一个指针到内存块的首地址。当已经分配的内存空间不再需要时,换句话说当指向该内存块的句柄超出了使用范围的时候,该程序或其运行环境就应该回收该内存空间,以节省宝贵的内存资源。在C,C++或其他程序设计语言中,无论是对象还是动态配置的资源或内存,都必须由程序员自行声明产生和回收,否则其中的资源将消耗,造成资源的浪费甚至死机。但手工回收内存往往是一项复杂而艰巨的工作。因为要预先确定占用的内存空间是否应该被回收是非 阅读全文