我有這樣的對象:傳遞給Java線程的對象是否佔用了堆外空間?
final List<Rows> rowsToSubmit = new ArrayList<>(rows);
而且我實例線程在:
// submit to a thread
executorService.submit(new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
Object threadObj = new Object();
return bq.doHttpPost(rowsToSubmit); // takes about 3 seconds for IO
}
});
確實Java的利用與rowsToSubmit
對象的線程堆棧內存呢?換句話說,如果我的rowsToSubmit
是巨大的,我是否需要增加我的堆外存儲器(我認爲Java線程堆棧位於那裏?)?
另外,threadObj
是否也在堆外空間初始化?
'threadObj'是一個引用,它存儲在堆棧中。它引用的對象在堆中。 – EJP