java内存模型的JMM简介【虚拟机jvm内存模型,jvm虚拟机原理与优化】JMM(Java Memory Model)是 Java 虚拟机规范中定义的一种内存模型,用于规定多线程并发访问共享内存时的内存可见性、有序性和原子性 。JMM 不是 JVM 的一部分,而是 JVM 规范的一部分,即 Java 语言规范的一部分 。
类加载器:JVM使用类加载器将编译好的Java文件加载,在运行时将编译后的字节码转换为机器码 。内存管理:JVM对内存进行分配和管理,包括堆、栈等多种内存结构 。
JMM 允许编译器和缓存以数据在处理器特定的缓存(或寄存器)和主存之间移动的次序拥有重要的特权 , 除非程序员已经使用 synchronized 或 final 明确地请求了某些可见性保证 。
第五部分探讨了java实现高效并发的原理,包括jvm内存模型的结构和操作;原子性、可见性和有序性在java内存模型中的体现;先行发生原则的规则和使用;线程在java语言中的实现原理;虚拟机实现高效并发所做的一系列锁优化措施 。
jvm定义的一套java内存模型为了能够跨平台达到一致的内存访问效果 , 从而屏蔽掉了各种硬件和操作系统的内存访问差异 。
java架构师需要掌握如下:并发编程,JAVA内存模型(JMM)、java当中的线程通讯和消息传递、Synchronized的概念和分析、Volatile和DCL的知识、并发基础之AQS的深度分析、原子操作常用知识讲解 。架构师的种类:应用架构师 。
JVM的内存分布图是什么样的?1、JVM虚拟机包括:类装载子系统 运行时数据区(内存模型)堆(存放对象)栈(线程)(具有先进后出的特性):每个线程启动时都会从栈中分配一块专属的内存空间,用来存放每一个方法的栈帧内存空间 。
2、一个jvm实例,只存在一个堆内存,堆内存的大小是可以调节的 。类加载器读取了类文件之后,需要把类,方法,常量放到堆内存中,保存所有的引用类型的真实信息,以方便执行器执行 。堆内存分为三部分 。
3、jvm内存结构分三部分:类装载器子系统、运行时数据区和执行引擎 。
4、本地内存(Native memory) , 也称为 C-Heap ,是供JVM自身进程使用的 。当Java Heap空间不足时会触发GC,但本地内存空间不够却不会触发GC 。
JVM有哪些垃圾回收算法?1、所以需要垃圾回收;那 JVM 是如何判断哪些对象应该被回收?哪些应该被保持呢?这就要用到JVM的垃圾回收机制了,也就是我们常说的GC(Garbage Collection),也叫垃圾收集器 。
2、如上图所示,垃圾回收算法一共有7个 , 3个属于年轻代、三个属于年老代,G1属于横跨年轻代和年老代的算法 。
3、垃圾收集算法 标记-清除(Mark-Sweep)算法:标记清除算法分为“标记”和“清除”两个阶段:首先标记出需要回收的对象,标记完成之后统一清除对象 。
4、三色标记法是一种垃圾回收法,它可以让JVM不发生或仅短时间发生STW(Stop The World),从而达到清除JVM内存垃圾的目的 。JVM中的 CMS、G1垃圾回收器 所使用垃圾回收算法即为三色标记法 。
关于虚拟机jvm内存模型和jvm虚拟机原理与优化的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- vb.net添加 vbnet添加PDF控件
- sqlserver服务请求失败,sql server服务无法启动怎么办
- 包含postgresql星期几的词条
- 用手机快手直播怎么静音,快手直播怎样静音
- 函数地址python 函数地址绑定的时机
- linux命令行光标消失,linux命令行光标移到开头
- excel如何不复制隐藏,表格excel隐藏内容如何恢复
- 华为手机都有什么特点,华为手机的特征及其作用
- 包含windows系统测评的词条