Skip to content

Latest commit

 

History

History
59 lines (44 loc) · 2.43 KB

Java基础一.md

File metadata and controls

59 lines (44 loc) · 2.43 KB

Java基础一

一切都是对象

存储数据

在Java中有五个地方可以存储数据

  • 寄存器:最快的存储区,位于不同于其他存储区的地方——处理器内部。存储器的数量及其有限,所以寄存器根据需求进行分配。

  • 堆栈:位于通用RAM(随机访问存储器)中,但通过移动 堆栈指针 可以从处理器那里获得直接支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。某些Java数据存储在堆栈中——特别是 对象引用,但是Java对象不存储于其中。

  • 堆:一种通用的内存池(位于RAM区),用于存放 所有的Java对象。堆不同于堆栈的好处在于:编译器不需要知道存储的数据在堆里存活多长时间。用堆进行储存分配和清理可能比堆栈进行储存分配需要更多的时间。

  • 常量存储:常量值通常直接存放在程序代码内部,这样做是安全的,因为它们永远不会被改变。

  • 非RAM存储:如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在。其中两个基本的例子是: 流对象持久化数据。在流对象中,对象转化成字节流,通常被发送给另一台机器。在持久化数据中,对象被存放于磁盘上。

基本类型

基本类型大小最小值最大值
boolean---
char16-bitUnicode 0Unicode 2^16 - 1
byte8 bits-128+127
short16 bits-2^15+2^15 - 1
int32 bits-2 ^ 31+2^31 - 1
long64 bits-2^63+2^63 - 1
float32 bitsIEEE754IEEE754
double64 bitsIEEE754IEEE754

PS: boolean类型所占存储空间的大小没有明确指定,仅定义为能够取字面值 truefalse

高精度数字

Java提供了两个用于高精度计算的类:BigIntegerBigDecimal

  • BigInteger支持任意精度的整数。

  • BigDecimal支持任何精度的定点数