java堆溢出
虚拟机栈内存溢出:
创建很多线程导致内存溢出,可以减少最大堆和减少栈容量。
方法区和运行时常量池溢出
在jdk1.6中intern()方法会把首次遇到的字符串实例复制到永久代。而由StringBuilder创建的字符串实例在java堆上,所以不是同一个引用。而JDK1.7的实现知识在常量池中记录首次出现的引用。"java"这个字符串在执行之前就已经出现过了。
方法区溢出
大量产生java类的应用,类被不同类加载器多次加载。都可能产出方法区溢出。
本机直接内存溢出
将Eclipse中这种限制获取由错误,修改为警告,具体操作为将Windows->Preference...->Java->Compiler->Errors/Warnings中的"Deprecated and restricted API",级别由Error修改为Warning
by ppf@jiumao.org