自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

转载 一个高效的内存池实现

在高效C++编程中看到一个不错的内存池实现方案,这里共享下,大家看看有什么不足。代码很简单,如下:templateclass CMemoryPool{    public:        enum { EXPANSION_SIZE = 32};        CMemoryPool(unsigned int nItemCount = EXPANSION_SIZE

2013-06-30 09:46:45 721 1

转载 常见C++内存池技术

总结下常见的C++内存池,以备以后查询。应该说没有一个内存池适合所有的情况, 根据不同的需求选择正确的内存池才是正道.(1)最简单的固定大小缓冲池    适用于频繁分配和释放固定大小对象的情况, 关于这个内存池,我这里总结过:一个高效的内存池实现(2)dlmalloc      应该来说相当优秀的内存池, 支持大对象和小对象,并且已被广泛使用。到这里下载:ftp

2013-06-29 22:14:46 1001

转载 git rebase

nity Book 中文版rebase假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。$ git checkout -b mywork origin现在我们在这个分支做一些修改,然后生成两个提交(commit).$ vi file.txt$ git commit$ vi otherfile.

2013-06-19 22:20:31 822

转载 static_cast和reinterpret_cast的区别

发布时间:2009.07.07 13:25     来源:CSDN    作者:CSDN大多程序员在学C++前都学过C,并且习惯于C风格(类型)转换。当写C++(程序)时,有时候我们在使用static_cast时可能会有点模糊。在本文中,我将说明static_cast泛型(Generic Types)float f = 12.

2013-06-15 17:01:06 1523

转载 reinterpret_cast

目录reinterpret_cast编辑本段reinterpret_castreinterpret_cast[1]是C++里的强制类型转换符。操作符修改了操作数类型,但仅仅是重新解释了给出的对象的比特模型而没有进行二进制转换。例如:int *n= new int ;double *d=reinterpret_cast (n);在进行计

2013-06-15 16:50:01 560

转载 hpp在C++中的含义

hpp在C++中的含义hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再 将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用hpp将大幅度减少调用 project中的cpp文件数与编译次数,也不用再发布烦人的lib与dll,因此非常适合用

2013-06-09 11:47:14 993

转载 在source insight中添加新的文件类型

在source insight中添加新的文件类型(2011-04-09 10:56:16)转载▼source insight本身支持很多种文件类型,比如.c/.h/.c++之类的。但我们的使用过程中有时会想在工程中添加一些其他的类型文件(如effect file文件,即.fx文件),这时如果直接按照一般的方法去添加文件,是添加不进工程的。source insight为我

2013-06-08 11:04:39 1087

转载 《深入理解Java虚拟机》学习小记一之自动内存管理机制(二)

27人收藏此文章, 我要收藏发表于24天前(2013-05-12 10:03) , 已有191次阅读 ,共1个评论目录:[ - ]1.概要2.判断对象是否存活的算法2.1引用计数算法2.2根搜索算法3.GC算法3.1标记-清除(Mark-Sweep)算法3.2复制(Copying)算法3.3标记-整理(Mark-Compact)算法3.4分代收集

2013-06-05 22:56:09 798

转载 JVM内存管理:深入Java内存区域与OOM

2011-08-31 21:38 204人阅读 评论(0) 收藏 举报javajvmallocationoutofmemoryerror虚拟机generation目录(?)[+] Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 概述:对于从事C、C++程序开发的开发人员来说,在内

2013-06-05 22:55:27 1179

转载 根搜索算法

3.2.2 根搜索算法在主流的商用程序语言中(Java和C#,甚至包括前面提到的古老的Lisp),都是使用根搜索算法(GC Roots Tracing)判定对象是否存活的。这个算法的基本思路就是通过一系列的名为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象到GC Roots没有任何引用链相连(用图论的话

2013-06-05 22:51:39 8324 5

转载 智能指针的死穴 -- 循环引用

C++最新标准C++11中已将基于引用计数的智能指针share_prt收入囊中,智能指针的使用门槛越来越低,不需要使用boost库,我们也能轻松享受智能指针给我们带来的方便。智能指针,正如它的名字一样,似乎是个近乎完美的聪明角色,程序员不用再纠结于new出来的内存在哪释放比较合适这种问题。比如当一个资源被多个模块共享时,程序员需要在所有模块的生命周期都结束时,由最后一个不使用该指针的模块触发指

2013-06-05 21:59:21 9584

转载 C++编程智能指针循环引用解决

字号:小大2012-10-23 15:55 来源:落伍者 我要评论(0)C++中智能指针的引入,使得开发人员在与内存的斗争中占据上峰。然而凡事都不会尽善尽美,智能指针的循环引用缺陷还是会引发令人谈虎色变的内存泄露。本文的内容就是讲述,如何解决循环引用带来的内存问题。背景:智能指针采用Boost库,语言C++,开发工具VS2005,示例程序为Win32程序。关于Boo

2013-06-05 21:53:41 1085

转载 再论C++之垃圾回收(GC)

再论C++之垃圾回收(GC)分类: 内存管理(Memory) C++2006-11-24 02:04 22525人阅读 评论(23) 收藏 举报c++microsoftpointersc#wrapperreference目录(?)[+]本文已经迁移到: http://cpp.winxgui.com/cn:garbage-collectio

2013-06-04 23:09:50 936

转载 漫谈JVM的基本垃圾回收算法

漫谈JVM的基本垃圾回收算法2009-12-25 16:15 和你在一起 JavaEye博客 我要评论(0) 字号:T | TJVM是Java平台的核心,其垃圾回收机制也成为Java的一个标志性特性。本文介绍了一些JVM的垃圾回收算法,可以按照基本回收策略、分区对待以及系统线程等三个方面考虑。AD:2013大数据全球技术峰会课程PPT下载

2013-06-04 23:08:16 661

转载 JVM调优总结:分代垃圾回收详述

JVM调优总结:分代垃圾回收详述2012-01-10 11:19 和你在一起 和你在一起的博客 我要评论(0) 字号:T | T虚拟机中的共划分为三个代:年轻代、年老点和持久代。其中持久代主要存放的是Java类的类信息,与垃圾收集要收集的Java对象关系不大。年轻代和年老代的划分是对垃圾收集影响比较大的。下文将进行分代垃圾回收详述。AD:2013大数据全球技

2013-06-04 22:59:07 686

转载 JVM垃圾回收面临的问题

JVM垃圾回收面临的问题2009-12-30 10:14 和你在一起 JavaEye博客 我要评论(0) 字号:T | TJVM垃圾回收机制有几种算法,但是都有一些问题,比如无法解决循环引用。本文介绍JVM垃圾回收是从哪里开始执行,碎片的处理方法,以及对象创建和对象回收的问题。AD:2013大数据全球技术峰会课程PPT下载本文

2013-06-04 22:56:43 662

转载 JVM分代垃圾回收策略的基础概念

JVM分代垃圾回收策略的基础概念2010-01-06 09:28 和你在一起 JavaEye博客 我要评论(0) 字号:T | T由于不同对象的生命周期不一样,因此在JVM的垃圾回收策略中有分代这一策略。本文介绍了分代策略的目标,如何分代,以及垃圾回收的触发因素。AD:2013大数据全球技术峰会课程PPT下载本文来自和你在一起

2013-06-04 22:52:30 510

转载 垃圾回收

1.引用计数算法       引用计数(Reference Counting)算法是每个对象计算指向它的指针的数量,当有一个指针指向自己时计数值加1;当删除一个指向自己的指针时,计数值减1,如果计数值减为0,说明已经不存在指向该对象的指针了,所以它可以被安全的销毁了。可以很直观的用下面的图表示:     引用计数算法的优点在于内存管理的开销分布于整个应用程序运行期间

2013-06-04 22:36:22 569

转载 给 C 实现一个垃圾收集器

粽子节假期,欧洲杯开战。为了晚上不打瞌睡,我决定写程序提神。这三天的成果就是:实现了一个 C 用的垃圾收集器。感觉不错。话说这 C 用的垃圾收集器,也不是没人做过,比如 这个 。不过它用的指针猜测的方法,总让人心里不塌实,也让人担心其收集的效率。我希望做一个更纯粹的 gc for C/C++ 模块,接口保持足够简单。效率足够的高。三天下来,基本完成,正在考虑要不要放到 sourceforg

2013-06-04 22:33:54 721

转载 垃圾收集

jvm垃圾收集(标记-清除,复制,标记-整理,分代)算法6人收藏此文章, 我要收藏发表于2个月前(2013-03-18 09:24) , 已有52次阅读 ,共0个评论1. 标记 - 清除算法 标记清除算法是最基础的收集算法,其他收集算法都是基于这种思想。标记清除算法分为“标记”和“清除”两个阶段:首先标记出需要回收的对象,标记完成之后统一清除对象。它的主

2013-06-04 22:33:12 637

转载 详解volatile在C++中的作用

volatile的介绍      volatile类似于大家所熟知的const也是一个类型修饰符。volatile是给编译器的指示来说明对它所修饰的对象不应该执行优化。volatile的作用就是用来进行多线程编程。在单线程中那就是只能起到限制编译器优化的作用。所以单线程的童鞋们就不用浪费精力看下面的了。没有volatile的结果      如果没有volatile,你将无法在多线程中并

2013-06-03 22:33:58 623

原创 有趣的发现,引用初始化为整数

#includeint main(){    volatile const int i = 1;    const_cast(i)++;    //i++; 此处不能改变i,const_cast只是临时的    printf("i=%d\n", i);    const int &i2 = 1; //不加const初始化,就出错    const_cas

2013-06-03 22:10:15 633

转载 一、const_cast

C++ Const总结一、const_cast来自MSDN的说明:一个指向对象或对象成员的指针可以显式地转换为带有不同const、volatile或__unaligned属性的同一类型。对于指针和引用,转换结果引用的是原对象。对指向数据成员的指针,转换结果指向原指针(转换前)指向的对象。通过转換得到的指针、引用及(指向数据成员的)指针来进行写操作可以

2013-06-02 21:40:49 608

effective stl

fsdfsdfdsfsfsfsfsdfdsafdsafsdafsdafsadfdsfsdfssadfsasafsdsfda

2008-10-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除