第5章 初始化与清理

2018-06-18 00:07:44来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

1. 垃圾回收机制

  a. 引用计数法,每个对象都含有一个引用计数器,当有应用连接到对象时,引用计数+1;当引用离开作用域被置为 null 时,引用计数-1。缺点是,当对象之间存在循环引用时,可能会出现“对象应该被回收,但引用计数不为0”的情况。

  b. 标记-清扫法,从堆栈和静态存储区出发,遍历所有的引用并标记,进而找出所有存活的对象。标记完成后,再开始清理过程,将没有标记的对象释放。

 

2. 类内成员变量编译器会自动赋值,而对于方法的局部变量,编译器并不会自动赋值。

 

3. 数组初始化

  a. int[] a = {1, 2, 3, 4, 5}

  b. 动态分配 a1 = new int[5]

  另外,若执行 a1=a,是引用拷贝

 

4. 可变参数列表

1 static void f(int required, String... trailing) {
2     System.out.print("required: " + required + " ");
3     for (String string : trailing) {
4         System.out.print(string + " ");
5     }
6     System.out.println();
7 }

 

  可以将可变参数看成一个数组。

 

5. 枚举类型

 1 public class SimpleEnumUse {
 2     public enum Spiciness {    // 枚举类型
 3         NOT, MILD, MEDIUM, HOT, FLAMING
 4     }
 5 
 6     public static void main(String[] args) {
 7         // values 返回常量数组
 8         for (Spiciness s : Spiciness.values()) {
 9             // 枚举类型重写了toString方法
10             // ordinal方法返回序号
11             System.out.println(s + ", " + s.ordinal());
12         }
13     }
14 }

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:netty 概念篇

下一篇:1229:密码截获----java