别再纠结 select 和 poll 了!epoll 才是 I/O 复用的顶流担当!
大家好,我是小康。
前言:
见过 select 和 poll,是时候见识下 epoll 的威力了!
还记得咱们之前聊的 select 和 poll 吗?每…
从头到脚: 跟踪内核态包接收到用户态的数据读取完整流程
编写网络真实一个有趣并且枯燥的体验。当你看到另外一台机器发送过来的消息,或者你发送另外一台机器的消息被正确接收,你总是会非常的开心。如果你还没有编写过网络程序,…
开发人员眼中的127.0.0.1和0.0.0.0——到底有什么区别
127.0.0.1和0.0.0.0在我们日常开发的中还是比较常见的两个伙伴,当我们做本地微服务接口测试的时候,经常使用 127.0.0.1来访问本地的服务接口;…
【技术探秘】一文读懂类的加载过程及双亲委派设计
01、背景介绍
我们知道 Java 是先通过编译器将.java类文件转成.class字节码文件,然后再通过虚拟机将.class字节码文件加载到内存中来实现应用…
3分钟理清QPS、TPS、RT、吞吐量以及它们直接的关系
在我们业务开发或者面试的过程中,经常会遇到QPS、TPS、RT、吞吐量这些概念,今天我们就来聊一聊这些概念的所代表的含义。
1、QPS
QPS是每秒的查询率,它…
从架构层面上理解一条sql的执行流程
Mysql是我们经常使用的存储工具,我们有没有想过一条select语句是如何执行的呢?今天我们从架构层面上来看看select的执行流程。
1、Mysql的架构
…
一文带你吃透 RabbitMQ 的高可用架构
01、背景介绍
在前几篇文章中,我们详细的介绍了 RabbitMQ 的内部架构和使用操作,以及 SpringBoot 整合 RabbitMQ 实现流量消峰的实践…
神奇的SpringBoot事务钩子函数
在Spring Boot中提供了@Transactional注解来声明一个方法需要在事务环境中运行。当这个方法被调用时,Spring会自动开启一个事务,并在方法…
为什么大家都说 ThreadLocal 存在内存泄漏的风险?
01、背景介绍
在 Java web 项目中,想必很多的同学对ThreadLocal这个类并不陌生,它最常用的应用场景就是用来做对象的跨层传递,避免多次传递,…
浅谈 Synchronized 的几种用法,超多干货!
01、背景介绍
说到并发编程,总绕不开线程安全的问题。
实际上,在多线程环境中,难免会出现多个线程对一个对象的实例变量进行同时访问和操作,如果编程处理不当,会…
SpringBoot 整合 apache fileupload 轻松实现文件上传与下载(通用版)
01、背景介绍
在上篇文章中,我们介绍在 Spring Boot 中利用 MultipartFile 对象实现文件上传的案例。
其实在 Java Web 项目…
SpringBoot 整合 MultipartFile 轻松实现文件上传与下载
01、背景介绍
文件上传与下载是 Web 系统中最常见的应用功能,比如用户头像的上传、Excel 文件的导入和导出等。
今天通过这篇文章,我们一起来学习一下如…
缓存穿透、击穿和雪崩,到底啥意思?
一 、背景介绍
每场后端面试,似乎都少不了关于 redis 的话题,比如项目使用过哪些分布式缓存服务,为什么要使用 redis,有没有碰到过缓存失效、缓存穿透…
SpringBoot 整合 RabbitMQ 轻松实现流量消峰
01、背景介绍
在上篇文章中,我们详细的介绍了 RabbitMQ 的内部架构以及使用操作,本篇我们一起来实操一下SpringBoot整合RabbitMQ,为后…
面试题:说说看你对数据库事务和ACID的理解?并发事务可能会产生哪些问题,该如何解决?什么是快照读和MVCC,解决了什么问题?
面试题概览:
什么是数据库的事务,说说你对事务特性的理解;
说说看Mysql是如何实现原子性的;
Mysql的Inno…
