zoukankan      html  css  js  c++  java
  • myeclipse在过时的环境下部署项目出现的问题

    开发环境

    操作系统:xp sp3 2002 (ps:客户公司环境只有这个老古董)

    开发工具:myeclipse2014  32位

    jdk: 1.7_49    32位

    DB:DB2  9.1  32位

    tomcat:1.7    32位

    背景

    由于环境比较老古董,需要跑比较大的项目,服务器启动就需要六七分钟...,不仅如此,过程还出现很多问题,今儿就把问题分享出来,

    方便自己日后或者有哪位同志遇到也可以参考下

    案例

    问题1:Unable to process Jar entry [COM/ibm/db2os390/sqlj/custom/DB2SQLJCustomizer.class] from Jar ...

    分析:意思是tomcat在启动时找不到db2所需的jar包,也许我的tomcat没有添加,所以就查看了%TOMCAT_HOME%confcatalina.properties文件,

       定位到tomcat.util.scan.DefaultJarScanner.jarsToSkip...,按照原有的样式,添加一个db2jcc.jar就可以了,如下图

    问题2:java.lang.OutOfMemoryError Java heap space的错误

    分析:这个问题可能就比较普遍,网上也有很大文章解释这个的,我就不做详细解释了,大概就是这样的:

       在JVM中如果98%的时间是用于GC且可用的 Heap size(堆内存) 不足2%的时候将抛出此异常信息。

       JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.

       JVM在启动的时候会自动设置Heap size(堆内存)的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。

       可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。

       例如:java -jar -Xmn16m -Xms64m -Xmx128m MyApp.jar

       如果Heap Size设置偏小,除了这些异常信息外,还会发现程序的响应速度变慢了。GC占用了更多的时间,而应用分配到的执行时间较少。

       Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。

       Heap size的 -Xms -Xmn 设置不要超出物理内存的大小。否则会提示“Error occurred during initialization of VM Could not reserve enough space for object heap”。

     :JVM参数详解

     -Xms  初始堆大小。如:-Xms256m
     -Xmx  最大堆大小。如:-Xmx512m
     -Xmn  新生代大小。通常为 Xmx 的 1/3 或 1/4。新生代 = Eden + 2 个 Survivor 空间。实际可用空间为 =  Eden + 1 个 Survivor,即 90%
     -Xss  JDK1.5+ 每个线程堆栈大小为 1M,一般来说如果栈不是很深的话, 1M 是绝对够用了的。
     -XX:NewRatio  新生代与老年代的比例,如 –XX:NewRatio=2,则新生代占整个堆空间的1/3,老年代占2/3
     -XX:SurvivorRatio  新生代中 Eden 与 Survivor 的比值。默认值为 8。即 Eden 占新生代空间的 8/10,另外两个 Survivor 各  占 1/10
     -XX:PermSize  永久代(方法区)的初始大小
      -XX:MaxPermSize  永久代(方法区)的最大值
     -XX:+PrintGCDetails  打印 GC 信息
     XX:+HeapDumpOnOutOfMemoryError  让虚拟机在发生内存溢出时 Dump 出当前的内存堆转储快照,以便分析用

    我的系统内存是2G的,在MyEclipse中,一次打开windows --> preferences --> MyEclipse --> Servers --> tomcat --> tomcat 7.0 --> jdk

    填入参数即可:

    -Xms500m
    -Xmx1024m
    -XX:PermSize=64M
    -XX:MaxPermSize=256m
    -XX:ReservedCodeCacheSize=48m
    -Duser.timezone=GMT+08

    供参考,如图

  • 相关阅读:
    Android数据存储之Application
    contentOffset、contentSize和contentInset
    block
    IOS中的深拷贝和浅拷贝
    手势图的设计原理(2)拖拽、捏合、轻扫、旋转
    深浅拷贝的应用-copy、mutableCopy
    手势图的设计原理(1)建立、开始、移动、结束、点击、长按
    UIView
    MVC-Model
    UIPageControl页面控制的控件
  • 原文地址:https://www.cnblogs.com/maixiaodou/p/6421907.html
Copyright © 2011-2022 走看看