`

高级项目进行时 转

阅读更多

高级项目进行时

已有 240 次阅读  2009-08-21 19:34   标签项目进行时 

 1、 WARN - Error setting value
ognl.OgnlException: target is null for setProperty(null, "emailContent", [Ljava.lang.String;@b56559)

   ——后经排查发现是我在jsp页面中给的name值不对, 缺少了一个前缀

2、在MyEclipse中设置编码方式:

      a、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Workspace,右侧Text file encoding,选择Other,改变为UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。 
      b、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Content Types,右侧Context Types树,点开Text,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update,则设置Java文件编码为UTF-8。其他java应用开发相关的文件如:properties、XML等已经由Eclipse缺省指定,分别为ISO8859-1,UTF-8,如开发中确需改变编码格式则可以在此指定。

 

3、 中文乱码问题: 做Web开发也有半年了, 乱码自然是碰到过不少。 但是昨晚乱码的原因却很奇特... ...

         整整搞了我两个多小时, 最终发现是:
<form id="sendMailForm" name="news" action="sendmail.actio
n" method="post">
 我起初没有写名method="post"最终导致乱码。
 惨痛的教训呀
  哎....

4、  当一个类中同时有继承与实现时应该将继承写在前面

5、  关于MyEclipse下.xml文件的补全功能失效的问题:
        可以按照如下方式进行设置:
        window——prefernces——XML——XML catalog中进行添加。

        Window -> Preferences -> MyEclipse -> Editors -> XML -> XML Catalog。找到路径后,再安装帮助文档中的办法设置,问题解决。导入dtd后,以后每次新建xml文件的时候,选择XML (Basic Templates),下一步选择Create XML file from a DTD file。导入该dtd文件,再编辑xml,可以自动补全,很爽。

6、 A表为主表,B表主从表。对应的POJO_B象关联了POJO_A对象, 当持久化B对象的时候,如果A对象还没有被持久化, 就需要持久化这个A对象, 然后再持久化B对象。 否则就会抛出异常: not-null property references a null or transient value(此异常也有可能是某属性被设为非null, 可以在配置文件中进行相应的修改),

   这是因为在默认的情况下, 当Hibernate持久化一个临时对象的时候不会自动持久化与之关联的其他临时对象。

       当然解决这个问题可以通过在映射文件中使用cascade属性, cascade属性会在持久化一个临时对象的时候自动持久化与之关联的其他临时对象。 如在<many-to-one>中添加 cascade="save-update"...  ...

 

7、   异常: org.hibernate.exception.SQLGrammarExceptionCould not execute JDBC batch update

        后来发现原来是自己把源文件的数据库名字改了,导致这样的错误

      解决办法是把*.hbm.xml文件的  schema=" " 改为现在对应的数据库

8、 异常: java.lang.OutOfMemoryError: PermGen space(起因: 一个application反复发布几次存在这个问题)

       ——关于这个问题至今仍是没有一个明确的解释, 我从网上选择了几个觉得是正确的:

    a、 发现了问题的关键。原来SUN 的JVM把内存分了不同的区,其中一个就是permenter区用来存放用得非常多的类和类描述。本来SUN设计的时候认为这个区域在JVM启动的时候就固定了,但他没有想到现在动态会用得这么广泛。而且这个区域有特殊的垃圾收回机制,现在的问题是动态加载类到这个区域后,gc根本没办法回收!

  b、 BEA 的Jrokit
          sun jvm有个好处是,比jrockit remote debug速度快很多. jrockit只适合当作生产环境服务器,测试功能时,建议还是使用sun jvm

  c、 参考的解决方式: 把webapps下多余的項目刪了

          另外我又把项目下的lib下的jar放到了tomcat下,发布速度上也有所提升 ;        设大PermSize

          碰到过这样的问题,也是通过设置JVM的参数解决的

        

OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。

改正方法:-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
 
 
  ——————————————————网友参考版——————————————
    

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。

改正方法:-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

2、

在tomcat中redeploy时出现outofmemory的错误.

可以有以下几个方面的原因:

1,使用了proxool,因为proxool内部包含了一个老版本的cglib.

2, log4j,最好不用,只用common-logging

3, 老版本的cglib,快点更新到最新版。

4,更新到最新的hibernate3.2
 

3、

这里以tomcat环境为例,其它WEB服务器如jboss,weblogic等是同一个道理。
一、java.lang.OutOfMemoryError: PermGen space

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,
这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,
它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对
PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误,
这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小
超过了jvm默认的大小(4M)那么就会产生此错误信息了。
解决方法: 手动设置MaxPermSize大小

修改TOMCAT_HOME/bin/catalina.sh
在“echo "Using CATALINA_BASE:   $CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。

二、java.lang.OutOfMemoryError: Java heap space
Heap size 设置
JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,
其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可
进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。
提示:在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。
提示:Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
解决方法:手动设置Heap size
修改TOMCAT_HOME/bin/catalina.sh
在“echo "Using CATALINA_BASE:   $CATALINA_BASE"”上面加入以下行:
JAVA_OPTS="-server -Xms800m -Xmx800m   -XX:MaxNewSize=256m"

三、实例,以下给出1G内存环境下java jvm 的参数设置参考:

JAVA_OPTS="-server -Xms800m -Xmx800m  -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "

分享到:
评论

相关推荐

    软件项目配置管理系统计划清单

    * 配置库备份:对配置库进行定期备份,以便在出现问题时进行恢复 * 配置库备份计划:配置库备份的频次、备份方式、备份内容等 八、配置库状态报告 * 配置库状态报告:对配置库的状态进行报告,以便了解当前配置库...

    Visual Studio 版本互转工具1.1

    例如把2008转成2005之后,还需要自己手动删除项目内.NET Framework 3.5相关的引用,把那些引用删改之后,项目才可以进行编译编译。(因为2008默认使用.NET Framework 3.5,而2005默认使用.NET Framework 2.0,所以...

    Android高级编程--源代码

    作为使用androidsdk构建这些应用程序的实用指南书籍,《android高级编程》从始至终穿插了一系列示例项目,每个项目都引入android的新功能和新技术,以助您达到最圆满的学习效果。书中介绍android的所有基本功能,并...

    高级版俄罗斯方块

    高级版俄罗斯方块.整个项目源码免费公开!根据陈老师算法改编! 游戏说明: 画面绝对低调奢华,高端大气上档次! 1.可以对游戏面板、游戏图形、游戏控制以及颜色进行配置,具体按F5快捷键进行配置。 2.游戏关闭时,...

    高级路由与交换课程设计报告.pdf

    3. 设计出详细的拓扑图,将各个局域网之间相连,设计专用网时按照分层模型进行规划,指定核心区、接入区等。 4. 实现广域网上的技术ppp、帧中继和HDLC技术等。 5. 实现 LAN和 WAN上的路由器配置,选择合适的路由协议...

    LINQ高级编程 6/7

    清晰完整PDF版本,是我从网上买来...面向对象编程在过去十多年就已有巨大的发展,但即使在当前,如果要操纵的信息不是使用00方式定义的或本身就不具有00特性,通过O0技术使用和整合这些信息时仍然存在难以逾越的鸿沟。

    LINQ高级编程 2/7

    清晰完整PDF版本,是我从网上买来...面向对象编程在过去十多年就已有巨大的发展,但即使在当前,如果要操纵的信息不是使用00方式定义的或本身就不具有00特性,通过O0技术使用和整合这些信息时仍然存在难以逾越的鸿沟。

    明日科技C#开发入门及项目实战

    实例005 为项目添加dll文件引用 实例006 为项目添加已有类 实例007 为项目添加第三方控件 实例008 为项目添加已有窗体 第2章 c#语言基础 实例009 利用for循环输出多行语句 实例010 输入并输出姓名 实例011 使用值...

    高级软件架构师复习提纲

    帮助同步工作成果/使项目团队外的人员也能看到项目进展情况和质量情况/可在项目进行中纠正偏差/着重于评审项目目标和交付成果 /增加阶段性的审批环节,只有在审核通过后,才进入下一个阶段 28、MSF的基本要素——两...

    《Android高级编程》

    作为使用AndroidSDK构建这些应用程序的实用指南书籍,《Android高级编程》从始至终穿插了一系列示例项目,每个项目都引入Android的新功能和新技术,以助您达到最圆满的学习效果。书中介绍Android的所有基本功能,并...

    SQL Server 2008高级程序设计 4/6

    维埃拉,当1978年的计算机热潮席卷而来时,Robert Vieira对计算机技术萌生了浓厚兴趣。他从1983年开始攻读计算机信息系统学位,于1985年后期涉足自己钟爱的“计算机程序故障”领域,于1990年获得商业管理学位。丰富...

    2018 年上半年信息系统项目管理师下午案例分析试题一.docx

    2017 年 7 月份,在向客户进行半年度工作汇报时,客户表示对项目的不满,一是项目进度比预期滞后;二是项目的阶段交付物不能满足合同中的质量要求。 由于质量管理工作由李明全权负责,张伟并不清楚究竟发生了什么...

    SSM网上书店,项目修改自其他项目.zip

    SSM框架学习宝典:入门、...在使用SSM框架进行开发时,请确保遵循最佳实践和安全准则,以保障系统的稳定性和安全性。在使用提供的资料时,请遵守版权法规,尊重原作者的权益。让我们共同为推动SSM技术的发展而努力!

    国家社科基金项目申请书_成功样本.doc

    本文将对国家社科基金项目申请书的各个部分进行解读,帮助读者了解申请书的结构和内容。 一、登记号项目序号 登记号项目序号是国家社科基金项目申请书的唯一标识符,用于标识本项目的身份。 二、项目类别 项目...

    SSM小项目,巩固和复习应用SSM框架做项目的过程。.zip

    用于练手的SSM小项目,从数据库表的SQL语句,后台DAO层代码编写,前端使用Bootstrap3搭建一个简单的后台页面,数据的CRUD通过SSM框架进行完成,可以很好地用来巩固和复习应用SSM框架做项目的过程。.zip SSM框架学习...

    Spring高级之注解驱动开发视频教程

    让我们在开发中以及开发后期进行测试时,直接使用Junit结合spring一起测试。 本套课程中,我们将全面剖析Spring和SpringMVC两个部分。从应用场景分析,到基本用法的入门案例,再到高级特性的分析及使用,最后是执行...

    微信开发完整java项目基于SSM微信公众号项目开发SpringMyBatisSpringMVC.zip

    SSM框架学习宝典:入门、...在使用SSM框架进行开发时,请确保遵循最佳实践和安全准则,以保障系统的稳定性和安全性。在使用提供的资料时,请遵守版权法规,尊重原作者的权益。让我们共同为推动SSM技术的发展而努力!

    嵩嵩报名系统(多项目版) v4.1

    可创建多个不同的项目一键智能复制项目一键设置项目开启关闭开始时间结束时间设置项目名称设置项目简介设置报名名额数量设置相同ip允许的报名数量设置报名成功提示设置项目图形验证码开关项目数据 项目数据分页列表...

    从传统的 SSM 项目改造成基于 Spring Boot + Dubbo + Zookeeper 的微服务架构项目

    SSM框架学习宝典:入门、...在使用SSM框架进行开发时,请确保遵循最佳实践和安全准则,以保障系统的稳定性和安全性。在使用提供的资料时,请遵守版权法规,尊重原作者的权益。让我们共同为推动SSM技术的发展而努力!

    SSM电商项目.zip

    SSM框架学习宝典:入门、...在使用SSM框架进行开发时,请确保遵循最佳实践和安全准则,以保障系统的稳定性和安全性。在使用提供的资料时,请遵守版权法规,尊重原作者的权益。让我们共同为推动SSM技术的发展而努力!

Global site tag (gtag.js) - Google Analytics