草庐IT

finalization

全部标签

java - Android 单元测试类的“private static final”成员将值更改为 null

我在Android项目中有一个JUnit测试用例,它包含如下代码:privatestaticfinalURITEST_RESOURCE_URL=TasksService.TASKLIST_RESOURCELIST_URL.resolve("task/test.task");publicvoidsetUp(){Log.i("Test","TEST_RESOURCE_URL="+TEST_RESOURCE_URL);}这个测试类有多个测试方法,其中一些方法引用(但不试图修改)这个常量的值。但是,当我运行这些测试(Android2.2.2)时,所有这些测试都失败了,但第一个失败,并且logc

android - 终结器抛出的未捕获异常 java.lang.IllegalStateException : Binder has been finalized

这段代码soundPool.release();soundPool=null;有时会产生这个错误:Uncaughtexceptionthrownbyfinalizerjava.lang.IllegalStateException:Binderhasbeenfinalized!atandroid.os.BinderProxy.transactNative(NativeMethod)atandroid.os.BinderProxy.transact(Binder.java:503)atcom.android.internal.app.IAppOpsService$Stub$Proxy.st

android - AssetManager$AssetInputStream.finalize() 在 10 秒后超时

我们看到以下崩溃流,全部发生在Android4.3SamsungGalaxys3上java.util.concurrent.TimeoutException:android.content.res.AssetManager$AssetInputStream.finalize()timedoutafter10secondsatandroid.content.res.AssetManager$AssetInputStream.close(AssetManager.java:559)atandroid.content.res.AssetManager$AssetInputStream.fin

c++ - __finally 应该在 EXCEPTION_CONTINUE_SEARCH 之后运行吗?

在下面的代码中,函数foo递归调用了一次。内部调用导致引发访问冲突。外部调用捕获异常。#include#includevoidfoo(intcont){__try{__try{__try{if(!cont)*(int*)0=0;foo(cont-1);}__finally{printf("innerfinally%d\n",cont);}}__except(!cont?EXCEPTION_CONTINUE_SEARCH:EXCEPTION_EXECUTE_HANDLER){printf("except%d\n",cont);}}__finally{printf("outerfinall

C++ Java static final 等价物

我正在使用C++编写国际象棋游戏程序。我想为类Board创建两个类属性:ROWS和COLUMNS。在Java中,我会将它们声明为staticfinal,一切都会按我的意愿运行。我如何在C++中做同样的声明?我需要在其他类中通过“Board::ROWS”和“Board::COLUMNS”访问这些属性。我所拥有的是这个,它抛出编译错误,因为ROWS和COLUMNS没有在m_TileMap的声明范围内声明。在不使用#define语句的情况下执行此操作是否有好的做法?classBoard{Tile*m_TileMap[ROWS][COLUMNS];public:staticconstintRO

c++ - 具有公共(public)非虚拟析构函数的类是否应标记为 "final"?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。Improvethisquestion要关闭选民,请帮助我改进问题以便重新打开:HowcanIimprovethisquestionsothatitgetsreopened?赫伯萨特wrote:Abaseclassdestructorshouldbeeitherpublicandvirtual,orprotectedandnonvirtual.根据该指南,如果您有一个带有公共(public)非虚拟析构函数的类,则不应将该类用作

java - Kotlin for android 和 static final 内部类

我正在尝试在Kotlin上重写我的android应用程序,并且在转换ContentProvider契约(Contract)类时遇到了问题。所以我有简单的契约(Contract)类(内容类型和内容uris等默认内容被省略):publicfinalclassContract{publicstaticfinalclassContacts{publicstaticfinalStringNAME="Name"publicstaticfinalStringBIRTH="Birth"publicstaticfinalStringIMAGE="Image"}}如果我理解正确,在Kotlin中我们没有静

java - Kotlin for android 和 static final 内部类

我正在尝试在Kotlin上重写我的android应用程序,并且在转换ContentProvider契约(Contract)类时遇到了问题。所以我有简单的契约(Contract)类(内容类型和内容uris等默认内容被省略):publicfinalclassContract{publicstaticfinalclassContacts{publicstaticfinalStringNAME="Name"publicstaticfinalStringBIRTH="Birth"publicstaticfinalStringIMAGE="Image"}}如果我理解正确,在Kotlin中我们没有静

c++ - c++ `override`/`final` 说明符的反义词是什么?

在c++11中overridespecifier防止不覆盖预期的虚拟基函数(因为签名不匹配)。finalspecifier防止无意中覆盖派生类中的函数。=>是否有说明符(可能是first或no_override)防止覆盖未知的基函数?当一个虚函数被添加到一个基类时,我想得到一个编译器错误,这个基类的签名与派生类中已经存在的虚函数具有相同的签名。编辑4:为了保持这个问题的简单性和相关性,这里又是原始伪代码抽象classB:A具有private:virtualvoidfooHasBeenDone()=0;classC:Bimplementsprivate:virtualvoidfooHas

c++ - 为什么 C++ 禁止 final 类的私有(private)继承?

C++11向C++引入了final关键字。它可以用于虚方法或类。将类声明为final禁止任何类型的继承:公共(public)的、protected和私有(private)的。structAfinal{};classB:privateA{};error:base'A'^ismarked'final'虽然禁止公共(public)继承是合理的(例如,如果我的类没有虚拟析构函数,或出于其他原因),但我为什么要禁止私有(private)继承?如果final禁止仅公共(public)继承,那么std::string和它在std中的其他friend可能是final--他们应该--因为没有虚拟析构函数