摘要: Java进阶教程:Streams API Stream是啥 首先明确一点,Stream流和IO包里的InputStream、OutputStream是完全不同的概念!它是Java 8 中引入的新特性,Stream可以对集合元素进行各种高效、便利的聚合操作! 聚合是个什么东东呢? 聚合在信息科学中是指 阅读全文
posted @ 2020-01-18 15:25 子烁爱学习 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 设计模式:学习笔记(6)——抽象工厂模式 抽象工厂模式 在工厂方法模式中具体工厂负责生产具体的产品,每一个具体工厂都对应一种具体产品,工厂方法也具有唯一性,一般情况下,一个具体工厂只有一个工厂方法或者一组重载的工厂方法。但是有时候我们需要一个工厂可以提供多个产品对象,而不是单一的产品对象。此时我们需 阅读全文
posted @ 2018-05-06 23:44 子烁爱学习 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 设计模式:学习笔记(3)——简单工厂模式 简单工厂模式 我们都知道工厂是根据产品类的图纸生产产品的。简单工厂模式中,一个工厂类处于对产品实例化的中心位置上,它知道每一个产品,他决定哪一个产品类应当被示例化。 简单工厂模式允许客户端相对独立于产品创建的过程,并且在系统引入新产品的时候无需修改客户端,但 阅读全文
posted @ 2018-03-07 15:52 子烁爱学习 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 算法:快速排序 快速排序 其实我第一次听到快速排序的时候,我就很纳闷,因为不像冒泡、插入、归并、选择排序等等,名称即原理!这个直接把特性用作名称的,我就很震惊! 咱还是直接瞅一眼百科的解释吧! 快速排序是冒泡排序的改进。 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一 阅读全文
posted @ 2016-12-04 23:26 子烁爱学习 阅读(585) 评论(2) 推荐(0) 编辑
摘要: 算法:归并排序 归并排序 归并操作 归并排序也是一种高级排序算法,它的主要操作就是归并。归并是什么意思呢? 归并操作(merge),也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作。归并排序算法依赖归并操作。 举个简单例子,我们之前有讲合并有序链表或是数组,这就是一种归并,简单理解就是将 阅读全文
posted @ 2016-12-04 22:07 子烁爱学习 阅读(752) 评论(0) 推荐(0) 编辑
摘要: package com.mrsaber.fsm; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.util.*; public class FSM { // This 阅读全文
posted @ 2022-04-20 00:33 子烁爱学习 阅读(220) 评论(0) 推荐(0) 编辑
摘要: JVM必知必会:G1垃圾回收器 G1是一种服务端应用使用的垃圾收集器,目标是多核、大内存的机器上,它在大多数情况下可以实现指定的GC暂停时间,同时还能保持较高的吞吐量。 特点: 并发收集 压缩空闲空间不会延长GC的暂停时间 更易预测的GC暂停时间 适用不需要实现很高的吞吐量的场景 G1内存模型 非固 阅读全文
posted @ 2020-09-22 18:11 子烁爱学习 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 设计模式:学习笔记(15)——状态模式 阅读全文
posted @ 2020-07-10 09:42 子烁爱学习 阅读(121) 评论(0) 推荐(0) 编辑
摘要: Java微服务:缓存穿透和缓存雪崩 缓存穿透 缓存是对数据库的一道保护墙,缓存穿透就是冲破了我们的保护墙。即调用方传来的永远都是我们缓存中不存在的Key,这样每次都需要去数据库中查询一次,当大量这样的请求过来时,瞬时数据库的压力会很大,相当于没用到缓存,同时还增加了去缓存中查找数据的时间,这就是所谓 阅读全文
posted @ 2020-06-28 14:25 子烁爱学习 阅读(867) 评论(0) 推荐(0) 编辑
摘要: 马士兵多线程直播笔记(下) CPU与缓存 缓存L1、L2、L3失效后回去内存中找,然后依次返回L3、L2、L1. 缓存一致性协议(MESI) 同一个缓存行在多个CPU内存中,一个修改后,其他CPU也需要感知! 缓存行的四种状态(64个字节) Modified Exclusive Shared Inv 阅读全文
posted @ 2020-06-26 22:13 子烁爱学习 阅读(494) 评论(1) 推荐(0) 编辑
摘要: 线程与进程 进程:操作系统分配资源的基本单位。 线程:CPU调度(执行)的基本单位。共享进程的资源。 一个CPU同一时间只能执行一个线程,表象是线程切换(Context Switch)。对CPU来说,寄存器存数、ALU计算、PC(程序计数器)记录位置。 线程切换过程 线程时间结束后,当前整个状态(P 阅读全文
posted @ 2020-06-25 22:11 子烁爱学习 阅读(806) 评论(0) 推荐(0) 编辑
摘要: 设计模式:学习笔记(14)——工厂方法模式 工厂方法模式 工厂方法模式又称为工厂模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体 阅读全文
posted @ 2020-06-17 10:30 子烁爱学习 阅读(251) 评论(1) 推荐(0) 编辑
摘要: Java高并发教程:详解NIO Selector类 NIO Selector Java NIO Selector可以检查一个或多个Java NIO Channel实例,并确定哪些通道可供使用,例如read或write。 这样,单个线程可以管理多个通道,从而可以管理多个网络连接。Selector 选择 阅读全文
posted @ 2020-06-15 23:08 子烁爱学习 阅读(452) 评论(0) 推荐(0) 编辑
摘要: Java高并发教程:详解NIO Channel(通道)类 NIO Channel NIO中一个连接用一个Channel来表示。从更广泛的层面来说,一个通道可以表示一个底层的文件描述符,例如硬件设备、文件、网络连接等。然后,远远不止如此,除了可以对应到底层文件描述符,Java NIO的通道还可以更加细 阅读全文
posted @ 2020-06-15 16:38 子烁爱学习 阅读(716) 评论(0) 推荐(0) 编辑
摘要: Java高并发教程:详解NIO Buffer类及其属性 NIO Buffer NIO的Buffer(缓存区)本质上是一个内存块,既可以写入数据,也可以从中读取数据。NIO的Buffer类,是一个抽象类,位于java.nio包中,其内部是一个内存块(数组)。 需要强调的是:Buffer类是一个非线程安 阅读全文
posted @ 2020-06-15 14:34 子烁爱学习 阅读(411) 评论(0) 推荐(0) 编辑