摘要: Think in java 读书笔记 pikzas 2019.07.31 第九章 接口 知识点 1.抽象类和抽象方法 1.1.抽象类的设计目的 抽象类的主要功能是为了在实现多态过程中,避免错误的创建了父类实例对象而提供的语法支持。 在标准的多态实践中,父类仅仅是为子类提供了一个模板,子类提供具体实现 阅读全文
posted @ 2019-08-05 23:43 pikzas 阅读(209) 评论(0) 推荐(0) 编辑
摘要: Think in java 读书笔记 pikzas 2019.07.25 第八章 多态 知识点 1.什么是多态 继承自同一个父类的两个子类对同一方法的不同实现 2.多态的实现基础 JAVA实现多态的基础依赖于后期绑定(动态绑定,运行时绑定),就是一个方法的调用者,只有在运行的时候才知道具体回去调用哪 阅读全文
posted @ 2019-07-30 23:10 pikzas 阅读(212) 评论(0) 推荐(0) 编辑
摘要: Think in java 读书笔记 pikzas 2019.03.06 第七章 复用类 知识点 1.JAVA中类复用的几种方式 组合 继承 代理 1.1.组合 将类A作为类B的属性 表达的是B中有A这么一个概念 例如汽车Car有引擎Engine这样的关系 1.1.1.组合带来的初始化问题 前面提过 阅读全文
posted @ 2019-07-25 23:15 pikzas 阅读(175) 评论(0) 推荐(0) 编辑
摘要: docker command systemctl start docker systemctl restart docker systemctl enable docker 配置加速镜像 添加配置 vi /etc/docker/daemmon.json { "registry-mirrors":[ 阅读全文
posted @ 2021-07-25 17:04 pikzas 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 场景一,多个线程要求按照指定的顺序执行, 如现在有A、B、C 3个线程,要求按照A->B->C的顺序来依次执行。 解决思路: A B C 线程需要共享一个标志位,依据标志位来决定A B C是该立即执行还是该阻塞或者是等待或者是让出时间片。 方案1, 用AtomicInteger作为标识位, 用该变量 阅读全文
posted @ 2021-02-24 15:52 pikzas 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 如何正确的中止一个运行中的线程 Java作为第一款官方声明支持多线程的编程语言,其早期提供的一些Api并不是特别的完善,所以可以看到Thread类中的一些早期方法都已经被标记上过时了,例如stop、resume,suspend,destory方法都被标记上过时的标签。那为了弥补这些缺失的功能,后续的 阅读全文
posted @ 2020-09-24 18:58 pikzas 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 不要直接使用Thread.stop()的原因有两点 stop() 方法的执行需要获取当前线程的锁。 stop() 方法一旦执行,当前线程上所有的锁会被立即释放,而且线程立刻中止,这可能导致数据安全问题。 stop() 方法的执行需要获取当前线程的锁 Thread.stop()的源码如下,可以看到最终 阅读全文
posted @ 2020-09-24 12:08 pikzas 阅读(842) 评论(0) 推荐(0) 编辑
摘要: Spring transaction 什么是事务 A用户向B用户转帐100,第一步要从A帐户扣出100,第二步要将B帐户加上100。其中无论是第一步失败,还是第二步失败。都应该将A、B帐户的余额保持和转帐操作之前一致。 事务就是一系列相关联操作的集合,一个事务可以是多个步骤组成,如果一个步骤失败,那 阅读全文
posted @ 2020-01-23 22:02 pikzas 阅读(226) 评论(0) 推荐(0) 编辑
摘要: Java中正负数的存储方式 正码 反码和补码 正码 我们以int 为例,一个int占用4个byte,32bits 0 存在内存上为 00000000 00000000 00000000 00000000 11 存在内存上为 00000000 00000000 00000000 00001011 反码 阅读全文
posted @ 2020-01-08 16:56 pikzas 阅读(947) 评论(0) 推荐(0) 编辑
摘要: Think in java 读书笔记 pikzas 2019.03.06 第五章 初始化与清理 Think in Java 中该章节的内容只是初步介绍了一些语法层面的内容,具体的细节需要参考之后的另一本书周志明的《深入理解Java虚拟机》 知识点 方法重载 方法名相同 但是参数列表不同 参数的个数 阅读全文
posted @ 2020-01-07 23:28 pikzas 阅读(219) 评论(0) 推荐(0) 编辑
摘要: Think in java 读书笔记 pikzas 2019.03.06 第4章 控制执行流程 知识点 while do while和for while循环中会先去查询判断条件,如果为false,则直接退出循环,一次也不执行。 do while循环会先执行一遍循环体内的代码,然后查询判断条件,如果为 阅读全文
posted @ 2020-01-06 22:51 pikzas 阅读(199) 评论(0) 推荐(0) 编辑
摘要: Think in java 读书笔记 pikzas 2019.03.03 第3章 操作符 知识点 算数运算符 "+" 在处理字符串时候的特殊处理 常规的算数运算符有加减乘除取余赋值等(+ /%=),这些操作符对于所有的基本数据类型都是可以直接使用的,但是对于对象还能有判定内存地址是否相等,是否不等, 阅读全文
posted @ 2020-01-05 23:36 pikzas 阅读(201) 评论(0) 推荐(0) 编辑
摘要: Think in java 读书笔记 pikzas 2019.03.03 第2章 一切都是对象 知识点 Java存储对象的地方 寄存器 堆栈 栈 常量存储(常量池) 非RAM存储(文本文件 数据库 流对象等) 基本类型 boolean char 16bits (unicode 0 ~ unicode 阅读全文
posted @ 2020-01-05 15:41 pikzas 阅读(160) 评论(0) 推荐(0) 编辑