疑问:java 与 静态存储分配

静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组)的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无法计算准确的存储空间需求.
今天看了一个关于堆、栈的blog上是这么写的。。
求问下:
java对象中定义的静态成员变量是存储在哪?
java中哪些是存储在静态区中?
static的Arraylist也可以用吧?但它是可变数组吧?

是我哪里理解错了么?
谢谢
全部评论
静态变量是存储在方法区中的,也就是堆中的perm区,JDK用元空间代替了PERM区。 你说的静态存储分配是指操作系统级别的三种内存分配策略之一:静态内存分配、栈内存分配、堆内存分配,JVM主要基于堆栈两种
点赞 回复 分享
发布于 2015-08-06 15:25
还是说静态区,存了那些String对象等等? static ArrayList是在堆里的吗?
点赞 回复 分享
发布于 2015-08-06 14:36

相关推荐

白火同学:大二有这水平很牛了,可以适当对关键信息加粗一点,比如关键技术、性能指标之类的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务