易截截图软件、单文件、免安装、纯绿色、仅160KB

Java内存溢出

从物理上讲,堆栈就是一段连续分配的内存空间。在一个程序中,会声明各种变量。静态全局变量是位于数据段并且在程序开始的时候就被加载。而程序的动态的局部变量则分配在堆栈里面。
JVM管理两种类型的内存,堆和非堆。堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的。它和堆不同,运行期内GC不会释放空间。如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小,超出了也会导致这块内存的占用过多造成溢出,或者tomcat热部署时侯不会清理前面加载的环境,只会将context更改为新部署的,非堆存的内容就会越来越多。
解决内存溢出问题:
在使用Java程序从数据库中查询大量的数据或是应用服务器(如tomcat、jboss,weblogic)加载jar包时会出现java.lang.OutOfMemoryError异常。这主要是由于应用服务器的内存不足引起的。这种异常常有以下几种情况(以下以tomcat环境为例,其它WEB服务器如jboss,weblogic等是同一个道理):
  1. java.lang.OutOfMemoryError: PermGen space
  PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space。从文字上看就是内存溢出,解决方法是加大内存。为什么会内存溢出,这是由于这块内存主要是被JVM存放Class和Meta信息的,Class在被Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。
  解决方法: 手动设置MaxPermSize大小
  a.如果tomcat是以bat方式启动的,则如下设置:
  修改TOMCAT_HOME/bin/catalina.sh
  在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
  JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
  b.如果tomcat是注册成了windows服务,以services方式启动的,则需要修改注册表中的相应键值。
  打开注册表,找到目录HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\htfty\Parameters\Java,其中目录地址中红色标注的(如htfty)需要根据不同情


相关文档:

Java中的继承

  1.继承的基本概念
     当多个类之间存在相同的属性和方法时,在父类中定义这些相同的属性和方法,所有的子类无需重新定义这些属性和方法,只需要通过extends语句声明继承Base类。
   (1)继承的东西
      a.当sub类和base类位于同一个包中时,su ......

java中线性表,链表,哈希表是常用的数据结构

线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。    
   
  Collection  
  ├List& ......

二、新建一个java窗口

1、首先大家最好去下载一个designer 的eclipse 插件
2、然后放入eclipse 安装目录下的plugin目录下
3、重新启动eclipse
4  新建一个java swing project
5, 新建一个window,然后点运行,就会出现一个最简单的窗口。
当然,你也可以新建一个class Window,然后输入如下代码
import java.awt.Dimension;
import ......

四、对java入门的几点建议

   貌似比较多,不过多懂点,也没什么不好。
 1、熟悉jdbc,会用jdbc。
 2  会写sql和存储过程。
 3、熟悉swing控件、不过不建议用swing开发客户端
 4  熟悉 swt,rcp 客户端,建议用rcp开发客户端
 5  熟悉jsp servlet
 6  熟悉tomcat,至少知道web。x ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号