java基础杂记

这里只是我平时碰到的但是平时又不是很注意的java,做个记录。

1.java.util.Date 和 java.util.Calendar

  Calendar是Date的功能加强,Date没有舒服的日期操作,Calendar有。

  Date是具体类,创建对象的时候为new Date()即可。

  Calendar是抽象类,创建对象需要调用静态方法,Calendar.getInstance(),其实返回的是GregorianCalendar类实例。

2.Arrays.asList(T...a)

  该静态方法返回一个List的子类对象,其实这个对象是Arrays$ArrayList是Arrays内部的一个函数

 

class ArrayList<E> extends AbstractList<E> implements RandomAccess

   在这个Arrays$ArrayList中,没有重写(overwrite)add()和remove()方法,所以在这个Arrays$ArrayList对象上如果使用add

 

和remove操作将会抛出UnSupportedOperationException异常。

3.ThreadLocal

  ThreadLocal(local variable)其实是本地变量的意思,它存放了一个线程“私有的”变量,使得各线程能够保持各自独立的一个对象。

内部实现是使用了一个Map来存储各个线程中的独立对象。

4.native

    Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。首先在java文件中定义一个native函数

public native void helloWorld();编译出class文件,然后通过javah  -jni 来获取出本地C++头文件 xxx.h,再编写cpp文件,使用C++编译器通过特定的编译选项编译出dll。注意在原来包含native函数的类中,调用该函数之前,需要用System.loadLibrary("xxx");来导入dll文件,这样就可以正确使用native函数了。

continue。。。。。。

posted on 2010-09-04 16:31  uag  阅读(142)  评论(0)    收藏  举报

导航