Java知识复习(二)
阅读原文时间:2023年07月08日阅读:1

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

Date dat=new Date();

//把日期转化为字符串

String str=sdf.format(dat);

System.out.println(str);

//将字符串转化为日期

Java.util.Date d1=sdf.parse(“yyyy-mm-dd”);

两个,New了一个,”XYZ”本来又是一个

6个

//重构字符串

String a=new String("中".getBytes("gb2312"),"iso-8859-1");

String a=new String("中".getBytes("iso-8859-1"));

静态的多态:重载、重写

动态的多态:

父类 接收 子类的实例

接口 接收 实现类的实例

1 静态方法中是不能调用非静态的属性或者方法,

2 非静态的方法中是可以调用静态的成员和方法的

动态内存 存放类实例

静态内存 类本身

垃圾收集主要针对的是动态内存,一般当内存不够用时会进行垃圾收集。

或通过System.gc()手动收集,但不保证一定执行。

Clone 有缺省行为,super.clone();他负责产生正确大小的空间,并逐位复制。

String:String由final关键字修饰,所以长度是不可变

StringBuffer:可变可修改的

集合List 的遍历方法有:

Iterator:

Enumeration

For

Get

set

Collection的通用方法有:

Iterator()

Add()

Clear();

remove()

ArrayList与Vector的区别

一.同步性:

   Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的。

二.操作:

    由于Vector支持多线程操作,所以在性能上就比不上ArrayList了。

三.数据增长:

       ArrayList和Vector都有一个初始的容量大小,当存储进去它们里面的元素个数超出容量的时候,就需要增加ArrayList和Vector的存储空间,每次增加存储空间的时候不是只增加一个存储单元,是增加多个存储单元。

       Vector默认增加原来的一倍,ArrayList默认增加原来的0.5倍。

       Vector可以由我们自己来设置增长的大小,ArrayList没有提供相关的方法。

LinkedList与ArrayList的区别

两者都实现的是List接口,不同之处在于:

(1)、ArrayList是基于动态数组实现的,LinkedList是基于链表的数据结构。

(2)、get访问List内部任意元素时,ArrayList的性能要比LinkedList性能好。LinkedList中的get方法是要按照顺序从列表的一端开始检查,直到另一端

(3)、对于新增和删除操作LinkedList要强于ArrayList,因为ArrayList要移动数据

       LinkedList实现了List接口,允许null元素。此外LinkedList提供额外的get,remove,insert方法在LinkedList的首部或尾部。这些操作使LinkedList可被用作堆栈(stack),队列(queue)或双向队列(deque)。

       注意LinkedList没有同步方法。如果多个线程同时访问一个List,则必须自己实现访问同步。一种解决方法是在创建List时构造一个同步的List:

List list = Collections.synchronizedList(new LinkedList(…));

HashMap和Hashtable的区别

HashMap不是线程安全的,HashMap是map接口的子类,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。

HashTable是线程安全的,HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差别