class Man {

    String name;
int age = 20; public static int sex = 1; Man(String name, int age) {
//super(); //隐式父对象构造方法
this.name = name;
this.age = age;
} void speak() {
System.out.println("hello my name is " + this.name + " " + this.age);
} public static void say() {
System.out.println("hello!");
}
} class Process{
public static void main(String[] args){
Man p = new Man("Tom",24);
p.speak();
}
}

生命流程

0. main() 主函数入栈
1. Man p = new Man("Tom",24); 入栈
2. 虚拟机加载Man.class文件
3. 方法区载入 Man类构造函数、成员函数、成员变量,并初始化成员变量 name=null,age=0,然后显式赋值 name=null,age=20
4. 静态方法区载入 Main的静态成员函数,静态成员变量,并初始化静态成员变量sex=0,然后显式赋值 sex=1;
5. 通过new 在堆中开辟空间。
6. Man(String name,int age) 构造函数入栈 获取参数("Tom",24)

//当前成员变量状态
name=null,age=20,sex=1;

7. 执行构造函数内容---> this.name = "Tom",this.age = 24; 成员对象赋值完成

//当前成员变量状态
name="Tom",age=24,sex=1;

8. 局部变量 p指针 = 对象地址
9. Man p = new Man("Tom",24); 弹栈
10. p.speak(); 入栈
11. 执行p.speak() 方法
12. 弹栈
13. main() 弹栈
14. 运行结束

Java 对象初始化生命周期的更多相关文章

  1. Java 对象的生命周期

    Java对象的生命周期 在Java中,对象的生命周期包含下面几个阶段: 1.      创建阶段(Created) 2.      应用阶段(In Use) 3.      不可见阶段(Invisib ...

  2. Java虚拟机(三)垃圾标记算法与Java对象的生命周期

    前言 这一节我们来简单的介绍垃圾收集器,并学习垃圾标记的算法:引用计数算法和根搜索算法,为了更好的理解根搜索算法,会在文章的最后介绍Java对象在虚拟机中的生命周期. 1.垃圾收集器概述 垃圾收集器( ...

  3. 【转载】Java对象的生命周期

    Java对象的生命周期 在Java中,对象的生命周期包括以下几个阶段: 1.      创建阶段(Created) 2.      应用阶段(In Use) 3.      不可见阶段(Invisib ...

  4. 《深入理解Java虚拟机》 Java对象的生命周期

    Java虚拟机运行时数据区 方法区:存储 类信息.常量.静态变量.即使编译器编译后的代码等数据,也有别名叫做非堆.  方法区其中有包含有 运行时常量池,用于存放编译期生成的各种字面量和符号引用.其中, ...

  5. Java对象的生命周期与作用域的讨论(转)

    导读: Java对象的生命周期大致包括三个阶段:对象的创建,对象的使用,对象的清除.因此,对象的生命周期长度可用如下的表达式表示:T = T1 + T2 +T3.其中T1表示对象的创建时间,T2表示对 ...

  6. Hibernate中Java对象的生命周期

    一个对象的出生源于我们的一个new操作,当我们使用new语句创建一个对象,这个对象的生命周期就开始了,当我们不在有任何引用变量引用它,这个对象就的生命就此结束,它占用的内存就可以被JVM的垃圾回收器回 ...

  7. [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  8. [原创]java WEB学习笔记94:Hibernate学习之路---session 的管理,Session 对象的生命周期与本地线程绑定

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  9. java之hibernate之session中对象的生命周期

    1. session是用来执行对象的crud操作,并且session是对象事务工厂.session是线程级别的,所以生命周期比较短. 2.session中对象的生命周期图: 3.session中对象的 ...

随机推荐

  1. 【SQLSERVER】动态游标的实现

    方法1: CREATE   TABLE   #tabTmp(id   int)    INSERT   #tabTmp   EXECUTE('SELECT   id   FROM   '+@Table ...

  2. 关于对i++,++i的理解

    i++,代表 先赋值,在加:++i,代表先自加再赋值:后台console例子中可以看到第一个例子:var a= i++;  i是等于1的:先赋值,所以打印出a =1的:而i++后为2:所以打印出a = ...

  3. [转帖]Cgroups 与 Systemd

    Cgroups 与 Systemd 大神的文章很牛B .. https://www.cnblogs.com/sparkdev/p/9523194.html 看不太懂 , 转帖一下 自己留着好好看呢. ...

  4. multi thread for Java

    I try to do a testing for HashTable Sychronized behavior today. As an Sychronized Object, HashTable ...

  5. Java中线程安全的集合

    如果多线程并发的访问与一个数据结构,那么很容易破坏一个数据结构. 例如,一个线程可能要向一个散列表中插入一条数据的过程中,被剥夺了控制权.如果另外一个线程也开始遍历同一个链表,很可能造成混乱,抛出异常 ...

  6. 用Html5与Asp.net MVC上传多个文件

    html: <form action="/home/upload" method="post" enctype="multipart/form- ...

  7. DAY...

    讲道理,我还是以前的我.没有坚持每天写......... 又到了谷底......... 坚持啊........

  8. 【python】爬虫实践

    参考链接 https://blog.csdn.net/u012662731/article/details/78537432 详解 python3 urllib https://www.jianshu ...

  9. BZOJ3192:[JLOI2013]删除物品——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=3192 箱子再分配问题需要解决如下问题: (1)一共有N个物品,堆成M堆. (2)所有物品都是一样的 ...

  10. 【省选水题集Day1】一起来AK水题吧! 题目(更新到B)

    题解:http://www.cnblogs.com/ljc20020730/p/6937954.html 水题A: [AHOI2001]质数和分解 题目网址: https://www.luogu.or ...