当前位置: 首页 > news >正文

Java基本类型所占字节简述

类型分类所占字节取值范围
boolean布尔型1bit0 false、 1 true   (1个bit 、1个字节、4个字节)
char

​字符型(Unicode字符集中的一个元素)​

2字节-32768~32767(-2的15次方~2的15次方-1)
byte整型1字节-128~127(-2的7次方~2的7次方-1)
short整型2字节-32768~32767(-2的15次方~2的15次方-1)
int整型4字节-2147483648~2147483647(-2的31次方~2的31次方-1)
long整型8字节-9223372036854774808~9223372036854774807(-2的63次方~2的63次方-1)
float浮点型4字节

3.402823e+38~1.401298e-45  和

-3.402823e+38~-1.401298e-45

(e+38 表示乘以10的38次方,而e-45 表示乘以10的负45次方)

double浮点型8字节

1.797693e+308~4.9000000e-324  和

-1.797693e+308~-4.9000000e-324(同上)

Java编程语言支持的八种原始数据类型是:

  • byte:byte数据类型是8位带符号的二进制补码整数。最小值为-128,最大值为127(含)。的byte数据类型可以是在大型保存存储器有用 阵列,其中存储器的节省实际上重要的。它们也可以用于int限制其位置的地方,以澄清您的代码;变量范围有限的事实可以作为文档的一种形式。
  • short:short数据类型是一个16位带符号的二进制补码整数。最小值为-32,768,最大值为32,767(含)。与一样byte,也适用相同的准则:在实际short需要节省内存的情况下,可以使用a来以大阵列保存内存。
  • int:默认情况下,int数据类型是32位带符号的二进制补码整数,其最小值为-231,最大值为231 -1。在Java SE 8和更高版本中,可以使用int数据类型表示无符号的32位整数,其最小值为0,最大值为2 32 -1。使用Integer类可将int数据类型用作无符号整数。有关更多信息,请参见“数字类”部分。像静态方法compareUnsigned,divideUnsigned等已被添加到 Integer类,以支持算术运算的无符号整数。
  • long:long数据类型是64位二进制补码整数。带符号的long的最小值为-263,最大值为263 -1。在Java SE 8和更高版本中,可以使用long数据类型表示无符号的64位长,其最小值为0,最大值为2 64 -1。当您需要的值范围比所提供的宽时,请使用此数据类型int。该 Long班还包含方法,如compareUnsigned,divideUnsigned等长,以支持算术运算的无符号。
  • float:float数据类型是单精度32位IEEE 754浮点。其值的范围超出了本文的讨论范围,但在Java语言规范的“ 浮点类型,格式和值”部分中进行了指定。与针对byte和的建议一样,如果您需要将内存保存在大的浮点数数组中short,请使用float(而不是double)。永远不要将这种数据类型用于精确值,例如货币。为此,您将需要使用 java.math.BigDecimal类。 数字和字符串覆盖BigDecimal以及Java平台提供的其他有用的类。
  • double:double数据类型是双精度64位IEEE 754浮点数。其值的范围超出了本文的讨论范围,但在Java语言规范的“ 浮点类型,格式和值”部分中进行了指定。对于十进制值,此数据类型通常是默认选择。如上所述,永远不要将这种数据类型用于精确值,例如货币。
  • 布尔值:boolean数据类型只有两个可能的值:true和false。将此数据类型用于跟踪真/假条件的简单标志。这种数据类型代表一小部分信息,但是其“大小”并不是精确定义的。
  • char:char数据类型是单个16位Unicode字符。它的最小值为’\u0000’(或0),最大值为’\uffff’(或65,535,包括端值)。

boolean究竟占几个字节?

1、1个bit(1/8个字节):
由于boolean类型的值只有true和false两种逻辑值,在编译后会使用1和0来表示,这两个数在内存中按位运算,仅需1位(bit)即可,位是计算机中最小的存储单位。
2、1个字节
虽然编译后1和0只需占有1位空间,但是由于计算机存储数据的最小单位是1个字节,因此boolean类型的值在实际存储的时候是用1位存储,其他7位用0填补,即true:0000 0001,false:0000 0000。
3、4个字节:

