Java被忽略的基本知识(三)

35、e.printStackTrace();输出异常信息,也可以使用System.out.println(e);

36、范围小的异常,要放在范围大的异常前面。

37、断言:判断某个结果的正确性,正确(true)不做任何处理,错误(false)显示错误信息。assert boolean表达式  : 提示信息;虽然断言返回的是Boolean表达式,但其不能作为判断条件语句,不要过多使用断言。

38、包引入有具体包名、部分报名加星(*)的性能一样,程序只加载所需的类。

39、静态导入:若一个类中的方法全部是静态方法,则导入包时可以静态导入,import static 包名.类名;

40、如果一个类继承Thread类,则不适合多线程共享资源;而实现Runnable接口的类,可以方便地实现资源共享。

41、同步:指多个操作在同一时间段只能有一个操作进行,其他操作要等待此操作完成以后,其他操作才能继续进行。异步:多个操作可以在同一时间段提示进行。

42、线程中suspend()暂时挂起、resume()恢复挂起、stop()停止,3中方法已经不建议使用,因为可能造成死锁问题。

43、泛型(Generic):指在类建立时不指定属性具体类型,而由外部在声明及实例化对象时指定类型。万能类。

44、在泛型的指定具体数据类型时,无法使用Java中的基本数据类型,必须设置成一个具体的类。这样在泛型中使用数字时必须用其包装类,JDK1.5后数字的装箱和解箱自动完成。

45、Java中引入了通配符“?”,可以接受任意的泛型对象,在参数中经常使用。实例如下:

public void print(A<?> temp){ System.out.println("内容是:"+temp);}

46、泛型上限:类名称<? extends 类>  实例名称;泛型下限:类名称<? super 类> 实例对象名称;

47、泛型方法的定义与其是否在泛型类中无关;泛型标识一般由泛型方法中的参数决定。

[访问权限] <泛型标识> 返回类型 方法名 ([泛型标识 参数名称]){}

48、线程安全类有:StringBuffer、Vector、HashTable、枚举。

49、日期操作SimpleDataFormat可以方便获得指定日期格式。

50、Random类是随机数产生类,也可以指定随机数范围。nextInt(),nextInt(int n)该方法取不到n但可以取到0。

51、Arrays类是数组操作类,可以方便的实现数组排序、查找、填空、输出都为静态方法(可以直接调用):equals(int[] a,int[] b)、fill(int[] a,int b)、sort(int[]  a)、toString(int [] a)、binarySearch(int [] a,int key);如Arrays.sort(a);

52、比较器:Comparable、Comparator接口

Comparable:实现Comparable接口的类,需要覆写compareTo(T o)方法,类对象实例化数组排序Arrays.sort(数组名);

Comparator:一个没有实现Comparable接口的类,还想使用Arrays排序,需要自定义一个比较器规则类A,该类覆写compare(T t1,T t2)方法,使用Arrays.sort(a,类A实例对象)。

53、Java中无法获得变量的实际地址,只能通过hashCode()获得变量在JVM的地址。

54、变量首地址相等,变量的内容不一定相等(StringBuffer对象);变量的你内容相等,变量的首地址不一定相等(String对象通过new创建)。

55、正则表达式Pattern、Matcher的理解,及对String类型的支持。

上一篇:【C语言学习笔记】存储类、链接和内存管理


下一篇:Cocos2d-x开发中Ref内存管理