《Java核心技术》 (《Core Jave》) 阅读笔记

旧时模样 提交于 2020-02-06 03:07:22

不得不说Sun公司核心技术丛书《Java 核心技术》 卷I 和卷II 是两本非常好的理解Java的丛书,在深入学习Java并领悟《Thingking In Java》着本书之前,《Java 核心技术》是个不错的学习选择。下面把自己的阅读笔记总结下。其中只写了最近用到的章节,其余章节如果用到之后再阅读。

 

《Java 核心技术 I》

1. 第3章:Java基本的程序设计结构 

  • Java是一种强类型语言,一共有8种基本类型,4种整型、2种浮点型、1个char和1个boolean
  • 数值类型之间的转换,当两个操作数进行二元操作时,比如加减乘除余操作,先将两个操作数转换为同一种类型,然后再进行计算

    如果两个操作数中有double类型,则将另外一个非double类型转为double类型

    否则,如果两个操作数中有float类型,则将另外一个非float类型转为float类型

    否则,如果两个操作数中有long类型,则将另外一个非long类型转为long类型

    否则,都转换为int类型

  • 介绍了Scanner输入、printf格式化输出java.util.Arrays类对于数组的操作

2. 第4章:Java基本的程序设计结构 

  • 在类之间的常用三种关系

    依赖(uses-a)、聚合(has-a)和继承(is-a)

  • 4.2 介绍了Calendar和GregorianCalendar两个类
  • 4.9 介绍了文档注释JavaDoc

3. 第5章:继承

  • 5.2 详细的介绍了Object类下的:

    Equals方法

    HashCode方法

    ToString方法

  • 5.6 介绍了枚举类
  • 5.7 介绍了反射,其中需要注意的Class类的作用,forName(String s)和 newInstance()方法可以将字符串生成一个用无参构造函数实例化的对象。比较重要的还有java.lang.reflect包下的Field、Method和Constructor类来保证的反射能力。Modifier类的静态方法分析getModifiers返回的整型数值。

4. 第6章:接口和内部类

  • 6.2 对象克隆,剖析了深拷贝和浅拷贝的重要性
  • 匿名内部类的特殊用法在GUI事件响应中非常常见

5. 第12章:泛型程序设计

泛型在集合类中大量的使用,了解下泛型设计使用机制,对于之后理解集合类很有帮助

  • 详细介绍了如何在自己的程序中也使用泛型来进行设计。
  • 泛型中的extends 和 super的使用
  • 通配符类型 ?

6. 第13章:集合

  • 可以轻松的在数组和集合类之间进行转换,通过Collection下的toArray方法和Arrays的asList方法
  • 13.2.4 介绍了树集,可以在插入的时候直接进行了指定或者默认的排序
  • 比较了java.lang.comparable接口和java.util.comparator接口的作用
  • 介绍了集合类中大部分集合的详细用法,在使用的时候可以参考本章节的设计细节

7. 第14章:多线程(重要)

  • 如何编写线程代码。实现Runnable接口下的run方法,使用Thread实例下的start方法来进行启动线程。
  • stop、resume和suspend方法是过时的方法,不推荐使用
  • 详细介绍了线程中断的概念。线程中断不代表线程停止工作,只是线程的中断位被设置成true而已。是为了和其他的线程操作来进行同步等操作来设计的。其中用到的相关操作包括sleep、wait、interrupt、start、join、interrupted和isInterrupted方法。
  • 线程的6种状态:新生、可运行、被阻塞、等待、计时等待、被终止。(注意其中没有中断状态,不要将中断理解为线程的一种状态)
  • 线程的优先级应该注意的地方
  • 守护线程Daemon
  • 14.5 同步 详细介绍了线程间同步应该注意的问题和注意的操作。 锁 ReenTrantLock和条件对象 Condition的配合实现了线程间的同步。锁操作lock unlock, 条件对象操作wait signalAll来具体实施。而Java本身自带的synchronized关键字和Java对象本身的wait、notify、nodifyAll来进行代码的简化实现基本上相同的操作。
  • 介绍了线程安全的容器类

 

 

《Java 核心技术 II》

1. 第1章:流与文件 

  详细介绍了Java的流操作

2. 第3章:网络 

  详细的介绍了Java Socket编程的细节。其中Socket和ServerSocket类来进行主要的操作。

3. 第12章:本地方法

  详细了如何来生成并使用动态链接库,Windows下的DLL和Linux下的So

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!