Java基础(二) 数据的类型与存储

数据存储

有5个不同的地方可以存储数据:

  1. 寄存器(Registers)最快的存储区域,位于CPU内部。寄存器数量十分有限,所以寄存器根据需求进行分配,对其没有直接的控制权,也无法在自己的程序里找到寄存器存在的踪迹。
  2. 栈内存(Stack)存在于常规内存 RAM(随机访问存储器,Random Access Memory)区域中,可通过栈指针获得处理器的直接支持。栈指针下移分配内存,上移释放内存。这是一种仅次于寄存器的非常快速有效的分配存储方式。创建程序时,Java 系统必须知道栈内保存的所有项的生命周期。这种约束限制了程序的灵活性。因此,虽然在栈内存上存在一些 Java 数据(如对象引用),但 Java 对象本身的数据却是保存在堆内存的。
  3. 堆内存(Heap)这是一种通用的内存池(也在 RAM 区域),所有 Java 对象都存在于其中。与栈内存不同,编译器不需要知道对象必须在堆内存上停留多长时间。因此,用堆内存保存数据更具灵活性。创建一个对象时,只需用 new 命令实例化对象即可,当执行代码时,会自动在堆中进行内存分配。
  4. 常量存储(Constant storage)常量值通常直接放在程序代码中,因为它们永远不会改变。如需严格保护,可考虑将它们置于只读存储器 ROM (只读存储器,Read Only Memory)中。
  5. 非RAM存储(Non-RAM storage)数据完全存在于程序之外,在程序未运行以及脱离程序控制后依然存在。两个主要的例子:(1)序列化对象:对象被转换为字节流,通常被发送到另一台机器;(2)持久化对象:对象被放置在磁盘上,即使程序终止,数据依然存在。这些存储的方式都是将对象转存于另一个介质中,并在需要时恢复成常规的、基于 RAM 的对象。Java 为轻量级持久化提供了支持。而诸如 JDBC 和 Hibernate 这些类库为使用数据库存储和检索对象信息提供了更复杂的支持。

基本数据类型

分类:四类八种

  • 整型(数值型):byte(8bit)、short(16位)、int(32位)、long(64位)
  • 浮点型(数值型):float(32位)、double(64位)
  • 字符型:char(16位)
  • 布尔型:boolean
  • 注意:String不是基本类型,它是个对象是引用类型
    (基础类型只表示简单的字符或数字,引用类型可以是任意复杂的数据结构)

详细介绍

byte

8位、有符号的以二进制补码表示的整数
min :    -128(-2^7)
max:   127(2^7-1)
default: 0
对应包装类:Byte

short

16位、有符号的以二进制补码表示的整数
min :    -32768(-2^15)
max:   32767(2^15 - 1)
default: 0
对应包装类:Short

int

32位、有符号的以二进制补码表示的整数
min :    -2,147,483,648(-2^31)
max:   2,147,483,647(2^31 - 1)
default: 0
对应包装类:Integer

long

64位、有符号的以二进制补码表示的整数
min :    -9,223,372,036,854,775,808(-2^63)
max:   9,223,372,036,854,775,807(2^63 -1)
default: 0
对应的包装类:Long

float

单精度、32位、符合IEEE 754标准的浮点数
float 在储存大型浮点数组的时候可节省内存空间
浮点数不能用来表示精确的值,如货币
default: 0.0f
对应的包装类:Float

double

双精度、64位、符合IEEE 754标准的浮点数
浮点数的默认类型为double类型
double类型同样不能表示精确的值,如货币
default: 0.0d
对应的包装类:Double

char

char类型是一个单一的 16 位 Unicode 字符
最小值是 \u0000(即为0)
最大值是 \uffff(即为65,535)
char 数据类型可以储存任何字符
对应的包装类:Character

boolean

boolean数据类型表示一位的信息
只有两个取值:true 和 false
这种类型只作为一种标志来记录 true/false 情况
对应的包装类:Boolean

单位换算

  • Bit意为“位”或“比特”,是计算机运算的基础,属于二进制的范畴;
    Byte意为“字节”,是计算机文件大小的基本计算单位;

     1B=8bit:一个字节占8位
     1KB=1024B
     1MB=1024KB
     1GB=1024MB
     1TB=1024GB
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值