我刚接受采访,并被要求用Java 创建内存泄漏.
毋庸置疑,我觉得自己很傻,甚至不知道如何开始创建一个.
一个例子是什么?
也许最典型的例子是错误地完成JDBC关闭并且没有正确处理可能的异常.我很好奇看到你见过的其他例子 - 最好是与web应用程序相关.
那么,Java中是否存在任何常见的泄漏模式?
我试图检测我的一些Java代码以确保对象被正确地进行垃圾收集,并且我发现令人惊讶的是它并没有像我预期的那样经常被调用.
我现在想知道这是因为错误的仪器还是我需要解决的实际内存泄漏.VisualVM分析器似乎表明了前者.
令人担忧的情况是我有一个处理请求的线程,并且在请求中创建了数千个临时对象.有时,此线程写入的套接字意外关闭,线程遇到异常并死亡.
当线程死亡时,似乎不会在这些对象上调用.finalize().这是不相信我的仪器的原因吗?