堆(heap) 为程序保存的一块内存区域,用来保存那些在运行时才知道其存在与大小的数据; 程序能够从堆中分配内存给这些元素;在用完之后,应该释放掉这些内存。 堆中所有的的东西都是匿名的 不能按名字直接访问只能通过指针间接的访问 栈(stack) 为程序保存的一块内存区域,用来保存状态数据, 例如:过 ...
分类:
其他好文 时间:
2018-08-01 16:03:40
阅读次数:
118
Windows进程间共享内存通信实例 抄抄补补整出来 采用内存映射文件实现WIN32进程间的通讯:Windows中的内存映射文件的机制为我们高效地操作文件提供了一种途径,它允许我们在WIN32进程中保留一段内存区域,把硬盘或页文件上的目标文件映射到这段虚拟内存中。注意:在程序实现中必须考虑各进程之间 ...
JVM内存结构如 Java堆(Heap),是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。 方法区(Method Area),方法区(Method Area)与Java堆 ...
分类:
编程语言 时间:
2018-07-31 19:29:11
阅读次数:
177
一、概述 1、String类代表字符串 2、字符串 一旦这个字符串确定了,那么就会在内存区域中就生成了这个字符串。字符串本身不能改变,但str变量中记录的地址值是可以改变的。 字符串的本质是一个字符的数组。 3、字符串有大量的重载的构造方法 通过String类的构造方法可以完成字符串对象的创建,那么 ...
分类:
其他好文 时间:
2018-07-30 13:30:56
阅读次数:
512
一、JVM原理 java编译器只要面向JVM,生成JVM能理解的字节码文件,Java源文件经过编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。 二、JVM运行时数据区 程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程私有的 虚拟机 ...
分类:
其他好文 时间:
2018-07-29 00:12:38
阅读次数:
119
前言 通过学习深入理解java虚拟机的教程,以及自己在网上的查询的资料,做一个对jvm学习过程中的小总结。 本文章内容首先讲解java的内存分布区域,之后讲内存的分配原则以及内存的监控工具。再下来会着重讲解垃圾回收这一章节,该章节涉及了垃圾的标记算法以及各种垃圾回收算法,然后大概的介绍下市面上使用的 ...
分类:
编程语言 时间:
2018-07-28 18:18:05
阅读次数:
181
进程间通信(IPC)介绍 进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。 IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个 ...
分类:
系统相关 时间:
2018-07-26 21:07:26
阅读次数:
287
先了解一下Java堆: 关于Java内存区域的分配,可以查看Java运行时数据区域一篇文章。 Java堆是虚拟机内存管理中最大的一块区域,该区域是线程共享的,某Java进程中所有的线程都可以访问该区域中的数据。Java堆中大部分区域是存放的实例对象,就是我们常说的Java面向对象编程中的对象。比如我 ...
分类:
编程语言 时间:
2018-07-26 13:03:42
阅读次数:
193
找到了 "垃圾" 对象,如何标记 "垃圾" 对象? 标记-清除算法 先标记所有需要回收的对象,标记完成后统一回收被标记了的对象。(最基础的算法,其它算法在这个算法基础上改进的) 缺点:标记和清除的效率不高,标记和清除后会产生大量的内存碎片(空间问题) 复制算法 将内存按容量划分两块大小相等的内存块, ...
分类:
编程语言 时间:
2018-07-25 17:42:09
阅读次数:
133
博客出处: http://www.cnblogs.com/hellocsl/p/3969768.html?utm_source=tuicool&utm_medium=referral 深入理解JVM之JVM内存区域与内存分配 前言:这是一篇关于JVM内存区域的文章,由网上一些有关这方面的文章和《深入 ...
分类:
其他好文 时间:
2018-07-23 11:18:15
阅读次数:
202