🎁
🔔
Java编程的逻辑
WeRead Book Notes / 单本书笔记

Java编程的逻辑

马俊昌 · 最近笔记 2020-09-22

这页把单本书的笔记拆成统计、划线原文和个人想法。书签目前只能公开数量,正文不导出。

28总笔记
17划线原文
8个人想法
82%阅读进度
划线原文公开展示 17 条
Highlights
它是线程安全的,可以被多个线程并发访问;
17.1 写时复制的List和Set2019-08-13range 790-810
算法心得:高效算法的奥秘
7.1 包装类2019-05-15range 12372-12384
1.位翻转Integer有两个静态方法,可以按位进行翻转: public static int reverse(int i) public static int reverseBytes(int i)位翻转就是将int当作二进制,左边的位与右边的位进行互换,reverse是按位进行互换,
7.1 包装类2019-05-15range 9669-9906
Comparable
7.1 包装类2019-05-14range 6156-6166
Float f1 = 0.01f; Float f2 = 0.1f*0.1f; System.out.println(f1.equals(f2)); System.out.println(Float.floatToIntBits(f1));
7.1 包装类2019-05-14range 3677-3824
❑ 类变量(静态变量);❑ 类初始化代码;❑ 类方法(静态方法);❑ 实例变量;❑ 实例初始化代码;❑ 实例方法;❑ 父类信息引用。2)类初始化代码包括:❑ 定义静态变量时的赋值语句;❑ 静态初始化代码块。3)实例初始化代码包括:❑ 定义实例变量时的赋值语句;❑ 实例初始化代码块;❑ 构造方法。
4.3 继承实现的基本原理2019-05-09range 3755-4291
子类可以重写父类非private的方法,当调用的时候,会动态绑定,执行子类的方法。那实例变量、静态方法和静态变量呢?
4.2 继承的细节2019-05-09range 2608-2666
构造方法;❑ 重名与静态绑定;❑ 重载和重写;❑ 父子类型转换;❑ 继承访问权限(protected);❑ 可见性重写;❑ 防止继承(final)。
4.2 继承的细节2019-05-09range 469-723
这个统一的概念是流,流有输入流和输出流之分。输入流就是可以从中获取数据,输入流的实际提供者可以是键盘、文件、网络等;输出流就是可以向其中写入数据,输出流的实际目的地可以是显示终端、文件、网络等。
13.1 文件概述2019-05-08range 7107-7282
按位与&:两位都为1才为1。❑ 按位或|:只要有一位为1,就为1。❑ 按位取反~:1变为0,0变为1。❑ 按位异或^:相异为真,相同为假
2.1 整数的二进制表示与位运算2019-05-08range 5412-5574
UTF-16使用两个或4个字节表示一个字符
2.4 char的真正含义2019-04-24range 909-930
表示,例如: int a = 25; System.out.println(Integer.toBinaryString(a)); //二进制 System.out.println(Integer.toHexString(a)); //十六进制 System.out.println(Long.toBinaryString(a)); //二进制 System.out.println(Long.toHexString(a)); //十六进制
2.1 整数的二进制表示与位运算2019-04-24range 4384-4664
内部类与包含它的外部类有比较密切的关系,而与其他类关系不大,定义在类内部,可以实现对外部完全隐藏,可以有更好的封装性,代码实现上也往往更为简洁。
5.3 内部类的本质2019-02-20range 566-638
继承的好处是复用代码,只重写需要的部分即可,需要编写的代码比较少,容易实现。不过,如果这个具体类已经有父类了,那就只能选择实现接口了。
5.2 抽象类2019-02-20range 3080-3147
Map有键和值的概念。一个键映射到一个值,Map按照键存储和访问值,键不能重复,即一个键只会存储一份,给同一个键重复设值会覆盖原来的值。
10.1 剖析HashMap2019-02-17range 665-785
,泛型就是类型参数化,处理的数据类型不是固定的,而是可以作为参数传入。
8.1 基本概念和原理2019-01-23range 1601-1655
接口定义能力,而抽象类提供默认实现,方便子类实现接口。
5.2 抽象类2019-01-15range 4254-4281
个人想法 / 点评公开展示 8 条
Reviews

这是为什么呢?这个章节带着疑问去阅读。

关联划线:泛型类型参数到底是什么呢?为什么一定要定义类型参数呢?定义普通类,直接使用Object不就行了吗?
8.1 基本概念和原理2019-05-29

划重点,虽然不会考

关联划线:Float f1 = 0.01f; Float f2 = 0.1f*0.1f; System.out.println(f1.equals(f2)); System.out.println(Float.floatToIntBits(f1));
7.1 包装类2019-05-14

所有的文件都是以字节形式,对于字节和字符还是迷迷糊糊。字节和字符在Java里面char是字符节的定义,之前我一直以为要定义byte这个虽然是1字节。而string是是一串字符数组。

关联划线:ByteArrayInputStream
13.2 二进制文件和字节流2019-05-08

Java真的需要温故而知新

关联划线:左移:操作符为<<,向左移动,右边的低位补0,高位的就舍弃掉了,将二进制看作整数,左移1位就相当于乘以2。 2)无符号右移:操作符为>>>,向右移动,右边的舍弃掉,左边补0。 3)有符号右移:操作符为>>,向右移动,右边的舍弃掉,左边补什么取决于原来最高位是什么,原来是1就补1,原来是0就补0,将二进制看作整数,右移1位相当于除以2。
2.1 整数的二进制表示与位运算2019-04-24

Java里面都是有符号整型,无法达到最高位1byte虽然有8bit(位)但是实际只要7个能表示,因为最高位代表正负。

关联划线:用1表示负数,用0表示正数。但哪个是最高位呢
2.1 整数的二进制表示与位运算2019-04-24

这个只是内存位置的指向改变了

关联划线:给数组变量赋值和给数组中元素赋值是两回事,给数组中元
1.2 赋值2019-04-20

声明变量会有两个位置,一个是变量的位置一个是值的位置。

关联划线:声明变量本身只会分配存放位置的内存空间,这块空间还没有指向任何实际内容。
3.1 类的基本概念2018-12-05

学了Java但是感觉自己还不怎么理解面相对象。

关联划线:❑ 类方法只能访问类变量,不能访问实例变量,可以调用其他的类方法,不能调用实例方法。
3.1 类的基本概念2018-12-05
继续阅读其他书从高笔记量书籍继续探索太阳鸟的知识输入
More Books