java存储以及java对象创建的流程(详解)

 更新时间:2017年05月27日 09:03:57   投稿:jingxian  
下面小编就为大家带来一篇java存储以及java对象创建的流程(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

java存储:

1)寄存器:这是最快的存储区,位于处理器的内部。但是寄存器的数量有限,所以寄存器根据需求进行分配。我们不能直接进行操作。

2)堆栈:位于通用RAM中,可以通过堆栈指针从处理器那里获取直接支持。堆栈指针往下移动,则分配新的内存。网上移动,则释放内存。但是

在创建程序的时候必须知道存储在堆栈中的所有项的具体生命周期,以便上下的移动指针。一般存储基本类型和java对象引用。

3)堆:位于通用RAM中,存放所有的java对象,不需要知道具体的生命周期。

4)常量存储:常量值通常直接存放在程序代码内部。

5)非RAM存储:数据完全存活于程序之外,可以不受程序的控制,在程序没有运行时也可以存在。就是将对象转化为可以存放在其他媒介上的事物。如:流对象、持久化对象

对象创建的流程:

1):即使没有显示的调用static,构造器实际上也是静态方法。因此,当首次创建对象的时候或者首次调用静态方法/静态域时,java解释器必须查找类路径,定位class文件。

2):载入class文件,有关静态的方法或者变量都会执行。因此,静态初始化只会在类加载时被初始化一次。

3):使用new创建时,会先在堆上为对象分配足够的存储空间。

4):将这块区域清零,这时,就自动的将对象中的基本成员变量或者引用进行默认的初始化。数字为零,引用为null。

5):执行所有出现于字段定义处的初始化动作。

6):执行构造器。

以上这篇java存储以及java对象创建的流程(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot 在测试时如何指定包的扫描范围

    SpringBoot 在测试时如何指定包的扫描范围

    这篇文章主要介绍了SpringBoot 在测试时如何指定包的扫描范围,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 关于JDK8升级17及springboot 2.x升级3.x详细指南

    关于JDK8升级17及springboot 2.x升级3.x详细指南

    这篇文章主要介绍了关于JDK8升级17及springboot 2.x升级3.x的相关资料,还讨论了JPA包路径从javax改为jakarta,以及Spring Boot版本升级和Redis配置调整等,需要的朋友可以参考下
    2025-01-01
  • Java实力弹弹球实现代码

    Java实力弹弹球实现代码

    这篇文章主要为大家详细介绍了Java实力弹弹球实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • java连接zookeeper的3种方式小结

    java连接zookeeper的3种方式小结

    这篇文章主要介绍了java连接zookeeper的3种方式小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 简述Java List去重五种方法

    简述Java List去重五种方法

    这篇文章主要介绍了简述Java List去重五种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Spring中Bean的作用域与生命周期详解

    Spring中Bean的作用域与生命周期详解

    这篇文章主要给大家介绍了Spring中Bean的生命周期和作用域及实现方式的相关资料,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧
    2021-08-08
  • Spring Mybatis Mapper模糊查询的几种方法

    Spring Mybatis Mapper模糊查询的几种方法

    在Spring结合Mybatis进行开发时,实现模糊查询是一个常见需求,在Mybatis中,LIKE查询可以通过多种方式实现,本文给大家介绍了Spring Mybatis Mapper模糊查询的几种方法,需要的朋友可以参考下
    2024-03-03
  • Java设计模式之代理模式_动力节点Java学院整理

    Java设计模式之代理模式_动力节点Java学院整理

    这篇文章主要介绍了Java设计模式之代理模式,本文详细的介绍了什么事代理模式和相关的类和接口,有兴趣的可以了解一下
    2017-08-08
  • 解析ConcurrentHashMap: put方法源码分析

    解析ConcurrentHashMap: put方法源码分析

    ConcurrentHashMap是由Segment数组结构和HashEntry数组结构组成。Segment的结构和HashMap类似,是一种数组和链表结构,今天给大家普及java面试常见问题---ConcurrentHashMap知识,一起看看吧
    2021-06-06
  • MyBatis中获取Mysql数据库插入记录的主键值的实现

    MyBatis中获取Mysql数据库插入记录的主键值的实现

    本文主要介绍了MyBatis中获取Mysql数据库插入记录的主键值的实现,包含了三种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06

最新评论