CoreJava全套详细笔记(心血放出)资料

更新时间:2023-03-08 08:02:27 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目录

1.

原码、反码、补码 ........................................................................................................... 5 1.1. 原码 ................................................................................................................... 5 1.2. 反码 ................................................................................................................... 5 1.3. 补码 ................................................................................................................... 5 1.4. 负数的补码转换为十进制数 ........................................................................... 6 char .................................................................................................................................... 6 运算符 ............................................................................................................................... 6 3.1. 移位运算符 ....................................................................................................... 6 3.2. 位运算符 ........................................................................................................... 7 3.3. 逻辑运算符 ....................................................................................................... 7 流程控制 ........................................................................................................................... 7 4.1. switch ................................................................................................................ 7 4.2. break和continue .............................................................................................. 8 方法 ................................................................................................................................... 8 5.1. 构造方法 ........................................................................................................... 8 5.2. 方法重载 ........................................................................................................... 8 this ..................................................................................................................................... 9 继承 ................................................................................................................................... 9 7.1. super .................................................................................................................. 9 7.2. 多态(polymorphism).................................................................................. 10 7.3. instanceof ........................................................................................................ 10 static ................................................................................................................................ 11 final ................................................................................................................................. 11

abstract .................................................................................................................... 12 类的加载 ................................................................................................................. 12 11.1. 触发类加载的几种情况 ................................................................................. 12 11.2. 类加载的顺序 ................................................................................................. 12

接口(interface) ................................................................................................... 13 访问控制 ................................................................................................................. 14 Object类 ................................................................................................................. 15 14.1. clone() ............................................................................................................. 15

14.1.1. 对象克隆过程 ......................................................................................... 15 14.1.2. 浅复制和深复制概念 ............................................................................. 16 14.2. finalize() .......................................................................................................... 16 14.3. equals(Object obj) ........................................................................................... 16 14.4. toString() ......................................................................................................... 16

