resource-leak

    5热度

    2回答

    我有一种方法接受InputStream(二进制数据)并将其序列化为XML。为了做到这一点,它用一个base64编码器和一个Reader包装流,将其转换为字符数据。但是,由于InputStream作为参数传入,因此我认为它关闭流是一种有害的副作用,Reader.close()的合同表示它会这样做。如果我不关闭阅读器,编译器警告我说,我有一个 资源泄漏:读者永远不会关闭 所以,我可以一个@Suppre

    2热度

    1回答

    我们正在研究JavaFX 2.2作为构建桌面应用程序的框架。但是,在开发许多开发人员之前,我们希望确保JavaFX适合这项工作,因此我们进行了一次小型压力测试,以确定它是否会泄漏资源。该测试在永无止境的循环中显示并隐藏包含标签和按钮的舞台。我们希望可以永远这样继续下去没有问题,但经过大约15500次迭代,我们得到这个异常 java.lang.RuntimeException: could not

    2热度

    1回答

    我编写了一个简单的程序,它产生10个线程,每个线程打开一个数据库(对所有线程都通用),或者如果打开失败,则创建一个数据库(使用“Write-Ahead Log”选项) ,在数据库上创建一个表,然后进入一个无限循环,在这个循环中,它在表中添加一行。我发现程序每隔5分钟就会泄漏大约2个句柄,我尝试了一种名为Memory Verify的工具,它告诉我泄漏的句柄是SQLite3文件锁(版本3.7.13上的

    0热度

    1回答

    我在应用程序中遇到GDI字体和笔刷泄漏。我怎样才能在我的源代码中找到创建的(和注释掉的)对象? 我没有任何toHFont调用,并且所有对Graphics的访问都被封装在using语句中。我从GDIView和.NET Memory Profiler等工具知道它的笔刷和字体 - 但他们没有说我的源代码中哪个地方创建了泄漏对象。 我在VS2008,.NET 3.5中使用C#。

    4热度

    2回答

    我使用Eclipse 4.2启用了资源泄漏警告4.2资源泄漏。 这段代码产生的,在我看来假的,资源泄漏警告。 public static void test(){ InputStream in = null; try { in = new FileInputStream("A"); } catch (IOException e) { return; }final

    1热度

    2回答

    我有一个Java迭代器,它列出来自远程位置的项目。商品列表以“页面”形式出现,“下一页”操作相当缓慢。 (具体来说,我的迭代器被称为S3Find并列出来自Amazon S3的对象)。 所以,为了加快速度,我想预取一个列表页面。为此,我使用了ExecutorService和Callable/Future模式来预取项目的“页面”。问题是,该迭代器的调用者可能随时放弃操作,而不通知我的课程。例如,考虑下

    0热度

    4回答

    我对传感器取消注册的注销感到困惑。假设我忘记注销一个听众。应用程序被销毁后会发生什么? Android操作系统是否继续向应用程序发送消息?但是应用程序被销毁,因此它的进程被终止。任何人都可以回答这个问题吗?感谢:)

    3热度

    2回答

    偶尔地,如果我们的文件服务器速度很慢,并且页面没有按其超时完成,ASP.Net会以ThreadAbortException命中它。如果这发生在Win32Native.CreateFile内部,它将锁定文件句柄直到我们执行iisreset。 这是.NET中的缺陷吗?有没有什么我们可以做的关于短暂的不良想法,如提高超时到一些巨大的数字......我不认为ThreadAbort.Reset会有帮助,因为

    0热度

    1回答

    我有一个使用cairo,poppler和gtk +的程序(gummi)。每次我用alt-tab切换焦点时(但是当我使用其他方式改变焦点时并不那么多),任务管理器告诉我它获得了10-20个GDI对象。 GDIView告诉我这些大多是位图和DC,尽管这些仅占“GDI Total”的大部分; “所有GDI”的数量是“GDI Total”数量的3-4倍。 如何确定这是否是gummi中的一个bug(我认为这

    5热度

    1回答

    下面的Python 3代码呈现一些奇怪的行为(对我来说,至少),当我通过strace运行: import os import sys if len(sys.argv) != 2: print('Usage: ecpy <filename>') sys.exit(1) try: print('my PID: %d' % os.getpid()) with op