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