非连续分配允许一个程序分散地装入到不相邻的内存分区中,根据分区的大小是否固定分为分页存储管理方式和分段存储管理方式。 基本分页存储管理方式 固定分区会产生内部碎片,动态分区会产生外部碎片,这两种技术对内存的利用率都比较低。我们希望内存的使用能尽量避免碎片的产生,这就引入了分页的思想:把主存空间划分为 ...
分类:
其他好文 时间:
2020-01-05 12:00:54
阅读次数:
64
1. 内存分区模型 C++程序在执行时,将内存大方向划分为4个区域: 代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放,存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收 内存4区的 ...
分类:
编程语言 时间:
2020-01-02 18:27:03
阅读次数:
82
SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用。 1、先用命令查看自己的swap多大: [root@host /]# free -m 2、创建一个大小为2G的文件,其中的 count 等于想要的块大小: [root@host ...
分类:
系统相关 时间:
2019-12-27 13:17:10
阅读次数:
99
Linux有三个分区/boot 分区swap 虚拟内存分区/ 根目录分区 root 超级用户密码 centos2019 重启Linux的命令reboot Linux的目录结构 是层级式的树状目录结构,最上层的根目录是“/” 在Linux的世界里,一切皆文件 /bin目录:存放经常使用的命令/home ...
分类:
系统相关 时间:
2019-12-21 20:48:57
阅读次数:
107
1)代码区:可执行程序代码存放区,这个我们不用关心;2)全局区:1全局与静态变量区:存放全局变量与静态变量,又可以区分为已经初始化的全局变量和静态变量区以及为初始化的全局变量和静态变量区;2常量区:字符串常量与const修饰的常量存放在常量区;3)堆区:用户动态申请的内存区,需要用户进行释放,否则有可能会造成内存泄漏;4)栈区:该区内存由系统自动分配和释放,存放局部变量以函数实参等。1全局区分析看
分类:
编程语言 时间:
2019-11-24 22:46:22
阅读次数:
185
堆(Heap)与栈(Stack)是开发人员必须面对的两个概念,在理解这两个概念时,需要放到具体的场景下,因为不同场景下,堆与栈代表不同的含义。一般情况下,有两层含义:(1)程序内存布局场景下,堆与栈表示两种内存管理方式;(2)数据结构场景下,堆与栈表示两种常用的数据结构。 1.程序内存分区中的堆与栈 ...
分类:
其他好文 时间:
2019-11-22 12:09:33
阅读次数:
62
知识铺: 致力于打造轻知识点,持续更新每次的知识点较少,阅读不累。不占太多时间,不停的来唤醒你记忆深处的知识点。 Java内存模型(JMM) JVM内存模式是JVM的内存分区 Java内存模式是一种虚拟机规范 1. Jvm内存按照运行时态及内存规范划分 2. Java内存区域 2.1 线程安全 2. ...
分类:
编程语言 时间:
2019-11-17 13:08:22
阅读次数:
103
1. 说说JVM的内存分区 线程私有的区域 程序计数器:JVM中程序计数器相当于汇编语言中的CPU中的寄存器,保存程序当前执行的指令的地址。 虚拟机栈:Java方法执行的栈由许多个栈帧构成,每个栈帧对应一个被调用的方法,在栈帧中包括局部变量表(Local Variables)、操作数栈(Operan ...
分类:
编程语言 时间:
2019-09-23 15:25:13
阅读次数:
119
1、java虚拟机内存结构 java程序的执行依赖于JAVA虚拟机(运行与机器内存中),其开始于一个main()方法,如果在一台机器上运行三个java程序,就需要三个java虚拟机。 1.1 程序计数器 功能:一块较小的内存,执行引擎Execution Engine通过改变计数器的值选取下一条需要执 ...
分类:
其他好文 时间:
2019-08-13 15:51:15
阅读次数:
99
此方法不限于centos,linux均适用 最近在服务器上部署了一个java项目,java进程经常性莫名被自动Kill,首先java程序是没有报错的,那么我想可能是内存不足的原因,因为4G内存的服务上部署了gitlib,mysql,redis这些服务 1.先查看一下自己的服务器swap大小,命令:f ...
分类:
系统相关 时间:
2019-07-15 12:11:03
阅读次数:
379