构造函数是特殊的成员函数,只要创建类类型的新对象,都要执行构造函数,定义对象指针不会调用构造函数。创建类类型的新对象时,编译器为对象分配内存空间,完成后自动调用构造函数初始化对象的数据成员。构造函数的主要工作是初始化对象的数据成员。0、构造函数的特点(1)、构造函数与类同名(2)、构造函数没有返回类...
分类:
编程语言 时间:
2014-05-16 19:30:56
阅读次数:
502
一、字符串指针、字符数组1.
字符串指针:字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以‘\0’作为串的结束。 char
*ps="C Language"; 可以写为: char *ps; #ps字符串指针,是指针...
分类:
其他好文 时间:
2014-05-16 05:05:14
阅读次数:
259
1.Heap与stack的差别
Heap是堆,stack是栈。
Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。
Stack空间有限,Heap是很大的自由存储区
C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。
程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行。
2...
分类:
编程语言 时间:
2014-05-12 23:21:25
阅读次数:
653
一、操作系统中线程和进程的概念 现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。
进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。
线程是指进程中的一个执行流程,一个进程中可以运...
分类:
编程语言 时间:
2014-05-12 14:41:33
阅读次数:
362
图片有各种形状和大小。在许多情况下这些图片是远远大于我们的用户界面(UI)且占据着极大的内存空间,如果我们不对位图进行压缩处理,我们的程序会发生内存泄露的错误。...
分类:
移动开发 时间:
2014-05-12 14:38:23
阅读次数:
418
关于安卓进程的讲解网上的资料比较少,其实对应用层程序员来说,很少接触到进程,线程倒是经常遇到。进程的生命周期
Android系统会尽力保持应用的进程,但是有时为了给新的进程和更重要的进程回收一些内存空间,它会移除一些旧的进程。
为了决定哪些进程留下,哪些进程被杀死,系统根据在进程中在运行的组件及.....
分类:
移动开发 时间:
2014-05-12 12:22:56
阅读次数:
271
1、多线程线程与进程的区别多个进程的内部数据和状态都是完全独立的,而多线程是共享一块内存空间和一组系统资源,有可能互相影响.
?线程本身的数据通常只有寄存器数据,以及一个程序执行时使用的堆栈,所以线程的切换比进程切换的负担要小。多线程编程的目的,就是"最大限度地利用CPU资源",当某一线程的处理不需...
分类:
编程语言 时间:
2014-05-12 01:27:24
阅读次数:
503
平时我们编程的时候例如:Object object=new
Object();那object就是一个强引用了。如果一个对象具有强引用,那就类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空
间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具...
分类:
编程语言 时间:
2014-05-12 00:21:44
阅读次数:
563
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned
int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。
由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小...
分类:
其他好文 时间:
2014-05-09 16:11:21
阅读次数:
267
1.垃圾收集算法的核心思想
Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。
垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别,如果对象正在被引用,那么称其为存活对象,反之,如果对象不再被...
分类:
编程语言 时间:
2014-05-09 01:32:44
阅读次数:
569