返回信息流内存被分为栈 堆 全局静态区 代码区 文字常量区。这个分区与java的分区有不同。java是
1.方法区
2.本地方法区
3.程序计数器
4.堆
5.Java栈
我想问问这是怎么回事?是因为java虚拟机的问题吗?
这是一条镜像帖。来源:北邮人论坛 / java / #37625同步于 2014/12/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
问一个内存分配的问题
ghoulchu
2014/12/29镜像同步21 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
Java让程序员认为有这些内存,但是真正如何实现,是具体jvm决定的。
所谓You can cheat as long as you don't get caught,虚拟机只要创建出虚拟的这种格局,就是正确的实现。
【 在 ghoulchu 的大作中提到: 】
: 内存被分为栈 堆 全局静态区 代码区 文字常量区。这个分区与java的分区有不同。java是
: 1.方法区
: 2.本地方法区
: ...................
来自「北邮人论坛手机版」
【 在 zlwmosquito 的大作中提到: 】
: 第一个是操作系统级别的划分吧 JVM提供的内存划分是在这个之上的
嗯
确切地说,操作系统也不管段的分配,只管“这块内存归这个进程用”。至于程序是分代码、数据、堆栈几个段,还是干脆不分,乱放,看编程语言的实现(包括编译器、链接器、装载器、虚拟机等)来决定。
来自「北邮人论坛手机版」
是说JVM占用的那一块内存,在操作系统的什么位置
是看具体的JVM实现的?
【 在 nuanyangyang (暖羊羊) 的大作中提到: 】
: 嗯
: 确切地说,操作系统也不管段的分配,只管“这块内存归这个进程用”。至于程序是分代码、数据、堆栈几个段,还是干脆不分,乱放,看编程语言的实现(包括编译器、链接器、装载器、虚拟机等)来决定。
: 来自「北邮人论坛手机版」
: ...................
【 在 zlwmosquito 的大作中提到: 】
: 第一个是操作系统级别的划分吧 JVM提供的内存划分是在这个之上的
也就是说jvm对内存进行又一次的划分,是吧?
【 在 ghoulchu 的大作中提到: 】
: 也就是说jvm对内存进行又一次的划分,是吧?
差不多吧,我的理解是java程序是跑在jvm上的,但是JVM对操作系统来说就是一个普通进程,所以对开发者来说JVM提供了一个内存分配的概念,但是JVM自身跟操作系统内的存划分由JVM实现决定
【 在 nuanyangyang 的大作中提到: 】
:
: 嗯
: 确切地说,操作系统也不管段的分配,只管“这块内存归这个进程用”。至于程序是分代码、数据、堆栈几个段,还是干脆不分,乱放,看编程语言的实现(包括编译器、链接器、装载器、虚拟机等)来决定。
: ...................
谢暖神指点