我是編程新手,我試圖自學一個StackOverflow是由什麼引起的。我玩過循環並導致錯誤,但是我測試的代碼不會導致錯誤。爲什麼是這樣?爲什麼Java的forkbomb不會導致StackOverflowError?
public class ForkBomb
{
public static void main(String[] args) throws java.io.IOException
{
while(true)
{
Runtime.getRuntime().exec(new String[]{"java", "-cp", System.getProperty("java.class.path"), "ForkBomb"});
}
}
}
這不會導致堆棧溢出。爲什麼?然而,這導致一個:
public class WhileBomb
{
public WhileBomb()
{
while (true)
{
new WhileBomb();
}
}
public static void main(String[] args) throws java.io.IOException
{
WhileBomb goodBye = new WhileBomb();
}
}
我的回答太慢,但只要問題是關於「破壞性」的編程,每個人都會覺得被說出來......':D' – Nippey
@Nippey更不用說它包含充足的引用名稱我們心愛的論壇。 – Agentlien
非常感謝你的回答!現在,如果我只理解線程是什麼,以及forkbomb線如何工作...... – user1901074