`
j2ee-fans
  • 浏览: 1618 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jdk7 升级 jdk8 的情况实际发生的问题总结

    博客分类:
  • java
阅读更多

相信大多数的研发人员都遇到过关于jdk7 升级 jdk8 的情况,对于企业应用在升级的时候需要特别注意:

 

1- 从jdk7 升级 jdk8 后,机器的JVM内存参数要进行调整,否则会出现报错,原因是JDK7 与JDK8 的内存模型发生了变化。

 

比如一版jdk7 的jvm参数为如下:

JAVA_OPTIONS=“-Xms2048M  -Xmx2048 -XX:MaxNewSize=1024M -XX:MaxNewSize=1024m -XX:PermSize=512M  -XX:MaxPermSize= 512M -XX:survivorRetio=8 -XX....”

jdk8:

JAVA_OPTIONS=“-Xms2048M  -Xmx2048 -XX:MaxNewSize=1024M -XX:MaxNewSize=1024m -XX:MetaspaceSize=512M -XX:survivorRetio=8 -XX....”

 

由于jdk7的关于参数区,需要预先指定空间,若超过后会报outOfMemeryError  PermGen space ,而jdk8 原本在堆空间中的 常量池与方法区 被转移到了元数据区中去了,这样就不需要指定permSIze 的最小与最大内存空间,而实际当中往往很难精准的判断出这个空间的有效值,因此jdk8废除了这样的模式,把参数与方法区的内测独立到了元数据区,而元数据区默认是与机器剩余的内存空间共享的,若不指定则最大值未机器的剩余内测空间的最大值。但建议还是要设置。

 

JVM 的演变历史https://blog.csdn.net/tlk20071/article/details/77841841  

 

2- 个别开源工具,在升级jdk8 后,比如cglib,由于本身jdk7、jdk8的反射机制有差异,在非规范的POJO写法,若遇到ibaties 的动态DYNAMIC 化实例化动态类会出现异常,而cglib在遇到异常的情况却未抛出而转用jdk代理方式来初始化属性。

 

非规范写法如下:

 

public Object  setNameId(String Id) {
this.productId = nameId;
}
public Object  setCustId(String Id) {
this.custId = custId;
}

 

正确的做法:

public void setNameId(String Id) {
this.productId = nameId;
}
public void  setCustId(String Id) {
this.custId = custId;
}

 

分享到:
评论

相关推荐

    Oracle密谋B计划 JDK 7或成跳票王

    也就是Sun被Oracle收购之前,遗憾的是,收购后的整合过程使用的时间比JDK 7项目组预期的更长,但现在JDK 7项目组已经准备好,可以重新集中精力在这个重大的升级版本上,和其它开源贡献者一道稳步推进JDK 7的开发。

    windows jdk1.8,jdk11

    正好最近我在自己的个人小项目上尝试升级使用了一下Java 11(公司项目咱也不敢动、也不敢问,只好动自己的个人项目),因此本文从实际代码编写角度来大致体验一下我个人使用Java 11之后相对Java 8所感觉到的一些比较...

    JDK1.8_LINUX

    LINUX版本使用的jdk1.8(java8、JDK8、JDK1.8),有这个打算后的java语言走的路子就快了很多,比如10.0和11.0的发布就很快,一些新增的功能还需要市场来反馈是不是合理的,而且java开发依赖于很多框架(如spring),...

    Java8 Demo代码示例

    Java8已经正式发布很久了 , 从各项新特性来讲 , Java8无疑是重大的版本升级 . Orcale公司于2014年3月18日发布Java8 , 新增了非常多的特性 . 但时至今日 , 大部分人在项目中依然使用着Java7及之前的新特性 . 所谓没有...

    2024年Tomcat安装和配置(超详细)

    内容包括Tomcat的基础概念、Java JDK的安装、Tomcat的下载、环境变量的配置、Tomcat的启动和验证、Web应用程序的部署、Tomcat的配置文件编辑、虚拟主机的配置、连接器的设置、会话管理、安全性配置、性能监控以及...

    JAVA_SE_6_新特征.rar

    有了这样的功能,开发者就可以实现更为灵活的运行时虚拟机监控和 Java 类操作了,这样的特性实际上提供了一种虚拟机级别支持的 AOP 实现方式,使得开发者无需对 JDK 做任何升级和改动,就可以实现某些 AOP 的功能了...

    Java Instrumentation笔记

    有了这样的功能,开发者就可以实现更为灵活的运行时虚拟机监控和 Java 类操作了,这样的特性实际上提供了一种虚拟机级别支持的 AOP 实现方式,使得开发者无需对 JDK 做任何升级和改动,就可以实现某些 AOP 的功能了...

    java(C/S)酒店管理系统 sqlsever数据库 附数据库

    java(C/S)酒店管理系统 sqlsever数据库 附数据库 是不错的学习java的一个课程代码。 还有数据库表备份,可以学习和参考...由于jdk升级,部分函数可能升级,如dialog.show(),可通过javac 看到问题,和解决办法。

    java论坛一键搭建Easyjsprun! v6.0.1 UFT-8 For windows 110530.zip

    一键搭建提供了快捷的一键安装体验,您无需担心如何配置 IIS、Apache、Tomcat、JDK、MySQL 等等繁琐复杂的问题,EasyJspRun! 一键搭建能够为您迅速构建服务器环境。 二、 一键搭建特性 ===================== ...

    概要设计说明书模版

    存储规划,网络规划以及接口机和备份机的规划情况(根据项目的实际运行环境进行描述)。 3.2.3 关键技术 描述该系统所采用的关键技术。 示例:ETL(数据的抽取,转换和加载) 多维分析(OLAP) 电子地图 4 功能...

    java毕业设计之基于springboot智能物流管理系统.zip

    SpringBoot智能物流管理系统是一款基于SpringBoot框架开发的物流管理系统,主要用于帮助企业进行物流管理,提高工作效率。该系统采用了流行的前后端...JDK版本:JDK1.8 数据库:mysql 开发软件:eclipse和idea都可以

    JVM参数设置详细说明

    后来我们就用CMS gc(-XX:+UseConcMarkSweepGC),当时的总heap还是3g,新生代1.5g后,观察不是很理想,改为jvm heap为2g新生代设置-Xmn1g,在这样的情况下young gc发生的频率变成7、8秒一次,平均每次时间40-50毫秒...

    最新SpringBoot项目校园志愿者管理系统.zip

    - JDK版本:推荐使用JDK1.8; - 服务器:Tomcat7; - 数据库:MySQL 5.7或更高版本; - 数据库工具:Navicat; - 集成开发环境:IntelliJ IDEA或Eclipse; - 构建工具:Maven 3.3.9。 2. **系统功能**: - ...

    java论坛一键搭建Easyjsprun! v6.0.1 GBK For windows 110530.zip

    一键搭建提供了快捷的一键安装体验,您无需担心如何配置 IIS、Apache、Tomcat、JDK、MySQL 等等繁琐复杂的问题,EasyJspRun! 一键搭建能够为您迅速构建服务器环境。 二、 一键搭建特性 ===================== ...

    ueditor-1.1.2-sj.jar

    所以我也在网上版本上升级了源码,目前这个版本,两者都可以,只要修改ueditor 1.4.3工具中的 jsp/control.jsp文件的saveRootPath值。如果是传值为“”,则默认上传到项目路径下。如果传实际目录值,则上传到指定的...

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    Spring3.x企业应用开发实战(完整版) part1

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    primary-java::beaming_face_with_smiling_eyes:java基础知识:face_with_open_mouth: 互联网 Java 工程师进阶知识完全扫盲:hugging_face:面试指南:left_arrow_curving_right:Java学习

    总结内容大部分来自于网络和实际笔试和面试经验,内容涵盖、、、、、SpringBoot/SpringCloud、Mybatis、Kafka、Zookeeper、MySql、Redis、JVM 此项目为知乎 12个模块 150 道 java 必考面试题的升级版,更新目录和...

    Maven2 的新特性.7z

    本文主要阐述 Maven2 的新特性,这些新特性可以大大地缩短了开发管理中的工作量,使得开发人员将精力集中在实际的业务问题上。 Maven 出现到现在也有很长时间了,初识它的感觉至今仍清晰的印在脑海中。现在想来,...

    java 面试题 总结

    error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。 16、...

Global site tag (gtag.js) - Google Analytics