问一下在堆区中对象实例的方法被调用的机制,还是被放在栈中处理的么? 栈中只保存reference和基本变量的,其他的都在堆里, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 能够具体说说操作的步骤吗?比如 对象X实例化->在堆中放入X实例的引用,然后再在堆中分配空间给该实例,该实例中的方法A,B的代码部分是在 代码区?或者其他地方? 当调用X.A的时候,又是如何再堆栈中切换的?谢谢了! 能够具体说说操作的步骤吗?比如 对象X实例化->在堆中放入X实例的引用,然后再在堆中分配空间给该实例,该实例中的方法A,B的代码部分是在 代码区?或者其他地方? 当调用X.A的时候,又是如何再堆栈中切换的?谢谢了! 我看了vaminal和0xCafeBabe的回复 我这样理解对不对啊?对象实例先调用方法A(X.A),在当前线程的方法调用栈中分配一个新的栈帧,此时将A的地址、参数、局部变量...放入堆栈寄存器里面,当方法A调用方法B时,保存方法A中调用B的现场消息,push(A).就进入了方法B的入口地址了,push(B).直到方法B被调用完成返回后,pop(B),接着恢复现场。接着完成方法A。方法A完成后同样pop(A),完成整个过程.另外 to 0xCafeBabe:栈帧,操作数栈的概念是什么啊? 哦 刚看了一下:每个帧都包含变量数组,也就是我们所熟知的局部变量数组。每个帧都包含一个后进先出的堆栈,也就是它的操作数堆栈。操作数堆栈在刚刚被创建的时候是空的,JVM提供指令从局部变量或者成员加载常量或者值到堆栈,其它的JVM指令从操作数堆栈提取操作数,操作它们并将结果放回操作数堆栈。操作数堆栈也用于准备传递给方法的参数以及接收方法的结果。弱弱的问一下 这些都是在我们说C语言的堆中 进行的么? 栈贞是不是JVM在C语言中的堆中模拟的栈啊?如果是的话,又有哪些是在C语言的栈中的呢?谢谢:) >弱弱的问一下 这些都是在我们说C语言的堆中 进行的么? 栈贞是不是JVM在C语言中的堆中模拟的栈啊?<可能是这样的吧据我所知,栈桢也是在java堆中分配 java程序问题?? java 工作 工资 win 7 32位可以装 myeclispe 8.5么? 提问关于java后台调用外部程序的问题 关于synchronized的用法求助 JComboBox选中项的背景色问题 java能读取CHM格式文件的内容吗? 工作 关于输入输出流的问题!!着急 请问怎么把一个目录下的所有文件打包成jar形式? 请问如何给.java源文件加密,使得不能由.class文件反编译回来 张孝祥的Java就业培训教程,好动东呀,自己看当然不合适,还是大家一起看吧
比如 对象X实例化->在堆中放入X实例的引用,然后再在堆中分配空间给该实例,该实例中的方法A,B的代码部分是在 代码区?或者其他地方? 当调用X.A的时候,又是如何再堆栈中切换的?谢谢了!
比如 对象X实例化->在堆中放入X实例的引用,然后再在堆中分配空间给该实例,该实例中的方法A,B的代码部分是在 代码区?或者其他地方? 当调用X.A的时候,又是如何再堆栈中切换的?谢谢了!
对象实例先调用方法A(X.A),在当前线程的方法调用栈中分配一个新的栈帧,此时将A的地址、参数、局部变量...放入堆栈寄存器里面,当方法A调用方法B时,保存方法A中调用B的现场消息,push(A).就进入了方法B的入口地址了,push(B).直到方法B被调用完成返回后,pop(B),接着恢复现场。接着完成方法A。方法A完成后同样pop(A),完成整个过程.另外 to 0xCafeBabe:栈帧,操作数栈的概念是什么啊?
每个帧都包含变量数组,也就是我们所熟知的局部变量数组。每个帧都包含一个后进先出的堆栈,也就是它的操作数堆栈。操作数堆栈在刚刚被创建的时候是空的,JVM提供指令从局部变量或者成员加载常量或者值到堆栈,其它的JVM指令从操作数堆栈提取操作数,操作它们并将结果放回操作数堆栈。操作数堆栈也用于准备传递给方法的参数以及接收方法的结果。弱弱的问一下 这些都是在我们说C语言的堆中 进行的么? 栈贞是不是JVM在C语言中的堆中模拟的栈啊?如果是的话,又有哪些是在C语言的栈中的呢?谢谢:)
可能是这样的吧
据我所知,栈桢也是在java堆中分配