首页 > 代码库 > 总结10

总结10

finalize()是Object中定义的。表示在垃圾回收器回收当前对象之前,自动调用的方法。如果重写了该方法,可以做一些清理工作。

将整形变量直接赋值给包装类变量,如果在-128—127之间,是指向同一个对象。超出这个范围,会新建对象
Integer a1 = 2;
Integer a2 = 2;

Integer b1 = 200;
Integer b2 = 200;

System.out.println(a1==a2); //true
System.out.println(b1==b2); //false


Java运行期数据存放
内存分为4个块
分别是:堆,栈,数据段,代码段
堆:存放的是 new(对象)
栈:存放的是 局部变量
数据段:存放的是 类变量和常量
代码段:存放的是 方法的定义

String a = "abc";
String b = "abc";
String c = new String("abc");
String d = new String("abc");

System.out.println(a == b);
System.out.println(b == c);
System.out.println(c == d);

System.out.println(a.equals(b));
System.out.println(b.equals(c));
System.out.println(c.equals(d));

运行结果:
true
false
false
true
true
true

String c = new String("abc");
c变量指向堆中的字符串对象,但是产生堆中的字符串对象之前,会先在常量区中,产生字符串常量对象。然后以常量对象为模板,拷入堆中的字符串对象。

正则表达式:
常用的格式和简写:

[]:表示[]中描述的任意字符。
{3,20}:表示前一个规则最少出现3次,最多出现20次。
{3,}:表示前一个规则最少出现3次,没有上限。
{3}:表示只能出现3次,不能多也不能少。
|:表示或者。
*:等价于{0,},表示可以出现可以不出现,如果出现,没有上限。
+:等价于{1,},表示至少出现一次,没有上限。
?:等价于{0,1},表示可以出现,可以不出现,如果出现,最多一次。
.:表示任意字符。
\d:等价于[0-9]表示数字。
\s:表示空格或回车
\w:等价于[a-zA-Z0-9_],表示合法标识符


字符串具有长度不可变的特性。当对字符串进行添加,替换,删除时,不会改变字符串的内容,而是产生一个新的字符串。

StringBuffer是缓冲区的对象,当对StringBuffer做添加,替换,删除时,直接改变StringBuffer的内容,不会产生新对象。
如果需要对字符串做频繁操作是,一般先转化为StringBuffer。操作完成以后,再通过调用toString()转换为字符串。

总结10