C++ 智能指针详解
一、简介
由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_ptr...
分类:
其他好文 时间:
2016-04-22 19:53:53
阅读次数:
158
1.垃圾回收的意义在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用..
分类:
编程语言 时间:
2016-04-21 18:49:23
阅读次数:
283
关于JVM 的垃圾回收机制,我们一般都没过多深入,因为JAVA 和 C++ 的一个很大区别就是,JAVA 帮我们做了垃圾回收,而不用像C++ 那么样手动进行回收,当然任何自动的东西都存在一定弊端,比如机器人,即使自动程度很高,但是在处理某些感情问题上,肯定处理上就会有遗漏,开个玩笑啦, 下面我们先来 ...
分类:
其他好文 时间:
2016-04-20 21:47:05
阅读次数:
134
System类 System类位于系统的java。lang包中,他是一个final类,所有属性和方法都是静态的,我们常用的有System.in System.out System.err(标准出错)。 System类中有许多的方法,都在javaAPI中可查。 gc(垃圾回收机制) 调用 gc 方法暗 ...
分类:
其他好文 时间:
2016-04-18 00:50:13
阅读次数:
124
1.程序语言的发展过程: 机器语言->汇编语言(C、Basic、Pascal、Fortrain)->第三代(Algo、Simula67、Ada、SmallTalk,C++、Java、C#) 2.Java的特点: 1)简单易学:摒弃了指针、结构及内存管理; 2)安全性高:强制型语言、垃圾回收机制; 3 ...
分类:
编程语言 时间:
2016-04-16 18:15:44
阅读次数:
147
1.垃圾收集算法的核心思想 Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。 垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空 ...
分类:
移动开发 时间:
2016-04-16 00:42:18
阅读次数:
470
我们都知道JVM内存由几个部分组成:堆、方法区、栈、程序计数器、本地方法栈JVM垃圾回收仅仅针对公共内存区域即:堆和方法区进行。本文主要讨论两点,一是垃圾回收策略,二是调优的方法。一、垃圾回收机制1.1 分代管理将堆和方法区按照对象不同年龄进行分代:u 堆中会频繁创建对象,基于一种分代的思想,按照对象存活时间将堆划分为新生代和旧生代两部分,我们不能一次垃圾回收新生代存活的对象就放入旧生代,而是要...
分类:
其他好文 时间:
2016-04-15 02:16:40
阅读次数:
174
详解CMS垃圾回收机制 原创不易,未经允许,不得转载~~~ 什么是CMS? Concurrent Mark Sweep。 看名字就知道,CMS是一款并发、使用标记-清除算法的gc。 CMS是针对老年代进行回收的GC。 CMS有什么用? CMS以获取最小停顿时间为目的。 在一些对响应时间有很高要求的应 ...
分类:
其他好文 时间:
2016-04-15 00:00:02
阅读次数:
679
昨天朋友问我,如果一个java局部对象在调用jni的时候,如果java层没有引用它,这个对象会不会因为被jni层引用不被GC,导致内存泄漏。我大概想了一下,说不会。当时想的很简单,c里面没有像java一样的类似的内存回收机制,java层进入jni时值传递,不会导致引用产生。实事上比想象的复杂的多,而 ...
分类:
移动开发 时间:
2016-04-14 14:02:18
阅读次数:
141
Java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。需要注意的是:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身。System.gc()Runtime.getRuntime().gc() 上面的方法调用时用于显式通知JV ...
分类:
编程语言 时间:
2016-04-13 13:15:59
阅读次数:
129