概述
运行时数据区域
程序计数器
Java虚拟机栈
本地方法栈
Java堆
方法区
运行时常量池
直接内存
hotspot虚拟机对象探秘
对象的创建
对象的内存布局
对象的访问定位概述
Java程序员不需要自己去手动释放内存,而C、C++程序员就需要自己去操作了,原因是Java虚拟机帮我们完成了这个动作,所以我们也要了解jvm的机制,这样出问题后才会知道它到底是什么情况。本章介绍JVM内存各个区...
分类:
编程语言 时间:
2015-07-14 17:59:21
阅读次数:
163
BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存...
分类:
其他好文 时间:
2015-07-14 17:12:01
阅读次数:
109
共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。是针对其他通信机制运行效率较低而设计的。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步.....
分类:
系统相关 时间:
2015-07-13 20:04:35
阅读次数:
189
JVM内存区域模型
1.方法区
也称"永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小。
运行时常量池:是方法区的一部分,Class文件中除了有类的版本、字段、方法、接口等描述信息外,还有一项信息是常...
分类:
编程语言 时间:
2015-07-12 23:21:22
阅读次数:
268
java的虚拟机在内存中开辟出一块单独的区域,用来存储字符串对象,这块内存区域被称为字符串缓冲池。那个java的字符串缓冲池是如何工作的呢?
String a = "abc";
String b = "abc";
String c = new String("xyz");例如上边的代码:
String a = “abc”; 创建字符串的时候先查找字符串缓冲池中有没有相同的对象,如果有相同的对...
分类:
编程语言 时间:
2015-07-12 17:29:03
阅读次数:
148
1.IO流1)根据方向分为:输入流和输出流。方向的定了是基于我们的程序的。流向我们程序的流叫做:输入流;从程序向外流的叫做:输出流2)流根据源头分为:基本流(节点流):从特定的地方读写的流类,如磁盘或一块内存区域。即有来源。处理流(高级流、过滤流):没有数据来源..
分类:
编程语言 时间:
2015-07-10 19:21:49
阅读次数:
228
从上往下一次是
栈区 :局部变量
堆区
BSS段
数据区
代码区
在ARC环境下,block 如果不使用外部变量则是全局block(NSGlobalBlock)
如果使用外部变量则是堆block(NSMallockBlock)
在MRC环境下,block不使用外部变量还是全局block(NSGlobalBlock)
如果使用外部变量则是栈block(NSStack...
分类:
其他好文 时间:
2015-07-10 16:43:10
阅读次数:
92
Java内存区域 了解Java GC机制,必须先清楚在JVM中内存区域的划分。在Java运行时的数据区里,由JVM管理的内存区域分为下图几个模块: 其中: 1,程序计数器(Program Counter Register):程序计数器是一个比...
分类:
编程语言 时间:
2015-07-09 18:12:36
阅读次数:
242
1:上图为java虚拟机运行时数据区程序计数器:是一块较小的内存,可以看作是当前线程所执行的字节码的行号指示器。字节码的解释器工作就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支循环跳转异常处理线程回复等都要依赖于这个计数器完成。java虚拟机多线程通过线程轮流切换分配处理器时间片实...
分类:
编程语言 时间:
2015-07-09 00:27:05
阅读次数:
171
程序栈 说到堆栈帧,你得先说说程序栈。 记忆功能程序堆栈区是支持操作,通常共享堆。程序栈通常占领内存区域的下部,而堆用的是上部。 程序栈存放栈帧,栈帧有时候也称为活跃记录或活跃帧。栈帧存放函数參数和局部变量。堆存放动态内存。 调用函数时,函数的栈帧被推到栈上。栈向上长出一个栈帧。当函数终止时,其栈帧...
分类:
编程语言 时间:
2015-07-08 22:26:21
阅读次数:
139