String类及对象池 .................................................................................................. 16 15.1. String a=\.............................................................................................. 17 15.2. String c=new String(\.......................................................................... 17

StringBuffer和StringBuilder ................................................................................. 17 主方法参数 ............................................................................................................. 18

2.

3.

4.

5.

6. 7.

8. 9. 10. 11.

12. 13. 14.

15.

16. 17.

18. 19.

20.

21.

22.

23.

方法的可变长参数 ................................................................................................. 18 包装类 ..................................................................................................................... 18 19.1. Number ............................................................................................................ 19 19.2. 自动封箱/自动解封(Autoboxing/Unboxing) ............................................ 19 19.3. 对象池 ............................................................................................................. 19

内部类 ..................................................................................................................... 20 20.1. 意义 ................................................................................................................. 20 20.2. 四种形式的内部类 ......................................................................................... 20

20.2.1. 静态内部类 ............................................................................................. 20 20.2.2. 成员内部类 ............................................................................................. 21 20.2.3. 局部内部类 ............................................................................................. 22 20.2.4. 匿名内部类 ............................................................................................. 22 20.3. 内部类的应用 ................................................................................................. 24

集合框架(Collection Framework) .......................................................................... 24 21.1. Iterator接口和Iterable接口 .......................................................................... 25 21.2. Connection接口和Connections类................................................................ 25

21.2.1. java.util.Collection .................................................................................. 25 21.2.2. java.util.Collections ................................................................................. 25 21.3. List(列表)接口 ........................................................................................... 25

21.3.1. ArrayList ................................................................................................. 26 21.3.2. LinkedList ............................................................................................... 26 21.3.3. Vector ...................................................................................................... 26 21.4. Set(集合)接口 ............................................................................................ 26

21.4.1. HashSet ................................................................................................... 27 21.4.2. TreeSet .................................................................................................... 29 21.5. 排序的两种办法 ............................................................................................. 29

21.5.1. java.lang.Comparable(可比较的) ...................................................... 29 21.5.2. java.util.Comparator(比较器) ................................................................. 30 21.6. Map ................................................................................................................. 30

21.6.1. HashMap ................................................................................................. 30 21.6.2. Hashtable ................................................................................................. 31 21.6.3. Hashtable下的子类Properties类 .......................................................... 31 21.6.4. SortedMap接口下的TreeMap类 .......................................................... 31 泛型(Generic) ......................................................................................................... 32 22.1. 泛型特点 ......................................................................................................... 32 22.2. 通配符 ............................................................................................................. 32

22.2.1. 上限通配符: ......................................................................................... 32 22.2.2. 下限通配符 ............................................................................................. 33 22.2.3. 总结: ..................................................................................................... 33 22.3. 运用 ................................................................................................................. 34

异常 ......................................................................................................................... 34 23.1. 异常处理基础 ................................................................................................. 34 23.2. 异常的类继承结构 ......................................................................................... 34 23.3. 常见的未检查异常 ......................................................................................... 35

24.

25.

26.

27.

23.4. throw ............................................................................................................... 35 23.5. 自定义异常类 ................................................................................................. 36

反射(Reflection) ................................................................................................ 37 24.1. 反射需要用到的类 ......................................................................................... 37

24.1.1. java.lang.Class ......................................................................................... 37 24.1.2. java.lang.reflect.Field .............................................................................. 38 24.1.3. java.lang.Package .................................................................................... 38 24.1.4. java.lang.relect.Modifier ......................................................................... 38 24.1.5. java.lang.reflect.Mothed .......................................................................... 38 24.1.6. java.lang.reflect.Array ............................................................................. 38 24.1.7. java.lang.reflect.Constructor ................................................................... 38 24.2. 三种获得某个类的Class对象的方法 .......................................................... 38

24.2.1. Class c=Class.forName(\类名\38 24.2.2. Class c=类名.class; ................................................................................. 39 24.2.3. Class c=对象名.getClass(); ..................................................................... 39 24.3. 所能探查出来的类的特征 ............................................................................. 39 24.4. 通过反射生成一个类的实例 ......................................................................... 39

24.4.1. 第一种方法 ............................................................................................. 40 24.4.2. 第二种方法 ............................................................................................. 40 File .......................................................................................................................... 40 25.1. 构造方法 ......................................................................................................... 40 25.2. 重点方法 ......................................................................................................... 41 25.3. 目录 ................................................................................................................. 42

流 ............................................................................................................................. 42 26.1. 字节流 ............................................................................................................. 42 26.2. 字符流 ............................................................................................................. 44 26.3. 节点流(Node Stream): ................................................................................. 45 26.4. 过滤流 (Filter Stream) ................................................................................... 45 26.5. ObjectInputStream和ObjectOutputStream .................................................... 46 26.6. 字节流转化成字符流的桥转换器 ................................................................. 48 26.7. 文本文件和二进制文件 ................................................................................. 50

线程 ......................................................................................................................... 50 27.1. 概念与原理 ..................................................................................................... 50

27.1.1. 操作系统中线程和进程的概念 ............................................................. 50 27.1.2. Java中的线程 ......................................................................................... 51 27.1.3. Java中的线程模型 ................................................................................. 51 27.1.4. 一些常见问题 ......................................................................................... 51 27.2. 线程状态的转换 ............................................................................................. 52

27.2.1. 线程的七种状态 ..................................................................................... 52 27.2.2. 阻止线程执行 ......................................................................................... 54 27.3. 线程的同步与锁 ............................................................................................. 55

27.3.1. 同步和锁定 ............................................................................................. 55 27.3.2. 静态方法同步 ......................................................................................... 60 27.3.3. 如果线程不能获得锁会怎么样 ............................................................. 60

27.3.4. 何时需要同步 ......................................................................................... 61 27.3.5. 线程安全类 ............................................................................................. 61 27.3.6. 线程死锁 ................................................................................................. 62 27.3.7. 线程同步小结 ......................................................................................... 63 27.4. 线程的交互 ..................................................................................................... 64

27.4.1. 线程交互的基础知识 ............................................................................. 64 27.4.2. 多个线程在等待一个对象锁时候使用notifyAll() ............................... 66 27.5. 守护线程(后台服务线程) ......................................................................... 67 27.6. 并发协作-生产者消费者模型........................................................................ 68 27.7. volatile关键字 ................................................................................................ 68 28. 网络编程 ................................................................................................................. 69

28.1. TCP Socket编程 ............................................................................................. 69

28.1.1. ServerSocket ........................................................................................... 70 28.1.2. Socket ...................................................................................................... 70 28.2. UDP Socket编程 ............................................................................................ 71

28.2.1. DatagramSocket ...................................................................................... 71 28.2.2. DatagramPacket ...................................................................................... 71

1. 原码、反码、补码

1.1. 原码

将最高位作为符号位(以0代表正,1代表负),其余各位代表数值本身的绝对值(以二进制表示)。

为了简单起见,我们用1个字节来表示一个整数: +7的原码为: 00000111 -7的原码为: 10000111 问题:

+0的原码为: 00000000 -0的原码为: 10000000

1.2. 反码

一个数如果为正,则它的反码与原码相同;

一个数如果为负,则符号位为1,其余各位是对原码取反。 为了简单起见,我们用1个字节来表示一个整数: +7的反码为: 00000111 -7的反码为: 11111000 问题:

+0的反码为: 00000000 -0的反码为: 11111111

1.3. 补码

利用溢出,我们可以将减法变成加法。

对于十进制数,如果从9得到结果5,可以用减法:9-4=5;

因为4+6=10,我们将6作为4的补数,将上式的减法改写为加法:9+6=15; 去掉高位1(也就是减去10),得到结果5。

对于16进制数,如果从C得到结果5,可以用减法:C-7=5;

因为7+9=16,我们将9作为7的补数,将上式的减法改写为加法:C+9=15; 去掉高位1(也就是减去16),得到结果5。

在计算机中,如果我们用1个字节表示一个数,一个字节有8位,超过8位就进1,在内存中情况为:1 00000000,进位1被丢弃。

一个数如果为正,则它的原码、反码、补码相同;

一个数如果为负,则符号位为1,其余各位是对原码取反,然后整个数加1。 为了简单起见,我们用1个字节来表示一个整数。

本文来源:https://www.bwwdw.com/article/03b3.html

Top