划分


程序计数器 : 线程私有 唯一一个不会发生内存溢出的区域 存放了正在执行的虚拟机字节码指令地址.
: 线程私有 每一个方法从调用到执行完成的过程,就对应着一个栈帧(存储了局部变量表等信息)在虚拟机栈中入栈和出栈的过程.
        局部变量表存放了编译可知的各种基本数据类型 , 对象引用和returnAddress类型(指向了一条字节码指令的地址)
: 线程共享 存放对象的实例 
方法区 : 线程共享 用于储存已被虚拟机加载的类信息 , 常量 , 静态变量 , 即时编译器变异后的代码等数据.
问题:
1.无限创建对象会导致java堆内存溢出
2.无限创建线程会导致栈内存溢出
    线程内存分配越大可能导致stackOverflowError
3.使用list保存字符串的引用并调用String.intern()方法放入常量池会导致方法区和常量池内存溢出
    String.intern()是一个native方法,作用 : 如果字符串常量池中已经包含一个等于此String对象的字符串,则返回代表池中这个字符串的String对象,
    否则,将此String对象包含的字符串添加到常量池中,并返回此String对象的引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值