package com.alibaba.druid.stat; import java.lang.management.ManagementFactory; import java.text.NumberFormat; import java.util.concurrent.atomic.AtomicLong; import junit.framework.TestCase; public class AtomicMemoryTest extends TestCase { public void test_0() throws Exception { AtomicLong item = new AtomicLong(); gc(); long memoryStart = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getUsed(); final int COUNT = 1024 * 1024; AtomicLong[] items = new AtomicLong[COUNT]; for (int i = 0; i < COUNT; ++i) { items[i] = new AtomicLong(); // items[i] = Histogram.makeHistogram(20); } long memoryEnd = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getUsed(); System.out.println("memory used : " + NumberFormat.getInstance().format(memoryEnd - memoryStart)); } private void gc() { for (int i = 0; i < 10; ++i) { System.gc(); } } }