长沙Java培训:java中构造方法分享
本篇文章长沙Java培训的千锋讲师将给大家讲解java中构造方法。Java中构造方法不是静态的,但是,构造方法做什么用,运行机制是什么,比知道这个答案更重要。
我们先从java的运行机制聊起。程序员编写.java文件后通过jdk提供的javac工具进行编译。编译完成后生成.class字节码文件,这个文件可以被jvm运行。jvm运行这个.class字节码文件的时候,通过类加载器将字节码中的指令存入到jvm开辟的内存中的方法区中,然后通过程序计数器配合执行引擎来执行刚加载进方法区中的这些指令。
那么我们知道了java的运行机制,接下来我们聊下类是怎么被加载的。
1.类加载时首先要校验.class文件的正确性,也就是验证这个.class文件是否是java程序。
2.其次,类加载器给类的静态变量分配内存空间,并赋予默认值。
3.之后,类加载器装入该类中引用的其他类
4.再之后,类加载器为之前分配的静态赋指定值,并执行静态代码块
我们发现,在类的加载过程中,静态的部分被创建和执行了,但构造方法没有被执行。那么我们可以得知,静态的部分是早于构造方法执行的。那么,构造方法什么时候执行呢?
结合以上一、二大点,当类被加载完成后,在开始使用类的时候,程序计数器配合执行引擎来执行类的构造方法,创建类的对象。至此,我们了解了JVM的执行流程和类的加载过程,弄清楚了构造方法和静态的区别。
猜你喜欢LIKE
最新文章NEW
相关推荐HOT
更多>>热门推荐
零基础必看的前端HTML+CSS教程
沸Java培训新手实战必备!单机版坦克大战分步实现项目源码
热3种Javascript图片预加载的方法详解
热长沙前端培训:一招教你用vue3+canvas实现坦克大战
新互联网凉了?参加长沙Java培训能找到工作吗?
长沙Java培训实战项目,出游咨询订票系统开发流程
不参加长沙Java培训能学会Java吗?2022Java技能学习路线图
千锋长沙Java培训分享之怎么学习Java集合?
千锋长沙前端培训分享之JavaScript面向对象编程思想详解
千锋长沙前端培训分享之web前端的回流和重绘
千锋长沙前端培训分享之3种Javascript图片预加载的方法详解
千锋长沙前端培训分享之利用Jest测试React组件
千锋长沙前端培训分享之JavaScript中Slice的用例
千锋长沙java培训分享之Socket编程