静态成员存放的位置
首先,我们得明白内存分为五个区域
- 寄存区(程序计数器)
- 本地方法区
- 方法区
- 堆区
- 栈区
在jdk8之前,静态成员(即静态变量和静态方法)都是存储在方法区中。
在jdk8开始,静态成员放在了堆中。
但是,不管是现在的版本,还是以前的版本,存放在哪里我们不太关注,我们要明白:
方法的执行都是在栈中进行的,(不论是静态方法还是成员方法)。每个线程会在栈内存中开辟一个栈,在调用方法时,对应的方法都会在执行这个方法的的线程的栈中创建一个“栈帧”,当方法执行完毕,栈帧被销毁,对应的内存也被释放。
这一路,灯火通明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现