热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Java内存结构和数据类型

本文重点给大家介绍java内存结构和数据类型知识,非常不错,具有参考借鉴价值,需要的朋友参考下

Java内存结构

  内存就是暂时对数据的一个存储,他的存储速度非常的快,但是他是暂时的存储,从开机时开始存储,掉电或关机之后数据全部丢失。内存的生命周期就是开机和关机,开机的时候开始计算,关机什么都没有了。优点存储速度快,缺点容易坏掉,如果开机的时候,一点反映都没有,屏幕不亮键盘鼠标不亮,这种情况下一般都是内存条有问题。机器蓝屏,指令错误都是内存引起的。

  程序的数据都是存储在内存里面,不存储在硬盘上因为硬盘不安全,可以读取数据。但是内存就不一样,内存他不允许去读取内存数据,并且速度很快所以我们的程序都是存储在内存里。

  内存就好比是一个未开端的一大片土地,要想在这片土地里种一些蔬菜随便你种,但是不要把菜种到别人占用的地方。内存也是如此访问一些东西是允许你访问的,但是如果这个内容被人家占用了,你要想再去占用是不允许的。

  我们的数据存储在内存之中,内存中有很多数据存储的单元格想存到哪都是是可以的,不过Java是没有选择性,Java的存储的是由虚拟机来代理。

  内存的存储单位:计算机是按位来存储的,位(存储的只能是0和1) 位是最小的存储单位。 字节(8位等于1个字节) K(1024个字节等于1KB)M(1024K等于1M) G(1024M等于1G) T(1024G等于1T)P(1024T等于1P)。

  程序的数据要存储在内存之中,必须要选择大小来进行存储不能说小的东西也拿很大的去存储,就比如你有一升的水那么就要存储在杯子里面。如果有10生水你非得要存储到杯子里,那是会溢出的,大的不能存储在小的容器里会溢出,小的也不能存储到很大的容器里那样很浪费。如图3.3所示:

图3.3

  Java数据类型

  我们的编程语言数据想存储在内存之中那么首先得选择一个存储的大小这样才不会浪费,那所谓的存储大小就叫做数据类型。什么是数据类型?就要我们要把数据存储在类型之中,我们需要给我们的数据选择一种合适的类型去存储,不至于浪费数据,不至于浪费存储大小。

  Java的数据类型,各有各自的存储大小,如果有不同的类型,就要找到不同的数据类型去存储。所以程序要存储到内存之中就要选择合适数据类型去存储。

  数值类型:

  1.整数:

  2.浮点(小数):

  3.字符类型:

  4.布尔类型:

  byte:8位表示一个字节,也就是有8个0和1组成,他能组成256个标识。什么是256个标识?就是8个0和1在那摆在那互相的组合,总共能组合256个标识,8位他能继承最大的数是255,因为他从0开始,0~255。所以8位就是有8个0和1组成,总共组成256个描述,0~255个数值。如图3.4所示:

4.png

  short:16位,也就是有16个0和1组成,他能组成65536个标识,0~65535个数值。

  int:32位,也就是有32个0和1组成,他能组成4294967296个标识,0~4294967295个数值。

  long:64位,也就是有64个0和1组成,他能够标识地球上所有的数值。

  float: 32位,32个0和1组成,小数能够精确到6位左右。

  double:64位,64个0和1组成,小数能够精确到15位左右。

  char:16位,他是由ASCLL字符表示的。

  boolean: 标识只有0和1,他是false true 真和假的意思,用来判断的。

以上所述是小编给大家介绍的Java内存结构和数据类型,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


推荐阅读
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • docker增加restart=always, docker重启后自动启动容器的方法
    本文介绍了在运行docker容器时如何添加参数来保证每次docker服务重启后容器也自动重启的方法,以及如何使用命令来更新已启动的容器。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 处理docker容器时间和宿主机时间不一致问题的方法
    本文介绍了处理docker容器时间和宿主机时间不一致问题的方法,包括复制主机的localtime到容器、处理报错情况以及重启容器的步骤。通过这些方法,可以解决docker容器时间和宿主机时间不一致的问题。 ... [详细]
  • 本文介绍了Java的集合及其实现类,包括数据结构、抽象类和具体实现类的关系,详细介绍了List接口及其实现类ArrayList的基本操作和特点。文章通过提供相关参考文档和链接,帮助读者更好地理解和使用Java的集合类。 ... [详细]
  • 本文介绍了电流源并联合并的方法,以及谐振电路的原理。谐振电路具有很强的选频能力,通过将电感和电容连接在一起,电流和电压会产生震荡。谐振频率的大小取决于电感和电容的大小,而电路中的电阻会逐渐降低震荡的幅度。电阻和电容组成的电路中,当电容放完电后,电阻两端的电压为0,电流不再流过电容。然而,电感是一种特殊的器件,当有电流流过时,线圈会产生感应磁场,阻止电流的流动,从而使电流不会减小。 ... [详细]
  • 标题: ... [详细]
  • 本文介绍了在Docker容器技术中限制容器对CPU的使用的方法,包括使用-c参数设置容器的内存限额,以及通过设置工作线程数量来充分利用CPU资源。同时,还介绍了容器权重分配的情况,以及如何通过top命令查看容器在CPU资源紧张情况下的使用情况。 ... [详细]
  • 集合的遍历方式及其局限性
    本文介绍了Java中集合的遍历方式,重点介绍了for-each语句的用法和优势。同时指出了for-each语句无法引用数组或集合的索引的局限性。通过示例代码展示了for-each语句的使用方法,并提供了改写为for语句版本的方法。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • position属性absolute与relative的区别和用法详解
    本文详细解读了CSS中的position属性absolute和relative的区别和用法。通过解释绝对定位和相对定位的含义,以及配合TOP、RIGHT、BOTTOM、LEFT进行定位的方式,说明了它们的特性和能够实现的效果。同时指出了在网页居中时使用Absolute可能会出错的原因,即以浏览器左上角为原始点进行定位,不会随着分辨率的变化而变化位置。最后总结了一些使用这两个属性的技巧。 ... [详细]
author-avatar
神话海青_769
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有