- 博客(4)
- 收藏
- 关注
原创 风骚裙摆--最后的内存池
上一篇文章我介绍过了对象池,后来想了一下,发现就这么用模板以及一些raii技法,工厂模式实现一个对象管理接口似乎有点局限性,首先它很难做到单例模式,因为一个程序总不能来来去去就创建那么一种对象吧,但单例的情况下,这个对象池的实例只能被构造一次,也就是说,只能填充一次模板实体,好咯,既然有局限性,那我就会想设法去改善它咯,所以我又设计并开发了一个内存池。。。所谓内存池,就完全可以利用单例模式,抛开对象
2015-10-31 03:17:03 5401
原创 进击的对象池
前面有一篇文章说过在代码中如果要高频地创建一个对象(比如一些及时通信的socket等等)怎么通过raii技法进行内存优化,而且这些对象在程序中的生存周期比较短,搞几下就没用了,尤其是一些线程之类,如果要完成什么阻塞任务,虽然它就搞那么几秒,但放在主线程就是会卡住界面,让用户体验很差,然而线程的开销可是众所周知的不小,这个时候我们就会想到如果有一种方法能够反复利用这些对象就好了,于是就有了池这个概念,
2015-10-21 17:52:37 667 2
原创 借刀杀对象--Raii技法(C++版)
我们都知道C++有一点很不爽的地方就是内存管理需要手动,像我有时候使用多了像C#,java之类托管语言(C#在clr中可以通过gc进行垃圾回收,java在jvm中也有相应的gc回收),再写C++就会有点不爽了,甚至会疑神疑鬼的,写完一段代码就会想想 天哪,我的代码有没有哪里忘了释放内存啊,有没有内存泄露啊,唉,写代码的乐趣就这样被一点点的抹去,这时候我们会想到C++能不能也来个内存的自动管理啊,C+
2015-10-19 18:50:30 765
原创 JVM之旅--GC探秘
说到GC,首先要说到GC实现一个很重要的角色,那就是jvm(java虚拟机),jvm作为java的一个托管平台在java代码的运行过程中提供了诸多的性能优化,确保代码的高效率执行,至于怎么优化就暂且不关注这个问题,我们先来看看oracle对于jvm的架构说明:在这个图里面我们可以看到,我们用java写的各种类都是通过一个类加载器交换到jvm,jvm的中间层包括java方法存储区,以及java中堆(h
2015-10-02 00:50:17 762 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人