《Java虚拟机规范》一书中的描述:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节。

从《Java虚拟机规范》中我们看到,虚拟机使用int来代替boolean,这样岂不是更加浪费内存空间了吗?经过查阅资料发现,这是由于计算机CPU所造成的,对于当下32位的处理器(CPU)来说,一次处理数据是32位(这里不是指的是32/64位系统,而是指CPU硬件层面),具有高效存取的特点。

总结: boolean单个占4个字节,boolean数组1个字节,Java规范未明确定义,具体要看虚拟机,而虚拟机又要看处理器(CPU)。

相关文章:

Java基本类型所占字节简述

类型分类所占字节取值范围boolean布尔型1bit0 false、 1 true (1个bit 、1个字节、4个字节)char ​字符型(Unicode字符集中的一个元素)​ 2字节-32768~32767(-2的15次方~2的15次方-1)byte整型1字节-128&a…...

Linux vi常用操作

vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是: 命令模式: 用户刚…...

Unicode(宽字节)、ANSI(多字节)

1、什么时候用Unicode(宽字节),什么时候用ANSI(多字节)? 在linux/windows等操作系统中使用的,一般都是Unicode(宽字节)。 下位机PLC/单片机等硬件设备中使用,一般都是ANSI(多字节)。 所以,通讯中(比如VS项目&#x…...

STM32实战之LED循环点亮

接着上一章讲。本章我们来讲一讲LED流水灯,循环点亮LED。 在LED章节有的可能没有讲到,本章会对其进行说明,尽量每个函数说一下作用。也会在最后说一下STM32的寄存器,在编程中寄存器是避免不了的东西,寄存器也是非常好理…...

智慧厕所智能卫生间系统有哪些功能

南宁北站智能厕所主要功能有哪些?1、卫生间环境空气监测男厕、女厕环境空气监测系统包括对厕所内的温度、湿度、氨气、硫化氢、PM2.5、烟雾等气体数据的实时监测。2、卫生间厕位状态监测系统实时监测厕位内目前的使用状态(有人或无人),数据信…...

【网络】套接字 -- TCP

🥁作者: 华丞臧. 📕​​​​专栏:【网络】 各位读者老爷如果觉得博主写的不错,请诸位多多支持(点赞收藏关注)。如果有错误的地方,欢迎在评论区指出。 推荐一款刷题网站 👉 LeetCode刷题网站 文章…...

NDK C++ map容器

map容器// TODO map容器 #include <iostream> #include <map>using namespace std;int main() {// TODO map<int, string>按key值排序&#xff0c;同一个key不可以重复插入map<int, string> map1;map1.insert(pair<int, string>(1, "111&qu…...

linux(Centos)安装docker

官网地址&#xff1a;Install Docker Engine on CentOS 首先检查linux系统版本及内核&#xff1a; 安装docker要求系统版本至少为7.x版本&#xff0c;内核至少为3.8以上 cat /etc/redhat-release # 查看系统版本号uname -r #查看linux系统内核 检查系统是否能连上外网&#…...

Delphi 中 FireDAC 数据库连接(处理错误)

参见&#xff1a;Delphi 中 FireDAC 数据库连接&#xff08;总览&#xff09;本主题描述了如何用FireDAC处理数据库错误。一、概述EFDDBEngineException类是所有DBMS异常的基类。单个异常对象是一个数据库错误的集合&#xff0c;可以通过EFDDBEngineException.Errors[]属性访问…...

算法小抄3-理解使用Python容器之列表

引言 首先说一个概念哈,程序算法数据结构,算法是条件语句与循环语句组成的逻辑结构,而数据结构也就是容器. 算法决定数据该如何处理,而容器则决定如何数据如何存储. 不同的语言对容器有不同的实现方式, 但他们的功能都是相似的, 打好容器基础,你就可以在各式各样的语言中来回横…...

Vue3中watch的value问题

目录前言一&#xff0c;ref和reactive的简单复习1.ref函数1.2 reactive函数1.3 用ref定义对象类型数据不用reactive二&#xff0c;watch的value问题2.1 ref2.1.1 普通类型数据2.1.2 对象类型数据2.1.3 另一种方式2.2 reactive三&#xff0c;总结后记前言 在Vue3中&#xff0c;…...

【线性筛+DP】最大和

看错题了&#xff0c;呃呃&#xff0c;其实就是个简单DP最大和 - 蓝桥云课 (lanqiao.cn)题意&#xff1a;思路&#xff1a;设dp[i]为以1为终点的最大和&#xff0c;然后枚举状态和决策就行了主要是线性筛的应用&#xff0c;它可以预处理出一个数的最小质因子是多少Code&#xf…...

openpnp - configure - 丢弃(Discard)位置的设置

文章目录openpnp - configure - 丢弃(Discard)位置的设置概述笔记设置丢弃位置吸取元件失败后, 吸嘴一直吸气的处理ENDopenpnp - configure - 丢弃(Discard)位置的设置 概述 测试时, 吸取了一个元件, 吸取成功了, 现在想将这个料丢掉. 点击控制面板-Special页中的Discard不好…...

java Object 万字详解 (通俗易懂)

基本介绍构造方法成员方法hashCode()getClass()toString()equals()finalize()JavaBean重写Object类的方法重写toString重写equals一、基本介绍Object类是java类层次最顶层的基类&#xff08;父类&#xff09;&#xff0c;所有类都是直接或间接继承自Object类&#xff0c;因此&a…...

Java并发简介(什么是并发)

文章目录并发概念并发和并行同步和异步阻塞和非阻塞进程和线程竞态条件和临界区管程并发的特点提升资源利用率程序响应更快并发的问题安全性问题缓存导致的可见性问题线程切换带来的原子性问题编译优化带来的有序性问题保证并发安全的思路互斥同步&#xff08;阻塞同步&#xf…...

团队API管理工具-YAPI

团队API管理工具-YAPI 推荐一款接口管理平台&#xff0c;操作简单、界面友好、功能丰富、支持markdown语法、可使用Postman导入、Swagger同步数据展示、LDAP、权限管理等功能。 YApi是高效、易用、功能强大的api管理平台&#xff0c;旨在为开发、产品、测试人员提供更优雅的接…...

学习记录 --- Pytorch优化器

文章目录参考文献什么是优化器optimizer的定义optimizer的属性defaultsstateparam_groupsoptimizer的方法zero_grad()step()add_param_group()state_dict()、load_state_dict()优化一个网络同时优化多个网络当成一个网络优化当成多个网络优化只优化网络的某些指定的层调整学习率…...

Flink State 状态后端分析

flink状态实现分析 state * State* |* -------------------InternalKvState* | |* MergingState |* | |* …...

和年薪30W的阿里测开工程师聊过后,才知道我的工作就是打杂的...

前几天和一个朋友聊面试&#xff0c;他说上个月同时拿到了腾讯和阿里的offer&#xff0c;最后选择了阿里。 阿里内部将员工一共分为了14个等级&#xff0c;P6是资深工程师&#xff0c;P7是技术专家。 其中P6和P7就是一个分水岭了&#xff0c;P6是最接近P7的不持股员工&#x…...

C#开发的OpenRA的界面布局数据加载

C#开发的OpenRA的界面布局数据加载 当显示完成加载界面之后,就是进行其它内容处理。 因为后面内容的加载会比较长时间,所以首先显示加载界面是一种非常友好的方法。 因此在软件设计里,尽可能先显示界面,让用户先看到程序正在运行, 然后再处理时间长的加载。如果不这样做,…...

OpenClaw定时任务管理:Qwen3-4B每日早报自动生成与推送

OpenClaw定时任务管理&#xff1a;Qwen3-4B每日早报自动生成与推送 1. 为什么需要自动化早报服务 每天早上打开电脑第一件事&#xff0c;就是查看行业动态和技术新闻。但手动收集整理的过程实在太耗时——要打开十几个网页&#xff0c;筛选有价值的信息&#xff0c;再整理成简…...

Wan2.2-I2V-A14B效果展示:支持语义分割引导的多对象独立运动控制

Wan2.2-I2V-A14B效果展示&#xff1a;支持语义分割引导的多对象独立运动控制 1. 惊艳的视频生成能力 Wan2.2-I2V-A14B模型带来了令人惊叹的视频生成效果&#xff0c;特别是其独特的语义分割引导和多对象独立运动控制能力。想象一下&#xff0c;你只需要用文字描述一个场景&am…...

Pixel Aurora Engine 赋能内容运营:社交媒体图文批量创作方案

Pixel Aurora Engine 赋能内容运营&#xff1a;社交媒体图文批量创作方案 1. 新媒体运营的配图痛点 每天打开电脑&#xff0c;新媒体运营小李都要面对同样的挑战&#xff1a;今天发什么图&#xff1f;从封面到内文配图&#xff0c;再到各种节日节气海报&#xff0c;原创设计根…...

Fish Speech 1.5教育场景应用:AI教师语音生成+多语种课件配音案例

Fish Speech 1.5教育场景应用&#xff1a;AI教师语音生成多语种课件配音案例 1. 引言&#xff1a;教育语音合成的痛点与解决方案 你有没有遇到过这样的情况&#xff1f;深夜备课到凌晨&#xff0c;还要为明天的课程录制语音讲解&#xff1b;或者需要制作多语言版本的教学内容…...

Wan2.2-I2V-A14B多场景应用:文旅宣传/电商主图/社交媒体动态生成

Wan2.2-I2V-A14B多场景应用&#xff1a;文旅宣传/电商主图/社交媒体动态生成 1. 开箱即用的视频创作利器 想象一下&#xff0c;你只需要输入一段文字描述&#xff0c;就能自动生成一段高清视频。这就是Wan2.2-I2V-A14B文生视频模型带来的革命性体验。无论你是文旅行业的宣传人…...

学术论文利器:OpenClaw+Qwen3.5-9B自动生成LaTeX文档

学术论文利器&#xff1a;OpenClawQwen3.5-9B自动生成LaTeX文档 1. 为什么需要自动化论文写作工具 去年冬天&#xff0c;当我面对第五篇论文的修订时&#xff0c;突然意识到自己把80%的时间花在了重复劳动上&#xff1a;调整表格格式、重新绘制图表、校对参考文献编号。这种机…...

终极指南:gin-vue-admin前端错误监控告警配置详解 - 邮件与钉钉实时通知方案

终极指南&#xff1a;gin-vue-admin前端错误监控告警配置详解 - 邮件与钉钉实时通知方案 【免费下载链接】gin-vue-admin &#x1f680;ViteVue3Gin拥有AI辅助的基础开发平台&#xff0c;企业级业务AI开发解决方案&#xff0c;内置mcp辅助服务&#xff0c;内置skills管理&#…...

【OpenClaw 安全部署与使用指南:从零构建可信赖的 AI 助手】

OpenClaw 安全部署与使用指南&#xff1a;从零构建可信赖的 AI 助手OpenClaw 作为一款具备"眼和手"的开源 AI Agent 框架&#xff0c;能够读写文件、执行命令、调用工具、访问网络——这些强大的能力在带来便利的同时&#xff0c;也意味着潜在的安全风险。如果部署和…...

基于Matlab的多自由度轴承静刚度计算之旅

基于Matlab的多自由度轴承静刚度计算 因分析静态下刚度结果&#xff0c;仅考虑重力作用&#xff0c;未考虑离心力的作用 深沟球轴承和圆锥轴承基本参数包括滚珠数量、滚珠直径、中称直径、曲率和材料参数 程序已调通&#xff0c;可直接运行在机械工程领域&#xff0c;深入了解轴…...

5个专业级步骤:DriverStore Explorer驱动管理工具解决Windows系统稳定性难题

5个专业级步骤&#xff1a;DriverStore Explorer驱动管理工具解决Windows系统稳定性难题 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 问题剖析&#xff1a;为什么常规方法无法解决驱…...