??????????????????????????C?????????????java????и????????????????java??????????????У???????????????????delete/free??棬????????????????????????
??????????????????java???????????????????????????鷳?????飬???????java???????????????????????????????????
????java????м???:?????????????????????????????????????????????????檔??????????????????????????????????
????1????????????????????С?????????????????????к?????????????????????????
????2?????????????????????????StackOverFlowError??????????????????????????????????????????
??????1??????????????jvm????????????????д?С???????????????????????????????????????StackOverFlowError(???У??????????С?????????????????????????????????????????????10000??????????????????л?????????????????????Щ??棬???????6000???????
???????????????????????
public class Main {
private int stackLength = 1;
public void stackLeak()
{
stackLength ++;
stackLeak();
}
public static void main(String[]args)
{
Main main = new Main();
try
{
main.stackLeak();
}
catch(Error e)
{
System.out.println("stack length:" + main.stackLength);
throw e;
}
}
}
????????????
????stack length:6745
????Exception in thread "main" java.lang.StackOverflowError
????at Main.stackLeak(Main.java:12)
????at Main.stackLeak(Main.java:13)
??????2???????????????????????????檔
????3?????????????????????????????? -XX:PermSize=3M -XX:MaxPermSize=3M ?????????м?????????????????????????й????? PermGen space.???????????????
?????????????????????????????jdk1.7??????汾?????String.intern()????????????????????????????????????????????????á?