`
yinter
  • 浏览: 240319 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

对数据类型在内存中分配字节的回顾

    博客分类:
  • java
阅读更多
最近在学习网络编程,需要指定传输IO缓存内存大小,所以重新回顾了一下数据类型在在内存中的分配情况,现记录一下:

首先得清楚数据类型所占的字节数:

java数据类型     字节  表示范围
----------------------------------------
byte(字节型)     1  -128~127
short(短整型)    2 -32768~32767
int(整型)        4  -2147483648~2147483647
long(长整型)     8  -9223372036854775808 ~ 9223372036854775807
float(浮点型)    4  -3.4E38~3.4E38
double(双精度型) 8  -1.7E308~1.7E308
char(字符型)     2  从字符型对应的整型数来划分,其表示范围是0~65535
boolean(布尔型)  1  true或false

先来看一下byte,byte占一字节,一字节等于八位。
一个位能表示的状态:0或1(计算机内部bit位,为0或1),即2的一次方=2个状态(或数据)
两位能表示的状态: 00,01,10,11,即2的2次方=4个状态
三位: 000,001,010,011,100,101,110,111,即2的3次方=8个状态
一此类推,8位即有2的8次方个状态,为256
上面说了一个字节为8位,最小为:00000000,最大为:11111111
无符号的情况可以表示 0~255 共256个数字,有符号则可以表示-128~+127,也是256个数,第一位(最左边一位)表示正负,这样最大只能表示127

16位,32位一个道理,所以就有了上面的类型表示小范围:
1 byte = 1字节  = 8bit 可表达 2的八次方个数字
1 short= 2字节  = 16bit 可表达2的十六次方个数字
1 int  = 4字节  = 32bit 可表达2的32次方,等等

   Bit意为“位”或“比特”,是计算机运算的基础,属于二进制的范筹;
  Byte意为“字节”,是计算机文件大小的基本计算单位; 
   这两者应用的场合不同。通常用bit来作数据传输的单位,因为物理层,数据链路层的传输对于用户是透明的,而这种通信传输是基于二进制的传输。在应 用层通常是用byte来作单位,表示文件的大小,在用户看来就是可见的数据大小。比如一个字符就是1byte,如果是汉字,则是2byte。


分享到:
评论

相关推荐

    深入理解JVM内存结构及运行原理全套视频加资料.txt

     第76讲 字节码与数据类型 00:09:34  第77讲 加载指令 00:09:33  第78讲 运算指令 00:10:24  第79讲 类型转换指令 00:13:42  第80讲 对象创建与访问指令 00:09:38  第81讲 操作树栈指令 00:03:27  第...

    深入理解Java虚拟机视频教程(jvm性能调优+内存模型+虚拟机原理)视频教程

    第76节字节码与数据类型00:09:34分钟 | 第77节加载指令00:09:33分钟 | 第78节运算指令00:10:24分钟 | 第79节类型转换指令00:13:42分钟 | 第80节对象创建与访问指令00:09:38分钟 | 第81节操作树栈指令00:03:27...

    你必须知道的495个C语言问题

    1.8 如何在C中实现不透明(抽象)数据类型? 1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 存储类型 1.10 同一个静态(static)函数或变量的所有声明都必需包含static存储类型...

    C#微软培训资料

    18.2 在 C #代码中调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间...

    《你必须知道的495个C语言问题》

    1.8 如何在C中实现不透明(抽象)数据类型? 5 1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 5 存储类型 6 1.10 同一个静态(static)函数或变量的所有声明都必须包含static...

    你必须知道的495个C语言问题.pdf

    作者在网络版CFAQ列表的基础上进行了大幅度的扩充和丰富,结合代码示例,权威而且详细深入地解答了实际学习和工作中最常遇到的495个C语言问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等...

    《C算法》((美国)Robert Sedgewick)清晰版[DJVU] 第一卷

    3.5 表的内存分配 77 练习 80 3.6 串 80 练习 84 3.7 复合数据结构 84 练习 92 第4章 抽象数据类型 93 4.1 抽象对象与对象集合 95 练习 97 4.2 下推栈ADT 97 练习 99 4.3 栈ADT客户程序示例 99 练习 104 4.4 栈ADT...

    《C算法》((美国)Robert Sedgewick)清晰版[DJVU] 第二卷

    3.5 表的内存分配 77 练习 80 3.6 串 80 练习 84 3.7 复合数据结构 84 练习 92 第4章 抽象数据类型 93 4.1 抽象对象与对象集合 95 练习 97 4.2 下推栈ADT 97 练习 99 4.3 栈ADT客户程序示例 99 练习 104 4.4 栈ADT...

    Reversing:逆向工程揭密

    但是软件逆向工程仍然算不上成熟,这主要表现在对理论和实践的研究都还处于早期的探究阶段,并未形成统一的、系统的、科学的软件逆向工程的理论和方法。从工程实际的角度来看,大体上可以将软件逆向工程分为两大类:...

    linux programming instances网络编程教程 附源代码

    本书通过55个精彩的实例,全面剖析了在Linux下编写网络应用程序的方法,并阐述了网络协议架构和开发规范。为了适应不同读者的需要,本书从最基本的Linux系统操作到网络技术的基本理念,逐步深入至Linux/UNIX下具体的...

    building_storage_networks_chsSAN存储区域网络 .rar

    国际数据公司(IDC)预言:若按磁盘的每兆字节价格计算,在2003年之前,磁盘存储系统的价格平均每年将下降40%。事实上,不考虑其他的因素,仅考虑新的硬盘驱动器一项,就能得出上述结论,因为磁盘的记录密度每12~...

    ZendFramework中文文档

    10.4.2. 同一表中查询多列数据 10.4.3. 多表联合查询 10.4.4. WHERE条件 10.4.5. GROUP BY分句 10.4.6. HAVING 条件 10.4.7. ORDER BY 分句 10.4.8. 通过总数和偏移量进行LIMIT限制 10.4.9. 通过页数和总数...

Global site tag (gtag.js) - Google Analytics