【说站】java如何创建对象
2024-11-14
3
java如何创建对象
1、检查类是否加载。
当虚拟机遇到new指令时,首先检查该指令的参数能否在常量池中定位为一个类别的符号引用,检查该符号引用代表的类别是否加载、分析和初始化。否则,执行类加载过程。
2、为目标分配内存。
类加载完成后,虚拟机开始为目标分配存储器,此时确定了所需存储器的大小。只需在堆上分配必要的内存即可。
3、为分配的存储空间初始化零值。
对象的存储器分配完成后,对象的存储器空间需要初始化为零,保证对象即使没有初始值,也可以直接使用。
4、对受众进行其他设置。
分配内存空间,初始化零值后,虚拟机还需要对对象进行其他必要的设置,设置场所在对象头部,包括该对象所属类、类元数据信息、对象hashcode、GC代理年龄等信息。
5、执行init方法。
执行上述步骤后,即使虚拟机中的对象成功,Java程序也需要实施init方法,因为此时的对象只是初始化的零值,没有真正根据程序中的代码分配初始值,所以调用init方法后,这个对象真的可以使用。
java创建对象相关文章推荐阅读:
java对象的创建及内存布局
java基础学习
更多编程语言学习欢迎访问:python学习网
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
更新于:13小时前赞一波!
相关文章
- 【说站】java多线程应用场景
- 【说站】java多线程原理
- 【说站】java一次生成多个随机数出来
- 【说站】java产生随机整数指定范围
- 【说站】java多线程有几种实现方法
- 【说站】java 反射机制作用
- 【说站】java中Lombok有哪些注解
- 【说站】java随机数生成原理
- 【说站】java动态规划是什么
- 【说站】java反射获取对象的方法
- 【说站】java通配符有哪些
- 【说站】java SPI的使用场景
- 【说站】java泛型中类型擦除的转换
- 【说站】java重复注解如何实现
- 【说站】java SPI如何定义接口
- 【说站】java中volatile的应用场景
- 【说站】java中HttpClient的错误处理
- 【说站】java泛型是什么意思?
- 【说站】java中有哪些时间API?
- 【说站】java Stream如何操作元素
文章评论
评论问答