0%

关键词:本地缓存;Caffine;Cache;Redis;多级缓存;二级缓存

简 介:缓存是高性能架构设计中不可或缺的环节。我们通常会将一些热点数据存储到基于内存实现的 Redis 或 Memcached 等缓存中间件中。这些缓存中间件往往基于内存实现,数据访问速度远高于基于硬盘的数据库(MySQL),从而极大提升系统并发量。然而,缓存中间件会带来网络开销,与本地缓存配合使用能够进一步提高系统性能,如Guava cache或Caffeine。因此,产生了使用本地缓存作为一级缓存、使用远程缓存作为二级缓存的两级缓存架构。本文主要介绍本地缓存 Caffine 的基本用法。

阅读全文 »

在Java中,通过多线程并发可以提高程序对机器资源利用率,提高程序的执行效率。有多种方式可以让我们的程序并发运行,你可以自己手动一个一个的创建多个线程,也可以使用线程池一次性得到多个线程。接下来介绍不同的方式的使用方式以及应用场景。

1
2
3
4
//AbstractExecutorService实现了ExecutorService接口
public class ThreadPoolExecutor extends AbstractExecutorService {
......
}
阅读全文 »

简介: 排序分为内部排序和外部排序。在对较大规模数据进行排序时,由于内存容量的限制,往往无法将数据全部加载到内存中一次性排序。硬盘排序(外部排序)可以解决这个问题。我在科研工作中需要对海量的卷积神经网络浮点类型参数进行排序,于是自己手写了一个Java排序工具,该工具类采用N路归并排序算法。N路归并排序算法以及工具的参考源码将在本文中介绍。

关键词:外部排序;硬盘排序;多路归并排序;大数据;内存排序;

阅读全文 »

简介:介绍Spring IOC 的实现原理以及IOC容器的启动流程。

关键词:Spring IOC;IOC原理;IOC源码;IOC启动;

阅读全文 »

RceR2t.md.jpg

简介:本文介绍了JVM运行时内存数据区,包括程序计数器、虚拟机栈、本地方法栈、堆、方法区的概念。

关键词:JVM;虚拟机;运行时数据区;虚拟机内存布局;

阅读全文 »

RceWxP.md.jpg

简介:本文介绍了TCP报文结构、TCP三次握手、四次挥手的机制。传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP窗口大小信息。

关键词:TCP; 三次握手;四次挥手;计算机网络;

阅读全文 »