下面的程序在一个类中计算并缓存了一个合计数,并且在另一个类中打印了这个合计数。那么,这个程序将打印出什么呢?这里给一点提示:你可能已经回忆起来了,在代数学中我们曾经学到过,从1到n的整数总和是n(n 1)/2。 class Cache { static { initializeIfNecessary(). } private static int sum. public static int getSum() { initializeIfNecessary(). return sum. }
private static boolean initialized = false. private static synchronized void initializeIfNecessary() { if (!initialized) { for (int i = 0. i < 100. i ) sum = i. initialized = true. } } } public class Client { public static void main(String[] args) { System.out.println(Cache.getSum()). } }