一,redis内存管理介绍 redis是一个基于内存的key-value的数据库,其内存管理是很重要的,为了屏蔽不同平台之间的差异,以及统计内存占用量等,redis对内存分配函数进行了一层封装,程序中统一使用zmalloc,zfree一系列函数,其相应的源代码在src/zmalloc.h和src/z...
分类:
其他好文 时间:
2014-07-29 12:31:06
阅读次数:
262
看下面例子及说明:/**假如有外部类调用了该类,代码为:new StaticTest();那么下面是类属性的加载顺序*/public class StaticTest{public int dsd=2;//第3 //多个对象会有多次分配内存public awds() {int sdsfsd=2;//...
分类:
编程语言 时间:
2014-07-28 23:43:44
阅读次数:
259
DirectMemory容量可通过-XX:MaxDirectMemorySize指定,如果不指定,则默认与Java堆的最大值(-Xmx指定)一样。代码中越过了DirectByteBuffer类,直接通过反射获取Unsafe实例并进行内存分配(Unsafe类的getUnsafe()方法限制了只有引导类加载器才会返回实例,也就是设计者希望只有r..
分类:
其他好文 时间:
2014-07-28 16:43:04
阅读次数:
281
内存组件
Large Pool-大池是SGA的一个可选组件,通常用于共享服务器模式(MTS)、 并行计算或
RMAN的备份恢复等操作。
Java Pool-Java池主要用于JVM等Java选件。
Streams Pool-Streams pool是Oracle10g引入的概念,为Oracle的Streams功能所使用,如果不定义该参数,这部分内存将从Shread Pool中分配
对于SGA各部分内存分配,可以从数据库的视图中查询得到:
17:46:03 sys@felix SQL>selec...
分类:
数据库 时间:
2014-07-28 00:14:59
阅读次数:
437
Node中为了应对文件读写,网络I/O处理,数据库访问等,需要高效操作二进制数据,Javascript中自带的字符串类型已远远不能满足要求,因此Buffer对象应运而生。Buffer对象内存分配并不在V8的堆内存而是C++外部内存申请,并在Javascript分配和使用。Buffer支持和String对象之间相互转换,但不是所有字符编码都支持,同时要注意转换过程中Buffer拼接造成的乱码问题。...
分类:
Web程序 时间:
2014-07-27 23:52:50
阅读次数:
328
Delphi异常处理的基本原则和方法 一、异常的来源。在Delphi的应用程序中,下列的情况都比较有可能产生异常。(1)文件处理(2)内存分配(3)Windows资源(4)运行时创建对象和窗体(5)硬件和操作系统冲突二、异常的处理。(1)try…except…end;在try体内的代码发生异常...
分类:
其他好文 时间:
2014-07-26 01:03:16
阅读次数:
251
文中通过最简单的一个例子来demo下这jvm对象分配和回收的整个过程,代码很短,很简单,希望剖析的细一点,包括每一步操作后对象的分配和回收对内存堆产生的影响。设定上包括对堆中年轻代(年轻代中eden区和survivor区)、年老代大小的设定,以及设置阈值控制年轻代到年老代的晋升。
分类:
其他好文 时间:
2014-07-25 18:54:02
阅读次数:
352
程序的运行过程从来都不是一帆风顺的,运行期间会遇到各式各样的突发状况,如文件打不开、内存分配错误、数据库连不上等等。作为一个进阶过程中的编程人员,思考和处理例外状况极为重要。因为它在很大程度保证了程序的连贯性和稳定性,并为问题的发现提供支撑。下面就本人在编..
分类:
其他好文 时间:
2014-07-25 11:37:32
阅读次数:
208
内存中对象的创建、对象的结构以及访问方式。
一、对象的创建
在语言层面上,对象的创建只不过是一个new关键字而已,那么在虚拟机中又是一个怎样的过程呢?
(一)判断类是否加载。虚拟机遇到一条new指令的时候,首先会检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号代表的类是否被加载、解析并初始化。如果没有完成这个过程,则必须执行相应类的加载。
(二)在堆上为对象分配空...
分类:
编程语言 时间:
2014-07-25 11:22:21
阅读次数:
261
c语言中描述变量的时候常用的两个用语
1.作用域:也叫可见域,指的是变量的作用范围。在哪个范围内,该变量是可以使用的,可见的。
2.生存期:也叫存储期,指的是变量从创建到销毁的生存时间段。
作用域和存在域是两个不同的概念,比如在程序的某个位置,某变量存在(内存中分配了地址)但不可见(不可使用)。...
分类:
其他好文 时间:
2014-07-25 11:21:51
阅读次数:
165