摘要: 1、抽象类和抽象方法 包含抽象方法的类叫做抽象类。只要类中包含抽象方法,就要声名为抽象类。 导出类会继承基类的所有方法,因此如果没有覆写(实现)基类中的所有抽象方法, 就必须声名为抽象类。 2、接口 interface声名一个接口,接口是比抽象类更加抽象的存在。 除了默认方法和静态方法,接口中的其他 阅读全文
posted @ 2021-09-17 12:48 Lqblalala 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 1、摘要 发现错误的最好时机是在编译时,在程序运行之前发现的错误容易修改,且修改的代价小。 但是,如果程序在运行时发生错误怎么办? 对于没有错误处理机制的代码,它将直接退出。 稍微改进一点,就是在退出时,返回错误码,允许人们通过错误码来检查错误。(错误码怎么设计完全取决于实现者,难以统一) 更进一步 阅读全文
posted @ 2021-09-17 12:47 Lqblalala 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 1、概述 现代计算机中,CPU的运算速度远远快于内存存取速度,为了更好利用CPU的硬件性能,人们想出来很多办法。 1、减小CPU和内存的速度差距——cache 通过在CPU和内存之间加入一层缓冲层,CPU的输出输入到cache中,输入从cache中获得。 然后再利用局部性原理,预先在cache中存入 阅读全文
posted @ 2021-09-17 12:46 Lqblalala 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 1、构造器保证初始化 没有定义构造器时,编译器会生成一个默认构造器(无参构造器);但是,当自己定义了有参构造器时,编译器不会生成默认构造器,调用new时,必须传入匹配的参数。 2、方法重载 每个重载的方法都具有独一无二的参数列表(类型、顺序)。 3、this关键字 调用对象方法时,编译器把对象的引用 阅读全文
posted @ 2021-09-17 12:46 Lqblalala 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 1、什么是流 提到流,首先想到的就是Linux中的管道,它可以将几个函数的输入和输出连接起来。 Stream也可以达到类似的效果,它在内部维护了数据迭代的过程,我们不用处理数据的迭代, 同时,它为我们提供了一些接口,使得我们可以对流中的数据进行处理。 经过Stream的抽象后,对数据的处理就像流水线 阅读全文
posted @ 2021-09-17 12:45 Lqblalala 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 1、什么是线程安全 Brian Goetz 在 《Java Concurrency In Practice》中定义的线程安全为: “当多线程访问一个对象时,无论这些线程在运行时环境下以何种方式调度和交替执行, 在使用对象时,都不需要任何额外的同步,就可以得到正确的行为和结果,那么这个对象就是线程安全 阅读全文
posted @ 2021-09-17 12:45 Lqblalala 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 1、摘要 用更少的代码干更多的事,一直是程序员的追求。 但是很多时候,需求的变化,很容易让我们写出高度冗余的代码。 很多函数可能就是几句核心代码不一样,复制粘贴稍微改改就行。 行为参数化,就是把行为封装起来,然后作为参数传递。 策略模式就是一种行为参数化的实现,将行为封装在不同的类中,然后通过传递类 阅读全文
posted @ 2021-09-17 12:44 Lqblalala 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 1、摘要 让线程和任务启动很容易,但是,要安全地关闭它们,就不是那么容易了。 Java中没有提供任何机制来安全地终止线程。 中断(Interruption)只是一种协作机制,然一个线程告诉另一个线程:我想让你停下来。 但是,另一个线程是否会停下来取决于它执行的任务里面是否响应了中断,并且采取了什么中 阅读全文
posted @ 2021-09-17 12:43 Lqblalala 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 1、任务 什么是任务? 任务通常是一组抽象且离散的工作单元,通过把程序的功能分解到多个任务, 可以简化程序结构,优化错误处理,以及提供自然的并行工作结构。 找出任务的边界: 在理想的情况下,任务应该是相互独立的,任务的独立有助于实现并发。 每一项任务都应该表示程序的一部分处理能力,以便方便实现调度和 阅读全文
posted @ 2021-09-17 12:43 Lqblalala 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 1、同步容器类 同步容器类包括Vector、HashTable以及在这两者基础上实现的类(如基于Vector实现的Stack), 还包括通过Collections.synchronizedXxx工厂方法创建的同步封装器类。 这些同步封装器类通过将底层类的状态封装起来,并对每个公有方法都进行了同步,来 阅读全文
posted @ 2021-09-17 12:43 Lqblalala 阅读(33) 评论(0) 推荐(0) 编辑