静态成员存放的位置

首先,我们得明白内存分为五个区域

  1. 寄存区(程序计数器)
  2. 本地方法区
  3. 方法区
  4. 堆区
  5. 栈区

在jdk8之前,静态成员(即静态变量和静态方法)都是存储在方法区中。

在jdk8开始,静态成员放在了堆中。

但是,不管是现在的版本,还是以前的版本,存放在哪里我们不太关注,我们要明白:

方法的执行都是在栈中进行的,(不论是静态方法还是成员方法)。每个线程会在栈内存中开辟一个栈,在调用方法时,对应的方法都会在执行这个方法的的线程的栈中创建一个“栈帧”,当方法执行完毕,栈帧被销毁,对应的内存也被释放。

 

posted @   朱在春  阅读(725)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示