java高级1--JavaAPI--要点总结

    技术2022-05-19  25

    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类型。 以下是自己实践的相关代码: import java.util.*; import java.io.*; public class PropertiesTest { public static void main(String[] args) { Properties setting = new Properties(); try { setting.load(new FileInputStream("count.txt")); } catch(Exception e) { setting.setProperty("count", "0"); } int c = Integer.parseInt(setting.getProperty("count")); c++; System.out.println("这是第"+c+"次运行程序"); setting.setProperty("count", String.valueOf(c)); try { setting.store(new FileOutputStream("count.txt"), "Progam is running"); } catch (Exception e) { e.printStackTrace(); } } }

     10.System类下的所有方法都是静态的,可以直接调用。 11.与日期和时间有关的类: Date, DateFormat,Calendar。yyyy-MM-dd,注意月份是大写

    的M。 12.Runtime类的应用: Process p = null; try { p = Runtime.getRuntime().exec("notepad.exe Copy.java"); Thread.sleep(5000); p.destroy(); } catch(Exception e) { e.printStackTrace(); }

    13.Timer和TimerTask类,定期执行某个线程。 schedule方法,TimerTask实现了Runnable接口,所以执行的任务应该放在run方法中。 Timer线程运行之后不会主动结束,所以应该手动结束任务线程。使用cancle结束线程 schedule(TimerTask **, 30000),表示在30秒之后执行TimerTask线程。在此,TimerTask类

    似于我们的thread,所以可以单独写一个类来继承TimerTask,并实现其中的run方法。貌似

    这个不能像thread那样实现Runnable类(个人理解)。

     


    最新回复(0)