Java8-谓词(predicate)
传递代码 我们首先看一个例子,假设你有一个 Apple 类,它有一个getColor方法,还有一个变量inventory保存着一个Apples的列表。你可能想要选出所有的绿苹果,并返回一个列表。通常我们用筛选(filter)一词来表达这个概...
传递代码 我们首先看一个例子,假设你有一个 Apple 类,它有一个getColor方法,还有一个变量inventory保存着一个Apples的列表。你可能想要选出所有的绿苹果,并返回一个列表。通常我们用筛选(filter)一词来表达这个概...
CPU缓存一致性协议MESI CPU在摩尔定律的指导下以每18个月翻一番的速度在发展,然而内存和硬盘的发展速度远远不及CPU。这就造成了高性能能的内存和硬盘价格及其昂贵。然而CPU的高度运算需要高速的数据。为了解决这个问题,CPU厂商在CP...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
关于hashCode hashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode是用来在散列存储结构中确定对象的存储地址的. 1、hashcode是用来查找的,如果你学过数据结构就应该知道,在查找...
Callable和Future出现的原因 创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使...
Java 虚拟机将字节流转化为 Java 类的过程。这个过程可分为加载、链接以及初始化 三大步骤。 加载是指查找字节流,并且据此创建类的过程。加载需要借助类加载器,在 Java 虚拟机中,类加载 器使用了双亲委派模型,即接收到加载请求时,会...
MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持 1、 一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Session,当 Sessio...
模板方法模式 定义 定义了一个算法的骨架。并允许子类为一个或多个步骤提供实现。 定义补充 模板方法是的子类可以在不改变算法结构的情况下,重新定义算法的某些步骤 类型 行为型 适用场景 1、 一次性实现一个算法的不变的部分,并将可变的行为留给...
mybatis 延迟加载 什么是延迟加载 延迟加载又叫懒加载,也叫按需加载,也就是说先加载主信息,需要的时候,再去加载从信息。代码中有查询语句,当执行到查询语句时,并不是马上去DB中查询,而是根据设置的延迟策略将查询向后推迟。 什么时候会执...
代理模式 定义 为其他对象提供一种代理,以控制对这个对象的访问。(代理对象在客户端和目标对象之间起到中介的作用) 优点 1、 代码模式能将代理对象与真实被调用的目标对象分离。 2、 一定程度上降低了系统的耦合度,扩展性好。 3、 保护目标对...
桥接模式 定义 1、 将抽象部分与具体部分分离,使他们都可以独立的变化。 2、 通过组合的方式建立两个雷之间的联系,而不是继承。 类型 结构型 使用场景 1、 抽象和具体实现之间的增加更多的灵活性。 2、 一个类存在两个(或多个)独立变化的...