教育心理学
网站首页 > 教育心理学 > 文章列表

java新手收:java类生命周期概念

发布时间:2019-06-10


  期间,有人告诉我,你喜欢我。骗人。我表面反驳,心里却很喜悦。

  另外,通过班队会中正反面内容的小品及其他形式的活动,逐渐使学生自主发扬优点,改掉缺点,不断规范自己的言行,强化班集体的凝聚力,人人争当讲文明、懂礼貌的小主人。如果一个班级能够在班长的组织下,通过民主选举选出升旗手;班级存在的问题也能在班干部的组织下通过班会、队会自行解决,那么说明法制教育在班级中发挥了作用。

java新手收:java类生命周期概念

一个java类的完整的生命周期会经历加载、连接、初始化、使用、和卸载五个阶段:加载主要是:把类的信息加载到方法区中,并在堆中实例化一个Class对象。 加载方式根据类的全路径加载class文件从jar的包中读取class文件根据一定的规则实时生成,比如设计模式中的动态代理模式,就是根据相应的类自动生成它的代理类。

加载的时期不是jvm启动就加载,而是在真是使用的时候才会触发加载。 new一个类的时候调用类的静态方法,以及读取或者修改一个类的静态字段的时候(不是常量)这个类是程序的入口类对这个类进行反射的时候(执行了上面的行为)连接一般会跟加载阶段和初始化阶段交叉进行。

验证验证一下这个类是否合法,字节码格式是否合法变量和方法是否有重复继承和实现是否符合标准。 。 。

准备给静态变量赋默认的初始值(不包括非静态变量)解析把符合引用转换为直接引用。

比如我们要在内存中找一个类里面的一个叫做show的方法,显然是找不到。

但是在解析阶段,jvm就会把show这个名字转换为指向方法区的的一块内存地址,比如c17164,通过c17164就可以找到show这个方法具体分配在内存的哪一个区域了。 这里show就是符号引用,而c17164就是直接引用。 在解析阶段jvm会将所有的类或接口名、字段名、方法名转换为具体的内存地址。 初始化时机和加载的时机一样,更准确的说初始化之前必须先经过加载,所以他们基本一样new一个类的时候调用类的静态方法,以及读取或者修改一个类的静态字段的时候(不是常量)这个类是程序的入口类对这个类进行反射的时候(执行了上面的行为)过程按照顺序自上而下运行类中的【变量赋值语句】和【静态语句】,如果有父类,则先按照顺序运行父类中的变量赋值语句和静态语句。

使用使用阶段包括主动引用和被动引用。

主动引用(会引起类的初始化)new一个类的时候调用类的静态方法,以及读取或者修改一个类的静态字段的时候(不是常量)这个类是程序的入口类对这个类进行反射的时候(执行了上面的行为)被动引用(不会引起类的初始化)引用父类的静态字段以上的内容仅适用于java新手,希望对java的小伙伴们有所帮助。

下一篇:没有了

网站地图

地址:云南省昆明市高新区海源北路

Copyright? 2012-2015 版权所有:小学教育-教育宝www.35918r.com