基于Spring Cache实现Caffeine、jimDB多级缓存实战
在早期参与涅槃氛围标签中台项目中,前台要求接口性能999要求50ms以下,通过设计Caffeine、ehcache堆外缓存、jimDB三级缓存,利用内存、堆外、jimDB缓存不同的特性提升接口性能,内存缓存采用Caffeine缓存,利用WTinyLFU算法获得更高的内存命中率;同时利用堆外缓存降低内存缓存大小,减少GC频率,同时也减少了网络IO带来的性能消耗;利用JimDB提升接口高可用、高并发;后期通过压测及性能调优999性能<20ms
Wesley13 Wesley13
3年前
java多线程大汇总,线程与进程,线程调度,并发与并行,创建线程方式,线程生命周期,线程安全,线程通信,线程池
1.线程与进程进程是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间线程1、是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行.一个进程最少有一个线程2、线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又可以划分成若干个线程
Easter79 Easter79
3年前
sql中join的理解
前言为什么会突然写这个blog呢?因为之前有只青蛙小姐姐问我,能不能教她join,当时上大学老师怎么教她也不会。然后本来想面对面交流给她说明,后面阴错阳差,就延误到了现在。所以我想,我可以提前准备好我想说的东西,记录下来,顺便自己也回忆下join(ps:为什么我需要回忆?因为之前的公司都是面向互联网的、高并发的业务,用join的话,很容易导致数
Stella981 Stella981
3年前
Dubbo 学习
Dubbo概念:  Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求。Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务
Stella981 Stella981
3年前
Python程序中的进程操作
\TOC\之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了,运行中的程序就是一个进程。所有的进程都是通过它的父进程来创建的。因此,运行起来的python程序也是一个进程,那么我们也可以在程序中再创建进程。多个进程可以实现并发效果,也就是说,当我们的程序中存在多个进程的时候,在某些时候,就会让程序的执行速度变快
Wesley13 Wesley13
3年前
Java中所有锁介绍
在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:1.公平锁/非公平锁2.可重入锁/不可重入锁3.独享锁/共享锁4.互斥锁/读写锁5.乐观锁/悲观锁6.分段锁7.偏向锁/轻量级锁/重量级锁8.自旋锁上面是很多锁的名词,这些分类并不是全是指锁的
可莉 可莉
3年前
2020年末面试总结,史上最全名企Java程序员高频面试知识点解析笔记
就目前大环境来看,跳槽成功的难度比往年高很多。总结一下2020面试的感受:无论一面还是二面,都很考验Java程序员的技术功底!!最近我整理了一份复习用的面试题及面试高频的考点题及技术点梳理成一份“Java程序员高频面试解析及知识点体系笔记.pdf(实际上比预期多花了不少精力),包含集合,JVM,并发编程、Spring,MyBatis,微服务,Redi
Stella981 Stella981
3年前
PHP 获取自增长字段数值 (MySQL的last_insert_id())
  最近和朋友打算搞个网站,试水阶段不想投入太多资金,同时要有现成的开源代码可参考,所以PHP是首选了,一个虚拟主机一年才400块,1G空间还和MySQL共享空间,真便宜啊~~~  以前一直用.net开发,习惯了强类型语言的严谨,突然使用动态的PHP,还有些不太适应,言归正传吧。  电商网站最核心的订单的处理,如何在大并发时候产生连续的订
Stella981 Stella981
3年前
2020年末面试总结,史上最全名企Java程序员高频面试知识点解析笔记
就目前大环境来看,跳槽成功的难度比往年高很多。总结一下2020面试的感受:无论一面还是二面,都很考验Java程序员的技术功底!!最近我整理了一份复习用的面试题及面试高频的考点题及技术点梳理成一份“Java程序员高频面试解析及知识点体系笔记.pdf(实际上比预期多花了不少精力),包含集合,JVM,并发编程、Spring,MyBatis,微服务,Redi