终结方法(finalizer)通常是不可预测的,也是很危险的,一般情况下是不必要的。使用终结方法会导致行为不稳定、降低性能,以及可移植性问题。
在Java中完成这样的工作主要是依靠try-finally机制来协助完成的,然而Java中还提供了另外一种被称为finalizer的机制,使用者仅仅需要重载Object对象提供的finalize方法,这样当JVM的在进行垃圾回收时,就可以自动...
分类:
编程语言 时间:
2015-05-16 09:08:59
阅读次数:
123
openssl库函数中提供了两个销毁ssl连接通道的函数:SSL_shutdown、SSL_free,作用相同,二者取其一,不可同时使用,否则就会出现两次销毁对象的报错。请看下面一个代码片段:......if(SSL_shutdown(ssl)!=1){ close(sfd); printf("sslshutdownfailed\n");}SSL_free(ssl);........
分类:
其他好文 时间:
2015-04-26 01:29:11
阅读次数:
284
Effective Java创建和销毁对象---考虑用静态工厂方法代替构造器构造器是创建一个对象实例最基本也最通用的方法,大部分开发者在使用某个class的时候,首先需要考虑的就是如何构造和初始化一个对象示例,而构造的方式首先考虑到的就是通过构造函数来完成,因此在看javadoc中的文档时首先关注的...
分类:
编程语言 时间:
2015-04-23 15:25:38
阅读次数:
134
析构函数执行时先调用派生类的析构函数,其次才调用基类的析构函数。如果析构函数不是虚函数,而程序执行时又要通过基类的指针去销毁派生类的动态对象,那么用delete销毁对象时,只调用了基类的析构函数,未调用派...
分类:
其他好文 时间:
2015-04-22 18:53:27
阅读次数:
151
C++中的动态内存管理是通过new和delete两个操作符来完成的。new操作符,为对象分配内存并调用对象所属类的构造函数,返回一个指向该对象的指针。delete调用时,销毁对象,并释放对象所在的内存。但在程序中使用new和delete容易导致很多问题,这里列出三个比较容易犯的错误。我们new了一个...
分类:
编程语言 时间:
2015-04-10 13:35:02
阅读次数:
140
7.构造函数和析构函数在C++中,构造函数就是初始化类的实例即对象(开辟内存空间),构造函数就是销毁对象(回收空间)。namespaceConsoleApplication7{classProgram{staticvoidMain(string[]args){Students=newStudent();Student1s1=newStudent1(12);Student2s2=newStudent2(1..
关于Effective java 这本书,自己的一些总结性的思考。篇幅可能不按照目录来,因为自己喜欢先看哪一章就直接阅读了。不过能确定的是,每一章都会有总结。欢迎大家拍砖与补充。...
分类:
编程语言 时间:
2015-04-08 15:03:54
阅读次数:
114
第一条:考虑用静态工厂方法代替构造器使用静态工厂方法的优势:静态工厂方法具有名称,具有适当名称的方法更易阅读。具有多个构造器的类用户往往不知道该用哪个,可考虑提供多个合适命名的静态工厂方法。相比于构造器,不必再每次调用时都创建一个新对象不可变类可以预先创建好实例,或者将构件好的实例缓存起来,从而避免...
分类:
编程语言 时间:
2015-04-03 22:24:17
阅读次数:
263
今天刚开始读effective java,中文版的读起来很拗口,但感觉收获很多。另外,这本书的内容是针对Java 1.5和1.6的。在这里整理一下第2章:创建和销毁对象 的内容。第一条:考虑用静态工厂方法代替构造器 这一条针对的情景是要获得类的实例时。一般说来,想要获得类的实例,都是通过构造函数.....
分类:
编程语言 时间:
2015-04-01 19:22:39
阅读次数:
159
Objective--C 一 关键字1 KVC 动态设值,动态取值,类似雨java中的反射,而且私有的照样可以设置与获取2 二 函数1 retain 给对象引用计数器 + 12 release 给对象引用计数器 - 13 dealloc 销毁对象,当对象引起计数器为O时,自动调用该方法,4 au.....
分类:
移动开发 时间:
2015-03-19 09:53:08
阅读次数:
170