Main.java revision 5d1ac920fdaef5d4ec8f66bb734488cd9660b024
15d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao// Copyright 2007 The Android Open Source Project
25d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao
35d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao/**
45d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * Test a class with a bad finalizer.
55d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao */
65d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhaopublic class Main {
75d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao    public static void main(String[] args) {
85d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao        BadFinalizer bf = new BadFinalizer();
95d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao
105d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao        System.out.println("Constructed object.");
115d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao        bf = null;
125d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao
135d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao        System.out.println("Nulled. Requestion gc.");
145d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao        System.gc();
155d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao
165d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao        for (int i = 0; i < 8; i++) {
175d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao            BadFinalizer.snooze(5000);
185d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao            System.out.println("Requesting another GC.");
195d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao            System.gc();
205d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao        }
215d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao
225d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao        System.out.println("Done waiting.");
235d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao        System.exit(0);
245d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao    }
255d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao}
26