——读《深入理解Java虚拟机JVM高级特性与最佳实践》自我整理
熟悉Java的人都知道Java的一个特点:一次编译,到处运行。但是为什么只能Java实现这个特性,而比Java执行效率更高的c、c++没有这个特性呢?首先到处运行指的是不同的操作系统 windows linux unix 等等,c/c++在不同的系统下或者不同的编译器下,其编译的规则是有些不同的,这样做是为了更大限度地提升它的执行效率,所以不得不在兼容性方面做了妥协,而Java不一样,它在不同的操作系统上面又封装了一个相当于是自己的操作系统,这就是Java虚拟机(JVM),只要每个操作系统上装上这个JVM就都可以运行基于这之上的Java程序了。
说起Java与c的不同,可能大家第一反应是Java是个面向对象的语言,第二反应就是Java拥有自动内存管理机制。那么Java的内存管理机制到底是怎样的?首先从字面上看自动内存管理,肯定管理的是内存的从分配、使用、回收、再使用的一个整个的闭环流。
在了解内存管理之前,我们首先要对JVM运行时的数据区的结构有所了解,看下图:
线程共享区代表着里面的数据区随着线程的生命周期从生到死,非线程共享区是在JVM启动时创建,关闭时销毁的。
程序计数器:它表示的当前线程执行的字节码的行号,因为在多线程环境中,操作系统对多线程采用的是轮流切换并且分配处理时间的机制,为了要保证每个线程在切换至其它线程时其执行进度不丢失,所以每个线程中都会有这么一个计数器。
虚拟机栈:它描述的是Java方法执行的内存模型,每次执行方法时会产生一个栈帧,包含局部变量栈、操作数栈、方法出口等,方法的执行从开始到结束就是这个栈帧入栈出栈的过程。
本地方法区:和虚拟机栈类似,不过它处理的是 Native方法的内存模型。
堆:内存回收中的主要回收区域,也是JVM管理的内存中的最大一块,里面存放的都是对象的实例。
方法区:这里面储存的都是一些类的相关信息、静态变量、常量、编译过后的代码等,主要是对堆的一个描述逻辑的区域。
这几个区域的联系就像下图一样:
例如在一个方法中有一个对象:Object obj=new Object(); 那么在这个方法中的Object obj 指向了一个堆中的实例obj(通过new Object()在堆中创建),同时在堆中的这块内存中还储存了一个指向方法区中这个对象相关信息的一个指针。
分享到:
相关推荐
JVM垃圾回收器和内存分配策略
JVM垃圾回收器和内存分配策略
个人整理 jvm相关知识 包括内存分配机制 垃圾回收机制 垃圾收集器相关 及 垃圾收集算法
主要是JVM内存分配及简单的JVM性能调优
JVM历史发展和内存回收笔记
JVM初探- 内存分配、GC原理与垃圾收集器,从从提上讲解了jvm中GC的原理、基本的算法和针对不同内存区使用的算法,同时,详细的讲解了当前主要使用的垃圾收集器
自己学习总结JVM垃圾回收机制的结构图,一起分享!!!
JVM初始分配的内存.doc JVM初始分配的内存.doc
第一节:学习JVM的意义和目标 1.1 意义: 1.2 目标: 第二节:JVM内存模型 1.1 概念 1.2 JVM内存模型 1.3 Heap堆内存模型 第三节:定位垃圾对象的依据 1.1 引用计数法 1.2 可达性算法 第四节:垃圾回收算法 ...
JVM的堆是Java对象的活动空间,程序中的类的对象从中分配空间,其存储着正在运行着的应用程序用到的所有对象。这些对象的建立方式就是那些new一类的操作,当对象无用后,是GC来负责这个无用的对象(地球人都知道)。
1.1 对象优先在Eden区分配 1.2 大对象直接进入老年代 1.3 长期存活的对象将进入老年代
JVM内存管理和垃圾回收 JVM内存管理和垃圾回收 JVM内存管理和垃圾回收
Jvm垃圾回收机制 by linux_14胡嘉辉1.如何确定某个对象是“垃圾”? 2.典型的垃圾收集算法3.典型的垃圾收集器
自己总结的jvm中内存和垃圾回收的笔记,绘制了详细的思维导图,每个思维导图中均有详细的博文解释,方便大家学习和理解,免费分享给大家。适合jvm的爱好者和学习者
认识JVM内存优化, 避免最大的误区:认为JVM内存越大越好。看到一个线程 blocked就认为阻塞了。
你对JVM内存组成结构和JVM垃圾回收机制是否熟悉,这里和大家简单分享一下,希望对你的学习有所帮助,首先来看一下JVM内存结构,它是由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示。
jvm内存模型以及垃圾回收机制.pptx
JVM垃圾回收整理。。。
四大垃圾回收算法:复制算法、标记-清除算法、标记-整理算法、分代收集算法 七大垃圾回收器:Serial、Serial Old、ParNew、CMS、Parallel、Parallel Old、G1 JVM调优:命令行指令,设置堆内存大小的参数
深入理解JVM垃圾收集算法与垃圾收集器