调用方法Java中的垃圾收集

时间:2013-05-13 20:28:36

标签: java multithreading methods invoke system.exit

我的问题实际上由两部分组成。当使用java Method类从加载的类调用方法时,第一个问题必须要做。这个“调用”方法是否在单独的线程中运行?如果是这样,你可以访问吗?

其次,考虑我使用invoke从加载的类调用方法的情况。假设该方法调用System.exit()。如果我使用安全管理器来停止发生System.exit()调用,并且父程序捕获安全管理器异常,那么子线程是否会被正确地垃圾收集?

1 个答案:

答案 0 :(得分:1)

  

这个“调用”方法是否在一个单独的线程中运行?

不,Java Reflection一般与多线程无关。

  

子线程是否会被正确地垃圾收集?

由于没有涉及多线程,我相信你的第二个问题没有实际意义。但更一般地说,线程之间没有异常传播,因此如果子线程由于未处理的异常而结束,则父线程将无法神奇地“捕获”它。从逻辑上考虑一下:父线程将在那时关闭一些完全不相关的代码片段,用一个与正在执行的内容无关的栈跟踪来中断它是没有意义的。