最新文章
-
常用的后端性能优化六种方式:缓存化+服务化+异步化等
后端优化的六种方法: 1.硬件升级 硬件问题对性能的影响不容忽视。 举一个例子:一个DB集群经常有慢SQL报警,业务排查下来发现SQL都很简单,该做的索引优化也都做了。后来DBA同学帮忙定位到问题是硬件过旧导致,将机械硬盘升级成固态硬盘之后报警立马消失了,效果立竿见影! 2.缓存化 缓存可以称的上是性能优化的利器,使用缓存时需要考虑缓存命中率、缓存更新、数据一致性、缓存穿透及雪崩、Value过大等…... -
史上最强多线程面试44题和答案:线程锁+线程池+线程同步等
1、并发编程三要素? 1)原子性 原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。 2)可见性 可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修改后,其他线程可以立即看到修改的结果。 实现可见性的方法: synchronized或者Lock:保证同一个时刻只有一个线程获取锁执行代码,锁释放之前把最新的值刷新到主内存,实现可见性。…... -
Redis的内存回收原理,及内存过期淘汰策略详解
Redis内存回收机制 Redis的内存回收主要围绕以下两个方面: 1.Redis过期策略:删除过期时间的key值 2.Redis淘汰策略:内存使用到达maxmemory上限时触发内存淘汰数据 Redis的过期策略和内存淘汰策略不是一件事,实际研发中不要弄混淆了,下面会完整的介绍两者。 Redis过期策略 过期策略通常有以下三种: 1.定时过期 每个设置过期时间的key都需要创建一个定时器,到过期…... -
19本高并发编程书籍推荐
Java并发编程实战 (java并发的圣经) 多处理器编程的艺术 (并发编程的各种算法,java实现,有点难度) 并发的艺术 (多核处理器的共享内存模型中的各种算法) Java虚拟机并发编程 (jvm平台上各种语言的并发比较,如java,scala,clojure) Java并发编程的艺术 Java 7并发编程实战手册 (java中的并发编程实践,属于API工具书,指南) Java多线程编程实战指…... -
NIO、BIO、AIO的区别,及NIO的应用和框架选型
谈到并发编程就不得不提到NIO,以及相关的Java NIO框架Netty等,并且在很多面试中也经常提到NIO和AIO、同步和异步、阻塞和非阻塞等的区别。我先简短介绍下几个NIO相关的概念,然后再谈NIO重点掌握内容,以及Java NIO框架选型。 AIO、BIO、NIO的区别 IO模型主要分类: 同步(synchronous) IO和异步(asynchronous) IO 阻塞(blockin…...













