Java编程思想 ch2 一切都是对象

2.1 用引用操纵对象

reference 引用 关联  对象。
String s 创建对象的引用,而不是对象。
String s ="adc" ; s 关联了 对象 "adc".
在使用任何引用前,必须为它关联一个对象。

2.2 new

2.2.1 存储到什么地方

    1)寄存器。不可控制。最快。

    2)堆栈。RAM,堆栈指针向下分配内存,向上释放内存。对象引用存储在堆栈。但对象并没有。次快。

    3)堆。 一种通用内存池,RAM,存放所有java对象。堆不同于堆栈的好处:编译器不需要知道存储在堆中的数据存活多久。比堆栈慢。

    4)常量存储。常量值通常存放在代码内部。

    5)非RAM存储器。数据完全存活于程序之外,不受程序任何控制,在程序没有运行时也可以存在。

2.2.2 特例:基本类型。

    new创建一个对象,存储在堆里。对于小的简单变量,效率低。因此不用new来创建,而是创建一个并非是引用的"自动"变量。直接存储值,并存储于堆栈中,更高效。
    所有数值类型都有正负号。
基本类型大小 bit最小值最大值包装器类型
boolean---Boolean
char16Unicode 0Unicode 2^16 -1Character
byte8-128+127Byte
short16-2^152^15-1Short
int32-2^312^32-1Integer
long64-2^632^63-1Long
float32IEEE754IEEE754Float
double64IEE754IEE754Double
void---Void

高精度数字 运行速度慢,
BigInteger 任意精度的整数
BigDecimal 任意精度的浮点点数

2.3 永远不需要销毁对象。

scope作用域。

### 2.3.2 对象作用域

{
String s = new String("a String");
}
引用s在作用域终点就消失了,符合堆栈的特点,栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放
但s指向的String对象仍然占据内存空间。
堆则是存放在二级缓存中,生命周期由虚拟机的垃圾回收算法来决定(并不是一旦成为孤儿对象就能被回收)。所以调用这些对象的速度要相对来得低一些。

2.4 创建新的数据类型:类

class 类名{
    数据成员(字段)
    成员函数(方法)
}

java只会对 类的基本类型成员变量默认初始化。

* 对方法内的局部变量不适用。*

### 基本成员默认值
基本类型默认值
booelanfalse
char‘\u0000’(null)
byte(byte)0
short(short)0
int0
long0L
float0.0f
double0.0d

字符串中的每个字符都是16位或者2个字节。

2.5 方法、参数和返回值

包==类库。

有一个特定类会被自动导入到每一个Java文件–java.lang
除了标识符,其他的代码首字母大写。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值