Java编程思想(第四版) 第二章 个人笔记

程序运行时对象存储到什么地方:

1)寄存器:这是最快的储存区,因为它位于处理器内部。但是它的数量有限,所以寄存器按照需求进行分配。不能进行控制;

2)堆栈:位于通用RAM(随机访问存储器)中。但是通过堆栈指针可以从处理器那里获得直接支持;堆栈指针向下移动时则获得新的内容,向上移动时则释放那些内存。

这个是一种快速有效的存储方法,仅次于寄存器。 创建程序时Java系统必须知道存储在堆栈内所有项的生命周期,以便上下移动堆栈指针。但是这也约束了项目的灵活性,所以某些Java数据存储在堆栈中---特别是对象引用,但是Java对象并不存储在堆栈之中! 如果基本对象不用new来创建变量时会存放于堆栈之中,因为这样会非常高效

3)堆: 一种内存池,在位于RAM之中,用于存放所有Java对象。堆不同于堆栈的好处是:编译器不需要知道存储的数据需要再堆中存活多长时间。因此有很大的灵活性。当new一个对象时,会自动在堆里存储分配 这种灵活性也会付出相应代价:用堆进行存储和清理可能会比堆栈分配需要更多时间

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

5)非RAM存储:如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在。其中两个基本例子流对象(一般为文件或字节流)和持久化对象 (一般是数据库数据)

高精度数字:

BigInteger:支持任意精度的整数

BigDecimal:支持任意精度的定点数

Java数组:

当创建一个数组对象时,实际上就是创建了一个引用数组,并且每个引用都会自动被初始化为一个特定值。该值拥有自己的关键字null,一旦Java看到null,就知道这个引用还没有指向某个对象。在使用任何引用前,必须为其指定一个对象;如果识图只想一个还是null的引用,在运行时将会报错。 如果创建基本数据类型的数组时,编译器也能确保这种数组的初始化。因为它会将这种数组所占的内存全部置零。

Ps(不知道叫什么了):

Java有一个垃圾回收器。用来监视new创建的所有对象,并辨别那些不会再引用的对象随后释放这些对象的内存空间。

创建新的数据类型:类:

Class关键字(。。。实在不知道改记什么)

一旦定义了一个类就可以设置两种类型的元素:字段和方法。字段可以是任何类型的对象也可以是基本类型的一种。如果字段是某个对象的引用,那么必须初始化引用(使用(new)来实现) ,每个对象都有用来存储其字段的空间;普通对象不能在对象间共享。

基本数据类型默认值:

基本类型默认值
booleanfalse
char'/uoooo' (null)
byte(byte) 0
short(short) 0
int0
long0L
float0.0f
double0.0d

但是基本数据类型的初始化值并不适用于局部变量!

方法、参数和返回值:

方法的基本组成部分为:名称、参数、返回值和方法体:

返回值 名称(/* 参数 */){

// 方法体

}

返回值描述的是在调用方法之后返回的值的类型

参数列表指定了要传递给方法什么样的信息,如果传递的参数类型与方法的参数类型不同的话编译器将会抛出错误;

return关键字:如果此方法需要返回一个值,这个值需要方法retrun后面。它表示 已经做完,离开此方法;

名字可见性:

Java为了给一个类库生成一个不会与其他名字混淆的名字,Java设计者希望程序员反过来用自己的域名。因为这样可以确保他们是独一无二的。如baidu.com 反过来的话应用工具类就被命名为 com.baidu.xxxx 反过来之后。句点就用来代表子目录的划分 现在整个包名都应该为小写

运用其他构件:

如果需要在程序中使用预先定义好的类,可以使用关键字 import来准确告诉编译器你想要的类是什么;import知识编译器导入一个包。也就是一个类库;如果需要这个包下所有的类时可以使用通配符 ‘*’来导入这个包下所有的类

Static关键字:

当声明一个事物是static时,就意味着这个域或方法不会与包含它的那个类的任何对象实例关联在一起。所以,即使没有创建类的对象也可也调用static方法或访问其static域。只需将static关键字放在定义之前,就可以将字段或方法设定为static, static字段对于每个类只有一份存储空间,而非static字段是每个对象有一个存储空间。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值