Sip电话,PJSip,CSipSimple踩坑记录(二) java中的析构函数

问题:

了解PJSUA2 API 的时候,经常提到析构、析构函数,不懂是什么意思,做个记录。

传送门:

Sip电话,PJSip,CSipSimple踩坑记录(一)

记录过程:

    析构函数(destructor) 与 构造函数相反,当对象结束其 生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。

    类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。

    析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。

    java中有析构函数,但我们一般用不到它,因为java有自动内存回收机制 "GC",无需程序猿/媛来释放,也就不要担心内存泄露,只不过java中析构函数所采用的方式不是C++中的那样前加~号,在java中 对象析构时会调用 void finalize() 方法,因此你如果确实需要析构的话就可以为你写的类添加一个void finalize(){}方法,来完成你所需要的工作。

示例:


当上面的代码被编译和执行时,它会产生下列结果:


你可能感兴趣的:(Sip电话,PJSip,CSipSimple踩坑记录(二) java中的析构函数)