本文主要是基于Sun JDK 1.6 Garbage Collector(作者:毕玄)的整理与总结,原文请读者在网上搜索。 1、Java虚拟机运行时的数据区 2、常用的内存区域调节参数 -Xms:初始堆大小,默认为物理内存的1/64(<1GB);默认(MinHeapFreeRatio参数可以调整)空
分类:
编程语言 时间:
2016-02-01 14:58:12
阅读次数:
281
k->[sss] ------>k是指针,指向内存区,内存区存的数据是sss ,那么,*K的内容就是sss (*k)<==>sss sss->[hhh]---->sss是新的地址,是指针,指向内存区域,内存区域的数据是hhh,那么,*sss的内容就是hhh (*sss)<==>hhh 综上所述,二重
分类:
编程语言 时间:
2016-01-29 20:34:32
阅读次数:
260
大多数处理器至少支持两种执行模式。某些指令只能在特权模式下执行,包括读取或者改变诸如程序状态字之类控制寄存器的指令、原始IO指令和内存管理相关的指令。另外,有一部分内存区域仅在特权下可以被访问到。非特权态常被称为用户态,这是因为用户程序通常在该模式下执行;特权态可称作系统态、控制态或者内核态,内核态...
分类:
系统相关 时间:
2016-01-23 21:40:08
阅读次数:
295
文章主要是阅读《深入理解java虚拟机:JVM高级特性与最佳实践》第二章:Java内存区域与内存溢出异常的一些笔记以及概括。好了開始。假设有什么错误或者遗漏,欢迎指出。一、概述先上一张图这张图主要列出了Java虚拟机管理的内存的几个区域。常有人把Java内存区分为堆内存(Heap)和栈内存(Stac...
分类:
编程语言 时间:
2016-01-23 21:03:21
阅读次数:
211
很多语言中都有深复制浅复制的概念,如C++,ObjC等。简单来说,浅复制就是两个变量指向了同一块内存区域,深复制就是两个变量指向了不同的内存区域,但是两个内存区域里面的内容是一样的。浅复制示意图:深复制示意图:iOS开发中,浅复制和深复制要更复杂一些,涉及到集合对象和非集合对象的copy与mutab...
分类:
移动开发 时间:
2016-01-20 22:29:12
阅读次数:
205
简要介绍Java的内存区域:运行时数据区域HotSpot虚拟机对象一、概览二、运行时数据区域2.1 程序计数器Program Counter Register,代表当前线程所执行的字节码的行号指示器,操作系统中的PC,这两个是一个概念。执行时就是通过改变这个计数器来选取下一条需要执行的字节码指令。J...
分类:
编程语言 时间:
2016-01-20 01:03:44
阅读次数:
211
运行时数据区域程序计数器线程私有程序计数器(Program Counter Regiter,PC)是一块较小的内存空间,它可以看做是当前线程执行的字节码的行号指示器。Java虚拟的多线程是通过轮流切换并分配处理器执行时间的方式来实现的,在任何时间一个处理器只能执行一条线程中的指令。因此为了线程切换后...
分类:
编程语言 时间:
2016-01-19 23:35:57
阅读次数:
140
一. 线程和进程:1)进程是操作系统里运行的一个任务,一个应用程序运行在一个进程中。2)进程是包含了某些资源的内存区域,操作系统利用进程把它的工作划分为功能单元。3)进程包含一个或多个单元称为线程(thread)。4)操作系统创建一个进程后,该进程会自动申请一个主线程。5)线程的划分小于进程,使得多...
分类:
编程语言 时间:
2016-01-19 00:18:18
阅读次数:
170
浅拷贝对引用类型只拷贝地址,拷贝前后共享一块内存区域。深拷贝就是所有的东西全部重新有一份,没有共享存在,推荐使用序列化深拷贝。using System;using System.IO;using System.Runtime.Serialization.Formatters.Binary;nam.....
基础概念? 缓冲区操作缓冲区及操作是所有I/O的基础,进程执行I/O操作,归结起来就是向操作系统发出请求,让它要么把缓冲区里的数据排干(写),要么把缓冲区填满(读)。如下图? 内核空间、用户空间上图简单描述了数据从磁盘到用户进程的内存区域移动的过程,其间涉及到了内核空间与用户空间。这两个空间有什么区...
分类:
编程语言 时间:
2016-01-06 21:30:57
阅读次数:
266