首页 > 代码库 > java程序内存使用
java程序内存使用
一、内存使用示意图
二、java运行时数据区域
1、程序计数器:
当前线程所执行字节码的行号提示器。
2、java虚拟机栈:
线程私有,与线程生命周期相同,保存基本数据类型,如果线程所请求的栈深度大于虚拟机所允许的深度,会抛出StackOverflowError,如果扩展时无法申请足够的内存会抛出OutOfMemoryError。
3、本地方法栈:
与虚拟机栈所发挥的作用类似,它是为虚拟机使用的native方法服务,也会抛出StackOverflowError和OutOfMemoryError异常
4、java堆:
它是各个线程共享的区域,用来存放对象的实例。java堆是java内存管理器(gc)管理的主要区域
5、方法区:
各个线程共享的区域,用于存储:类信息、常量、静态变量、编译后的代码等。
6、运行时常量池:
方法区的一部分
java程序内存使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。