1// Copyright 2007 The Android Open Source Project
2
3/**
4 * Class with a bad finalizer.
5 */
6public class BadFinalizer {
7    public static void snooze(int ms) {
8        try {
9            Thread.sleep(ms);
10        } catch (InterruptedException ie) {
11            System.out.println("Snooze: " + ie.getMessage());
12        }
13    }
14
15    protected void finalize() {
16        System.out.println("Finalizer started and spinning...");
17        int j = 0;
18
19        /* spin for a bit */
20        long start, end;
21        start = System.nanoTime();
22        for (int i = 0; i < 1000000; i++)
23            j++;
24        end = System.nanoTime();
25        System.out.println("Finalizer done spinning.");
26
27        System.out.println("Finalizer sleeping forever now.");
28        while (true) {
29            snooze(10000);
30        }
31    }
32}
33