jvm内存模型 + 简单调优

jdk jre jvm概念介绍

  1. JDK(Java Development Kit(配套元件)) 是 Java 语言的软件开发工具包(SDK)

软件开发工具包(缩写:SDK、外语全称:Software Development Kit)在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。 , 软件开发工具包(缩写:SDK、外语全称:Software Development Kit)在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。

  1. JRE(Java Runtime Environment,Java运行环境)

包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)

  1. JVM是Java Virtual(虚拟) Machine(机器)(Java虚拟机)的缩写

JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。, JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

  1. JVM体系结构与运行原理:

Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS(操作系统 ,英语:operating system,缩写作 OS)之上的Java解释器中解释执行。

jvm结构

  1. 类加载子系统 运行时将.class 文件的内容和静态常量池放进方法区

  2. java 堆 Xmx (堆得指令) 在启动时就建立 java程序最主要的内存工作区域 堆空间是所有线程共享的

  3. 直接内存 直接映射到物理内存 大小限制取决于物理内存的大小 主要运行NIO库下面的东西 提升性能

  4. 垃圾回收系统 可以回收、自动管理 方法区 java堆 直接内存

  5. java 栈 保存着局部变量、方法参数,同时 和 java 方法的调用 、返回密切相关

  6. 本地方法栈

  7. pc pc寄存器 区分本地方法 和 java 中的方法

  8. 执行引擎 负责执行虚拟机的字节码

在这里插入图片描述

jvm堆结构图及分代

一般分为新生代、老年代和永久代(静态属性、常量、类信息)
分代是为了提高对象内存分配 和 垃圾回收的效率
在这里插入图片描述

垃圾回收算法

1.引用计数法 无法处理循环引用的问题
2.复制算法 需要两倍的内存空间

在这里插入图片描述

3.标记-清除

需要暂停整个应用
会产生内存碎片

4.标记-整理 是对1.3 算法的优化

jvm垃圾收集器
次收集 影响的区域是年轻代
全收集 老年代

分代回收器 (有7个)

在这里插入图片描述

  1. 串行收集器(Serial) 会暂停所有的线程
    在这里插入图片描述

2.并行收集器 (ParNew)
解决安全点时间长短
在这里插入图片描述

3.Parallel Scavenge 收集器

提高吞吐量

4.cms

并发 收集器 应用到服务端的优化

5.Serial old 老年代 串行化老年版

6.peralled old 并行化的老年版

在这里插入图片描述

7.分区收集 - G1收集器 可跨区

jvm 优化

jdk 工具 jps , jstat, jinfo, jmap ,jvisualvm, Jconsole,jProfile,VisualVM

1.选择jvm的版本
2.堆内存大小的设置
3.垃圾收集器的选择
可以参见改博主 https://www.cnblogs.com/jay36/p/7680023.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值