摘要: package com.ddc.mem;public class ThreadLocalTestMain { ThreadLocal<AddInteger> localArgs=new ThreadLocal<AddInteger>(); AddInteger intance=new AddInteger(); public void mainTest(){ for(int i=0 ;i<10;i++){ ThreadTest thread=new ThreadTest(i); thread.start(); ... 阅读全文
posted @ 2012-05-15 11:25 xiao晓 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 一个java运行起来执行代码,主要的内存消耗有这几块:1、堆2、栈 :栈是每个线程一个的,是以消耗的内存是内存大小*线程数,当线程数特多时候需要小心 。3、直接内存:主要是通道时候的缓存,在内存不足是也会报OutOfMemoryError错误,外带sun.misc.Unsafe.allocateMemory异常(这个我认为类似于C中的malloc的功能) 。4、socket的cache和buffer,这个也不在堆中分配,当无法分配时候,会报Too many open files 的错误。5、jni代码中,类库执行的代码内存,也不再堆中。6、虚拟机执行也要消耗一定的内存 。 阅读全文
posted @ 2012-05-15 10:30 xiao晓 阅读(476) 评论(0) 推荐(0) 编辑