Thinking in java 摘录序列(2)【转】

简介: 假期重新把之前在新浪博客里面的文字梳理了下,搬到这里

YY下】最简单的、最基础的往往容易被忽视。基础的熟练千百遍,自然高级的得心应手。这和习武从基本功做起,一个舞化舞出来,一开场行家就知道修为。所以,抓细、抓基础是不厌其烦之后带来的是永久的东西。最近重新拿起双结棍等基本功,生疏了不少啊。

(1)
匿名内部类 与正规的继承相比有些受限,因为匿名内部类既可以扩展类,也可以实现接口,但是不能两种兼备。而且如果是实现接口,也只能实现一个接口

(2)
每个内部类都能独立地继承自一个接口实现,所以无论外围类是否已经继承了某个接口的实现,对于内部类都没有影响

(3)
回调的价值在于它的灵活性

(4)
设计模式总是将变化的事物与保持不变的事物分离开

(5)
更灵活的方法是避免对事件进行硬编码,取而代之的是从文件中读取需要的事件

(6)
如果内部类是匿名的,编译器会简单的产生一个数字作为其标示符

(7)java
容器类类库的用途是保存对象,并将其划分为两个不同的概念,collection 一个独立元素的序列。List必须按照插入的顺序保存元素,而set不能有重复元素,queue
按照排队规则来确定对象产生的顺序。map 一组成对的键值对 对象

(8)TreeSet
将元素存储在红黑树数据结构中,而HashSet使用的是散列函数

(9)
任何实现Iterable类,都可以将它用于foreach语句中

(10)
不存在任何从数组到Iterable的自动转换

(11)
如果要进行大量的随机访问,就使用ArrayList,如果经常从表中间插入或删除元素,则使用LikedList

(12)
各种Queue以及栈的行为,由LinkedList提供支持

(13)Set
不接受重复元素,HashSet提供最快的查询速度,而TreeSet保持元素处于排序状态,LinkedhashSe以插入顺序保存元素

(14)
新程序中不应该使用过时的Vector Hashtable Stack

(15)
容器类库一直以来都是设计难题-----解决这些难题涉及到要去满足经常彼此之间互为牵制的各方面需求。因此你应该学会中庸之道

(16)java
的基本理念是结构不佳的代码不能运行

(17)
只有匹配的catch字句才能得到执行

(18)
既然异常也是对象的一种,所以可以继续修改这个异常类,以得到更强的功能

(19)Throwable
这个java 类被用来表示任何可以作为异常被抛出的类

(20)
属于运行时异常的类型有很多,它们会自动被java虚拟机抛出,所以不必在异常说明中它们列出来

(21)
当要把除内存之外的资源恢复到它们的初始状态时,就要用到finally字句

(22)
因为finally字句总是会被执行的,所以在一个方法中,可以从多个点返回,并且可以保证重要的清理工作仍旧会执行

(23)
一种更加简单的丢失异常的方式是从finally子句中返回

(24)
除了内存的清理之外,所有的清理都不会自动发生

(25)
在创建需要清理的对象之后,立即进入一个try-finally语句块

(26)
自动构造过程和单元测试的重要性

(27)“
报告功能是异常的精髓所在

(28)
可以用JDK自带的工具javap来反编译代码

(29)
java中,所有新的格式化功能都由java.util.Formater 来处理

(30)
正则表达式是一种强大而灵活的文本处理工具

(31)split()
方法将输入字符串断开成字符串对象数组

(32)
反射机制,允许我们在运行时发现和使用类的信息

(33)
所有的类都是在对其第一次使用时,动态加载到jvm

(34)
在传递给forName()的字符串中,你必须使用全限定名(包含包名)

(35)Class
newInstance() 方法是实现虚拟构造器的一种途径,虚拟构造器允许你声明:我不知道你的确切类型,但是无论如何要正确地创建你自己

(36)
使用newInstance() 来创建的类,必须带有默认的构造器

目录
相关文章
|
5月前
|
存储 Java 数据处理
|
5月前
|
Java 编译器
重温经典《Thinking in java》第四版之第八章 多态(四十三)
重温经典《Thinking in java》第四版之第八章 多态(四十三)
46 1
|
3月前
|
Arthas 监控 算法
JVM成神路终章:深入死磕Java虚拟机序列总纲
JVM成神路终章:深入死磕Java虚拟机序列总纲
|
5月前
|
Java Go C++
Golang每日一练(leetDay0112) 2、3、4的幂
Golang每日一练(leetDay0112) 2、3、4的幂
49 0
Golang每日一练(leetDay0112) 2、3、4的幂
|
5月前
|
Java Go C++
Golang每日一练(leetDay0085) 2的幂、数字 1 的个数
Golang每日一练(leetDay0085) 2的幂、数字 1 的个数
45 0
Golang每日一练(leetDay0085) 2的幂、数字 1 的个数
|
5月前
|
Java Go C++
Java每日一练(20230420) 罗马数字转整数、电话号码的字母组合、排列序列
Java每日一练(20230420) 罗马数字转整数、电话号码的字母组合、排列序列
48 0
Java每日一练(20230420) 罗马数字转整数、电话号码的字母组合、排列序列
|
5月前
|
Java 编译器
重温经典《Thinking in java》第四版之第八章 多态(四十四)
重温经典《Thinking in java》第四版之第八章 多态(四十四)
51 4
|
5月前
|
安全 Java 编译器
重温经典《Thinking in java》第四版之第七章 复用类(四十二)
重温经典《Thinking in java》第四版之第七章 复用类(四十二)
39 1
|
5月前
|
设计模式 算法 Java
重温经典《Thinking in java》第四版之第九章 接口(四十七)
重温经典《Thinking in java》第四版之第九章 接口(四十七)
43 0
|
5月前
|
安全 Java 程序员
重温经典《Thinking in java》第四版之第八章 多态(四十五)
重温经典《Thinking in java》第四版之第八章 多态(四十五)
47 1
下一篇
无影云桌面