码迷,mamicode.com
首页 > 其他好文 > 详细

jmap应用:一个经典String笔试题的验证

时间:2018-07-05 23:19:24      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:code   应用   bubuko   代码   pre   http   color   Java内存结构   div   

 

笔试题:

String strA = new String("123123");这一行中创建了几个String对象??
1 public class StringHeapCountTest {
2 
3     public static void main(String[] args) {
4         String strA = new String("123123");
5         System.out.println(1);
6     }
7 
8 }
这个题主要考察应试者对java内存结构的了解程度。堆、非堆、栈、本地方法栈

 

 

首先我们看一下下面的代码在堆中创建了多少String

1 public class StringHeapCountTest {
2 
3     public static void main(String[] args) {
4         System.out.println(1);
5     }
6 
7 }

在第4行打断点,然后使用jps打印出当前进程,再使用jmap -histo xxx打印当前jvm中的对象数。如下图所示,String有3778个

技术分享图片

 

 

再看如下代码中String的个数

1 public class StringHeapCountTest {
2 
3     public static void main(String[] args) {
4         String strA = "123123";
5         System.out.println(1);
6     }
7 
8 }

如下图所示,String有3779个 

技术分享图片

 

 

 最后我们恢复文章开头题目中的第4行,再统计一下jvm中String的个数.如下图所示,3780个

技术分享图片

 

jmap应用:一个经典String笔试题的验证

标签:code   应用   bubuko   代码   pre   http   color   Java内存结构   div   

原文地址:https://www.cnblogs.com/yszzu/p/9270682.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!