`
lxr215
  • 浏览: 58985 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

API 笔记

    博客分类:
  • Java
阅读更多

2009-12-20 22:15:02

今天花了一天时间把传智播客的JAVA SE高级视频1 API看完了,还看了一部分高级视频 IO的视频,以下是API的笔记。


API: Application Programming Interface 应用程序编程接口

windows API:windows系统提供的

JAVA API:JDK中提供的各种java类(掌握常用的API就可以了,API可现学现用,现用现学)。


怎么算学会一门编程语言:以够用为原则,适可而止。


JAVA IDE:JBuilder、Eclipse、NetBeans、Jcreator等。


String、StringBuffer、StringBuilder类

String类对象中的内容一旦被初始化就不能再改变。(String常量池)

StringBuffer:可改变的字符串,toString(),线程安全的。

StringBuilder:可改变的字符串,线程不安全,更快。(常用)

StringBuffer、StringBuilder都继承自AbstractStringBuilder。


集合类:

Collection、Set、List区别:

Collection:各元素之间没有指定顺序,允许重复,允许多个null元素。

Set:各元素之间没有指定顺序,不允许重复元素,最多允许一个null元素。

List:各元素之间有指定顺序,允许重复,允许多个null元素。


Hashtable类:<key, value>

用作key的类必须覆写Object的hashCode方法和equals方法。

StringBuffer和StringBuilder类不能用做key,它们没有覆写hashCode方法和equals方法。


Properties类:Hashtable子类

增加了将Hashtable中key和value保存到文件和从文件中读取的方法。

如果要使用Properties的store方法存储,则key和value必须为String对象,否则抛出ClassCastException异常。


System、Runtime类:

System类(方法和属性都是static)

-exit()

-currentTimeMillis():返回当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量)。

-Java虚拟机系统属性

-getProperties、setProperties

Runtime类:一个Runtime对应一个JVM,所以只能有一个Runtime实例存在(单例模式:将构造方法私有,然后提供一个获取实例的方法)。

-Runtime.getRuntime()

-exec():在单独的进程中执行指定命令,比如可以调用windows的记事本和计算器:

Runtime.getRuntime().exec("notepad.exe");
Runtime.getRuntime().exec("calc.exe");


与日期、时间相关的类

Date、DateFormat、Calendar

Calendar类:

-add()

-get(), set()

-getInstance() 一般返回的是GregorianCalendar 。

Date类:

DateFormat/SimpleDateFormat

new SimpleDateFormat("yyyy年MM月dd日HH小时:mm分:ss秒").format(new Date());


Timer和TimerTask类

Timer类的schedule(TimerTask,...)定时启动一个任务线程或定期调用任务线程。

TimerTask类:实现了Runnable接口。


Math、Random类


学习API方法:

1.有某一领域专业知识,再参看范例程序,才能更容易掌握和理解一些新的API类。

2.不要看什么Java API大全之类的书籍。

3.多结交程序员朋友,多上技术论坛。

4.动手实践。


Vector和ArrayList区别(网上查的):

1.Vector 1.0开始:是同步的,线程安全,同步会有额外性能开销;

ArrayList 1.2开始:是异步的,不是线程安全的。

2.两者内部都采用数组来控制,如果元素数量超出内部数组长度,需要扩展时,Vector会缺省增长原来的一倍长度,ArrayList是增加50%+1。

尽量使用List和HashMap(1.2 异步),而不是Vector和Hashtable(1.0 同步)。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics