1、jvm分类 1.1.Hotspot VM 是之前使用最广泛的Java虚拟机, 1.2.JRockit VM 是BEA 开发的一款虚拟机是 号称 "运行最快的java虚拟机"、 1.3.J9 VM 是IBM开发的一款虚拟机 1.4.Dalvik Vm 是Google 开发的一款移动端虚拟机 总结: ...
分类:
其他好文 时间:
2019-11-24 19:57:08
阅读次数:
100
之所以想谈谈这个是因为,最近在上网搜索的时候无意间发现,有人误将数据结构中的堆(就是那个“大顶堆”“小顶堆”的堆)和内存结构中的“堆”弄混了。 ...
分类:
其他好文 时间:
2019-11-23 09:19:54
阅读次数:
67
一、基础篇 JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 JVM参数及调优 Java对象模型 oop-klass、对象头 ...
分类:
编程语言 时间:
2019-11-22 00:34:49
阅读次数:
72
站在垃圾收集器的角度来看,可以把内存分为新生代与老年代。内存的分配规则取决于当前使用的是哪种垃圾收集器的组合,以及内存相关的参数配置。往大的方向说,对象优先分配在新生代的Eden区域,而大对象直接进入老年代。 第一, 新生代的Eden区域,对象优先分配在该区域,同时JVM可以为每个线程分配一个私有的 ...
分类:
其他好文 时间:
2019-11-20 16:49:12
阅读次数:
82
一、程序计数器/PC寄存器 (Program Counter Registe) 用于保存当前正在执行的程序的内存地址(下一条jvm指令的执行地址),由于Java是支持多线程执行的,所以程序执行的轨迹不可能一直都是线性执行。当有多个线程交叉执行时,被中断的线程的程序当前执行到哪条内存地址必然要保存下来 ...
分类:
其他好文 时间:
2019-11-19 14:03:22
阅读次数:
72
从上面这个图我们总体上对JVM的结构特别是内存结构有了比较清晰的认识,虽然在JDK1.8+的版本中,JVM内存管理结构有了一定的优化调整。主要是方法区(持久代)取消变成了直接使用元数据区(直接内存)的方式,但是整体上JVM的结构并没有大改,特别是我们最为关心的堆内存管理方式并没有在JDK1.8+的版本中有什么变化,所以图中的结构整体上是没有什么不准确的,之所以将方法区以及持久代标注出来,主要还是为了起到对比认识的作用,大家知道就可以了。
关于持久代元数据区的使用问题,目前可以理解就是使用的物理内存,理论上是不受JVM自动内存回收机制管理的,如果不设置参数大小默认最大使用限制就是操作系统可用物理内存的大小,设置了-XX:MetaspaceSize参数的话,JVM就会在使用物理内存空间时自己进行限制。
至于直接内存与物理内存到底是不是一回事,我认为对于我们理解上没有区别,只是概念的区别,另外就是对这块内存使用细节上的区别,如果不受JVM的自动回收管理,那么怎么管理呢?说到底还是JVM本身在直接使用物理内存或者说是直接内存(用时直接“malloc”物理内存区域,而不再是JVM进程启动时初
分类:
编程语言 时间:
2019-11-19 01:19:54
阅读次数:
88
20191331 《信息安全专业导论》第6周学习总结 教材学习内容总结 数组与链表 数组是一种最常见的链式结构,存储在一段连续的内存空间中 。 链表是一种元素内存空间离散排列的线性数据结构 。 基于数组和基于链表实现数据结构 数据结构主要可以分为两大模块: + 线性结构 非线性结构 数组的内存结构是 ...
分类:
其他好文 时间:
2019-11-17 23:43:38
阅读次数:
92
数据库 磁盘上存储的数据的集合 在物理上表现为数据文件、日志文件和控制文件等 在逻辑上以表空间形式存在 必须首先创建数据库,然后才能使用Oracle 数据库实例 每个启动的数据库都对应一个数据库实例,由这个实例来访问和控制数据库 为了运行数据库, Oracle系统所运行的所有进程和分配的内存结构的组 ...
分类:
数据库 时间:
2019-11-11 21:49:06
阅读次数:
148
JVM之内存结构图文详解 Java GC垃圾回收机制 Java虚拟机类加载器及双亲委派机制 ...
分类:
其他好文 时间:
2019-11-11 12:46:53
阅读次数:
89
https://blog.csdn.net/weixin_39540568/article/details/88363212 问题引出:在看一些资料博客的时候说线程共享同一个进程的代码段和数据段,又有说法是代码段和数据段在可执行文件中加载,比较疑惑,下面稍微具体的整理一下。 在解释原因前我们先看一下 ...
分类:
编程语言 时间:
2019-11-11 00:46:23
阅读次数:
82