国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

玩壞JVM很簡單--toString的遞歸調用

2019-11-15 01:10:34
字體:
來源:轉載
供稿:網友
玩壞JVM很簡單--toString的遞歸調用

在JVM的內存管理機制下很少發生內存溢出的情況。至少我碰見的少,好像在SSH我多次發布項目時候出現過一次。今天看見一個特簡單的方法讓內存溢出(好吧,我似乎作死了--!):

1 public class InfiniteRecursion {2     public String toString(){3         return "InfiniteRecursion address : " + this + "/n" ;4     }5     public static void main(String[] args) {6         InfiniteRecursion demo = new InfiniteRecursion() ;7         System.out.PRintln(demo.toString());8     }9 }

上面的代碼出現的問題就是toString方法的遞歸調用,當編譯器發現一個字符串屁股后跟一個加號然后再跟一個對象,它會默認將對象轉換成String,方法就是調用對象的toString方法(注:java對象一定有toString方法),然后這里就無限的遞歸了。

Exception in thread "main" java.lang.StackOverflowError at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:63) at java.lang.StringBuilder.<init>(StringBuilder.java:109) at test.InfiniteRecursion.toString(InfiniteRecursion.java:6) at java.lang.String.valueOf(String.java:2854) at java.lang.StringBuilder.append(StringBuilder.java:128) at test.InfiniteRecursion.toString(InfiniteRecursion.java:6)

.......

大家有什么奇技淫巧玩壞JVM,來分享一下~~~


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景洪市| 长武县| 高唐县| 宁河县| 迁安市| 凤庆县| 当雄县| 益阳市| 镇宁| 大洼县| 咸宁市| 都昌县| 松江区| 乌什县| 常宁市| 延川县| 广州市| 泽州县| 玉龙| 岢岚县| 扶绥县| 女性| 遂宁市| 贵南县| 西丰县| 邯郸县| 娄烦县| 清原| 永善县| 邵阳市| 琼中| 奉化市| 怀仁县| 新闻| 台山市| 罗源县| 内丘县| 司法| 定陶县| 湖南省| 盱眙县|