java高级1 JavaAPI
1.在命令行输入回车键时,相当于同时输入了回车符(/r)和换行符(/n),而在linux操作系统
中只认为输入了(/n).
2.在java中,==表示左右两边的对象指向的引用是否是同一个。所以在比较两个字符串时应
该用equals,否则可能得出错误的结果。
3.Vector类和Enumeration接口,向Vector中存数据,用Enumeration进行读取
4.Collection接口和Iterator接口
5.Vector是线程安全的,速度较慢,吃内存。而ArrayList不是线程安全的,但是速度较快
,可以根据需要进行使用。
6.Collection个元素对象间没有指定的顺序,允许有重复元素和多个null元素对象。
Set各元素对象之间没有指定的顺序,不允许有重复元素,最多允许有一个null元素对象。
List各元素有指定顺序,允许有重复元素和多个null。
7.Hashtable对存储的每一个对象(值)都安排另一个对象(关键字)与之相联,关键字的
类必须覆盖hashcode方法和equals方法。
8.StringBuffer类不能用作Hashtable的关键字类,因为两个StringBuffer类的hashcode不
相同。
9.Properties类,是Hashtable的子类,将关键字和值保存到文件和从文件中读取关键字和
值到hashtable对象中的方法。使用Properties.store方法存储是每个属性的关键字和值都
必须是String类型。
以下是自己实践的相关代码:
10.System类下的所有方法都是静态的,可以直接调用。
11.与日期和时间有关的类: Date, DateFormat,Calendar。yyyy-MM-dd,注意月份是大写
的M。
12.Runtime类的应用:
13.Timer和TimerTask类,定期执行某个线程。
schedule方法,TimerTask实现了Runnable接口,所以执行的任务应该放在run方法中。
Timer线程运行之后不会主动结束,所以应该手动结束任务线程。使用cancle结束线程
schedule(TimerTask **, 30000),表示在30秒之后执行TimerTask线程。在此,TimerTask类
似于我们的thread,所以可以单独写一个类来继承TimerTask,并实现其中的run方法。貌似
这个不能像thread那样实现Runnable类(个人理解)。