笔记3

Java对象储存的地方
1).寄存器。这是最快的储存区域,它不属于其他存储区的地方-----处理器内部
Java有四个寄存器

   1.程序记数寄存器:跟踪程序执行的准确位置
   2.堆栈指针寄存器:指示操作栈项
   3.框架寄存器:指向当前执行的环境
   4.变量寄存器:指向当前执行环境中第一个本地变量

2).。位于通用RAM(随机访问存储器)中,仅次于寄存器。

当线程执行一个方法时,就会随之创建一个对应的栈帧,并将建立的栈帧压栈,当方法执行完毕之后,便会将栈帧出栈,优点是存取速度比堆要快但缺点是。存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。
3)一种通用的内存池,用于存放所有的Java对象,堆于栈的好处是,编译器不需要知道存储的数据在堆里存活多长时间,所以堆比栈更好的灵活性,当需要一个对象的时候只需要new,会自动在堆里进行存储分配,但是堆进行分配和清理的时候需要更多的时间
4)常量存储。常量通常存储在代码里面,因为它们几乎不会被改动,也可以存储在ROM中(只读存储器)
5).非RAM存储。如果数据完全存活在程序只外,在没有运行时也可以存在。
1.流对象:对象转换成字节流,通常被发送给另一台机器。
2.持久化对象:对象被存放在磁盘上面
这种存储方式的技巧在于:把对象转化成为可以存放在其他媒介上的事物,在需要的时候可恢复成常规的RAM对象

基本数据类型(java的数据类型分为基本数据类型和引用数据类型)

数据类型位数默认值范围包装类型
byte(位)80-2^7 - 2^7-1Byte
short(短整数)160-2^15 - 2^15-1Short
int(整数)320-2^31 - 2^31-1Integer
long(长整数)640-2^63 - 2^63-1Long
float(单精度浮点型))320 .0-2^31 - 2^31-1Float
double(双精度浮点型)640 .0-2^63 - 2^63-1Double
char(字符)160 - 2^16-1Char
boolean(布尔值)8falsetrue、falseBoolean

其他:
BigInteger支持任意精度的整数,可以表示任何大小的整数值不会丢失精度
BigDecimal支持任意精度的点数,可以进行精确伙货币的计算

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值