基于Spring Cache实现Caffeine、jimDB多级缓存实战
在早期参与涅槃氛围标签中台项目中,前台要求接口性能999要求50ms以下,通过设计Caffeine、ehcache堆外缓存、jimDB三级缓存,利用内存、堆外、jimDB缓存不同的特性提升接口性能,内存缓存采用Caffeine缓存,利用WTinyLFU算法获得更高的内存命中率;同时利用堆外缓存降低内存缓存大小,减少GC频率,同时也减少了网络IO带来的性能消耗;利用JimDB提升接口高可用、高并发;后期通过压测及性能调优999性能<20ms
Wesley13 Wesley13
3年前
java网络编程3
什么是NIONIO是相对有BIO而言的,就是非阻塞性IO。什么叫非阻塞性?我举一个简单的例子:比如,你客户端发送了一个字符串:niotest。考虑到网络底层的传输情况的复杂性,有可能,前一秒服端接受了nio几个字符,过了10ms,再接收到了test字符串。在BIO中,不会出现这个问题,是因为在调用read方法的时候,方
并发编程
并发编程笔记本博客根据学习而做的笔记,链接如下一、基本概念1、进程与线程进程程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理IO的。当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。进程
作业帮 Kubernetes 原生调度器优化实践
作者吕亚霖,2019年加入作业帮,作业帮架构研发负责人,在作业帮期间主导了云原生架构演进、推动实施容器化改造、服务治理、GO微服务框架、DevOps的落地实践。简介调度系统的本质是为计算服务/任务匹配合适的资源,使其能够稳定高效地运行,以及在此的基础上进一步提高资源使用密度,而影响应用运行的因素非常多,比如CPU、内存、IO、差异化的资源设备等等一系列因
Wesley13 Wesley13
3年前
BIO、NIO、AIO 介绍和适用场景分析
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、同步阻塞的BIO在JDK1.4之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个serverSocket,然后在客户端启动socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否
Wesley13 Wesley13
3年前
mysql事务和事务隔离机制
阅读文本大概需要3分钟。http://arthornye.github.io/2018/mysql/mysql%E4%BA%8B%E5%8A%A1%E5%92%8C%E4%BA%8B%E5%8A%A1%E9%9A%94%E7%A6%BB%E6%9C%BA%E5%88%B6在学习mysql的事务隔离机制的过程中,对mysql的会话和事务的概念有点模糊不
Wesley13 Wesley13
3年前
2020年1
前言2020年一半儿快要过去了,总结了上半年各类Java面试题,初中级和中高级都有,包括JavaOOP面试题、Java集合/泛型面试题、Java异常面试题、Java种的IO与NIO面试题、Java反射面试题、Java序列化面试题、Java注解面试题、多线程与并发面试题、JVM面试题、MySQL面试题、Redis面试题、Memcached面试题、Mo
Easter79 Easter79
3年前
Swoole2.0内置协程并发测试
Swoole2.0是一个革命性的版本,它内置了协程的支持。与Go语言协程不同,Swoole协程完全不需要开发者添加任何额外的关键词,直接以过去最传统的同步阻塞模式编写代码,底层自动进行协程调度实现异步IO。使并发编程变得非常简单。最新的版本中,内置协程已支持PHP7,同时兼具了性能和并发能力,Swoole的强大超乎想象。本文基于Github最新的Sw
Easter79 Easter79
3年前
Spring的IOC逐层深入——源码解析之IoC的根本BeanFactory(五)
什么是IoC    IoC容器,最主要的就是完成对象的创建以及维护对象的依赖关系等。    所谓控制反转,包括两部分:一是控制,二是反转,就是把传统方式需要由代码来实现对象的创建、维护对象的依赖关系,反转给容器来帮忙管理和实现。所以我们必须要创建一个容器,同时需要一种描述来让容器创建对象与对象的关系。    Io
Stella981 Stella981
3年前
FunTester测试框架架构图初探
春节假期响应号召原地过年,抽空看了看一些优秀的工具,选择了一两个进行了更深入的使用,其中一个很重要的就是draw.io画图工具,之前用的是网页版的,现在用的Macdesktop版本。顺便说一句,现在这个工具的网页版有了新名字,叫diagrams.net,但是桌面版用的还是老名字,目前好像没有中文名,团队起名字就是域名,也挺有意思。