Java8移除永久代

JDK8 的10个新特性总结如下:

  1. Lambda Expressions
  2. Pipelines and Streams
  3. Date and Time API
  4. Default Methods
  5. Type Annotations
  6. Nashorn JavaScript Engine
  7. Concurrent Accumulators
  8. Parallel operations
  9. PermGen Space Removed
  10. TLS SNI

其中,第九个就是移除了永久代,其目的是Hotspot JVM和JRockit JVM相融合的设计思路。
转移位置:  将java类部分放到java heap里,将字符串常量和类中的静态变量放到内存里面。


在JDK1.7中, 已经把原本放在永久代的字符串常量池移出, 放在堆中. 为什么这样做呢? 因为使用永久代来实现方法区不是个好主意, 很容易遇到内存溢出的问题. 我们通常使用PermSize和MaxPermSize设置永久代的大小, 这个大小就决定了永久代的上限, 但是我们不是总是知道应该设置为多大的, 如果使用默认值容易遇到OOM错误.

类的元数据, 字符串池, 类的静态变量将会从永久代移除, 放入Java heap或者native memory. 其中建议JVM的实现中将类的元数据放入 native memory, 将字符串池和类的静态变量放入java堆中. 这样可以加载多少类的元数据就不在由MaxPermSize控制, 而由系统的实际可用空间来控制.

为什么这么做呢? 减少OOM只是表因, 更深层的原因还是要合并HotSpot和JRockit的代码, JRockit从来没有一个叫永久代的东西, 但是运行良好, 也不需要开发运维人员设置这么一个永久代的大小.

当然不用担心运行性能问题了, 在覆盖到的测试中, 程序启动和运行速度降低不超过1%, 但是这一点性能损失换来了更大的安全保障.

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
视频详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 课程内容: 1.版本管理工具概念 2. 版本管理工具介绍 2.1版本管理发展简史(维基百科) 2.1.1 SVN(SubVersion) 2.1.2 Git 3. Git 发展简史 4. Git 的安装 4.1 git 的下载 4.2 安装 5. Git 工作流程 5.1 Git 初始化 5.2 git 流程 5.2.1 流程图 5.2.2概念即详解 6.Git 的基本使用01-TortoiseGit 操作本地仓库 6.1 初始化仓库 6.2 添加文件 6.3 提交文件至本地仓库 6.4 修改文件,与再次提交文件 6.5 文件状态讲解 6.6 修改文件,不提交和上一个版本比较差异(diff) 6.7 查看提交历史记录 6.8 回退至历史版本 6.9 文件删除 6.9.1本地删除与恢复 6.9.2从版本库删除 6.9.3从版本库删除,但是不删除本地 6.10 忽略提交 7. Git 的基本使用02-TortoiseGit 操作本地仓库(分支) 7.1 分支的概念 7.2 为何要使用分支 7.3 创建分支 7.4 分支的查看切换 7.4.1查看分支 7.4.2切换分支 7.5 分支的合并与删除 7.5.1合并 7.5.2删除分支 8.tag 标签 8.1 标签的概念 8.2 标签的创建(tag) 8.3 标签的切换与删除 9. 远程仓库 9.0 局域网仓库 9.0.1本地相对路径,多个文件夹之间共享码 9.0.2开启局域网共享码 9.1 常用远程仓库托管服务 9.2 码云账号注册 9.3 创建远程仓库 9.4 把本地码推送到远端 9.5 从远程仓库克隆码 9.6 码的修改与提交,查看历史 9.7 ssh 连接概述 9.8 ssh 密钥的生成 9.9 ssh 密钥配置 9.10 ssh 方式克隆/提交码: 9.11. 远程仓库的其他操作 9.12 利用 gitee 搭建个人主页 10.命令行-- git基本操作 10.1 介绍 10.2 环境配置 10.3 初始化本地仓库 init 10.4 克隆 clone 10.5 查看状态 status 10.6 add 10.7 commit 10.8 删除 rm 11. 命令行--git 远程仓库操作 11.1 查看远程 11.2 添加/移除远测仓库 11.3 从远程仓库获取码 12. 命令行-- 分支 13 . 命令行 --tag 14. 案例

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值