主函数的方法也是放到方法区里面的!只是会把一些引用放到栈里。
栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中
举个小例子:- public class AppMain //运行时, jvm 把appmain的信息都放入方法区
- {
- public static void main(String[] args) //main 方法本身放入方法区。
- {
- Sample test1 = new Sample( " 测试1 " ); //test1是引用,所以放到栈区里, Sample是自定义对象应该放到堆里面
- Sample test2 = new Sample( " 测试2 " );
-
- test1.printName();
- test2.printName();
- }
- }
-
- public class Sample //运行时, jvm 把appmain的信息都放入方法区
- {
- /** 范例名称 */
- private name; //new Sample实例后, name 引用放入栈区里, name 对象放入堆里
-
- /** 构造方法 */
- public Sample(String name)
- {
- this .name = name;
-
- /** 输出 */
- public void printName() //print方法本身放入 方法区里。
- {
- System.out.println(name);
- }
- }
- }
复制代码 |