《Java编程思想个人总结 第十二章》

(感慨:这本书到了后面有点看不懂了,有很多知识不知道是版本太久了,还是自己的水平差的有点远)

第十二章 通过异常处理错误
1.异常情形是指阻止当前方法或者作用域继续执行的问题.
2.异常处理机制是将程序从错误状态中恢复,以使程序能要么换一种方式运行,要么运行下去.
3.Throwable类被用来表示任何作为异常被抛出的类.
Throwable对象可以分为两种类型:Error用来表示编译时和系统错误;Exception是可以被抛出的基本类型.
4.在异常没有被当前的异常处理程序捕获的情况下,异常处理机制也会在跳到更高一层的异常处理程序之前,执行finally子句.
5.在异常处理的一个重要目标就是把错误处理的代码同错误发生的地点相分离.
6.应该在下列情况使用异常
a.在恰当的级别处理问题(在知道该如何处理的情况下才能捕获异常)
b.解决问题并且重新调用产生异常的方法.
c.进行少许修补,然后绕过异常发生的地方继续执行.
d.用别的数据进行计算,以计算方法预计会返回的值.
e.把当前运行环境下能做的事情尽量做完,然后把相同/不相同的异常抛到更高层.
f.终止程序
g.进行简化
h.让类库和程序更安全.

第十三章正则表达式
在Java中,\的意思是:插入一个正则表达式的反斜线:例如
\d,表示一位数字.
+,一个或多个之前的表达式
\+,\表示转义,表示普通字符+
split和replaceFirst/replaceAll适用于正则表达式.

第十四章 类型信息
1.Java程序在它来时运行之前并非完全加载,部分是在必需时才加载的.
2.类加载器首先检查这个类的class对象是否已经加载.如果尚未加载,默认的类加载器就会根据雷鸣查找.class文件.
3.为了使用类而做的准备工作实际包含三个步骤:
a.加载,这是由类加载器执行的,该步骤将查找字节码(通常在classPath所指定的路径中查找),并从这些字节码中创建一个class对象.
b.链接,在链接阶段将验证类中的字节码,为静态域分配存储空间,并且如果必须的话,将解析这个类创建的对其他类的所有引用.
c.初始化,如果是该类具有超类,则对其初始化,执行静态初始化器和静态初始化块.
4.newInstance:弱类型,低效率,只能调用无参的构造.
new:弱类型,相对高效,能调用任何public构造.
newInstance实际上是把new这个方式分解为两步,即首先调用class加载方法加载某各类,然后实例.
5.instancof判断是否是一个类,或者是这个类的派生类.二者比较实际的class对象,没有考虑继承.
6.RTT1(运行时类型鉴定),RTT1和反射的区别:
a.RTT1在编译时打开和检查.class文件
b.反射机制在编译时是不可获取.class文件的,在运行时打开和检查.class文件.

第十五章 泛型
1.当使用泛型类时,必须创建对象的时候指定类型参数的值,而使用泛型方法的时候,通常不必指明参数类型,编译器会找出具体的类型,被称为类型参数推断.
2.在泛型代码内部,无法获得任何有关泛型参数类型的信息,Java泛型是使用擦除来实现的,这意味着在使用泛型是,任何具体的类型信息都被擦除了.
3.擦除的核心动机是它使得泛化的客户端可以非泛化的类库为使用,反之亦然,这经常被称为"迁移兼容性".
4.在泛型中的所有动作都会发生在边界处一对传递进来的值进来额外的编译器检查,并插入对传递出去的值的转型.
5.
a.Java泛型不能将基本类型用作类型参数,可用包装后的类型Int->integer
b.一个类不能实现同一个泛型接口的两种变体.
c.使用带有泛型类型参数的转型或Instanceof不会任何效果.

第16章 数组
1.数组与其他种类的容器之间的区别有三方面:效率,类型,和保存基本类型的能力,在Java中数组是一种效率最高的存储和随机访问对象引用序列的方式.
2.数组就是一个简单的线性序列,访问非常快速,付出的代价是数组对象的大小被固定,并且在其生命周期不可改变.
3.数组之所以优于泛型之前的容器,就是可以创建一个数组去持有具体类型,意味着可以通过比编译器检查,来防止插入错误类型和抽取不当类型.
4.有了泛型之后,容器就可以指定异常检查所持有对象的类型,有了自动包装机制,还能持有基本类型;这样子跟数组是一样的,都是类型检查型的.
5.无论使用哪种类型的数组,数组标识符只是一个引用,指向子堆中创建的一个真实对象,这个(数组)对象用以保存指向其他对象的引用.
6.对象数组保存的是引用,基本类型数组直接保存基本类型的值.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值