博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中内存分配情况
阅读量:6094 次
发布时间:2019-06-20

本文共 562 字,大约阅读时间需要 1 分钟。

java程序在内存中的存储分配情况:

一、堆区: 
1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令) 
2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身 
栈区: 
1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中 
2.每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。 
3.栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。 
方法区: 
1.又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。 
2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。

 

 

二、内存分区

而内存分为四个区:stack segment,heap segment,data segment,code segment;
stack 区存放函数参数和局部变量;heap  区存放对象;data  区存放static 的变量或者字符串常量; code  区存放类中的方法;
因此,静态变量是存放在data区的 !

转载于:https://www.cnblogs.com/antble/p/9050284.html

你可能感兴趣的文章
Matconvnet环境配置一些坑
查看>>
微信小程序开发-框架
查看>>
redo、undo、binlog的区别
查看>>
DropDownList 控制日期控件显示格式
查看>>
RecycleView设置顶部分割线(记录一个坑)
查看>>
【设计模式系列】单例模式的7种写法
查看>>
汉字转拼音 (转)
查看>>
Machine Learning Techniques -6-Support Vector Regression
查看>>
会计基础_001
查看>>
C/C++——#和##操作符
查看>>
Cordova 开发环境搭建及创建第一个app
查看>>
ajax请求拿到多条数据拼接显示在页面中
查看>>
关于React的require添加动态变化的路径
查看>>
小程序: 查看正在写的页面
查看>>
C++ 经典开源
查看>>
LayoutParams
查看>>
Chisel_LLDB调试命令
查看>>
DNS Doctoring
查看>>
sql查漏补缺
查看>>
plugin插件
查看>>