源码之路

LV1
发表了文章

「Mysql优化大师三」查询执行计划explain详解,含案例

select查询的序列号,包含一组数字,表示查询中执行select子句或者操作表的顺序 id号分为三种情况: 1、如果id相同,那么执行顺序从上到下 2、...

源码之路
发表了文章

「Mysql优化大师一」mysql服务性能剖析工具

方法一: 全局变量设置,将 slow_query_log 全局变量设置为“ON”状态 mysql> set global slow_query_log='O...

源码之路
发表了文章

Callable/Future 使用及原理分析,Future .get()为啥能等待呢?

Callable/Future 和 Thread 之类的线程构建最大的区别在于,能够很方便的获取线程执行完以后的结果。首先来看一个简单的例子

源码之路
发表了文章

线程池ThreadPoolExecutor 源码分析,面试官也就那么回事,他怎么敢!

在 Java 中,如果每个请求到达就创建一个新线程, 创建和销毁线程花费的时间和消耗的系统资源都相当大,甚至可能要比在处理实际的用户请求的时间和资源要多的多。

源码之路
发表了文章

逐行阅读Spring5.X源码(十三)spring事务源码分析

spring并不直接管理事务,而是提供了多种事务管理器,他们将事务的管理职责委托给Hibernate或JTA等持久化机制所提供的相关平台框架的事务来实现。通过这...

源码之路
发表了文章

逐行阅读Spring5.X源码(十二)AOP源码分析,难!面试官都不一定懂!

警告:阅读此文前务必先阅读之前写的《spring如何解决循环引用》,本篇文章高度依赖循环引用。

源码之路
发表了文章

Redis入坟(八)内存管理与优化,面试必考

本篇内容包括 1. 内存消耗分析 2. 管理内存的原理与方法 3. 内存优化技巧

源码之路
发表了文章

Java程序员必须知道的常用序列化技术及选型,Protobuf 原理详解

基于 socket 进行对象传输 先举个简单的例子,基于我们前面几次课程的只是,写一个 socket 通信的代码

源码之路
发表了文章

Redis入坟(五)持久化

Redis 速度快,很大一部分原因是因为它所有的数据都存储在内存中。如果断电或者宕机,都会导致内存中的数据丢失。为了实现重启后数据不丢失,Redis 提供了两种...

源码之路
发表了文章

Redis入坟(四)Redis内存回收知多少

Reids 所有的数据都是存储在内存中的,在某些情况下需要对占用的内存空间进行回收。内存回收主要分为两类,一类是 key 过期,一类是内存使用达到上限(max_...

源码之路
发表了文章

Redis入坟(番外篇)配置文件redis.conf,解析每个参数的含义

源码之路
发表了文章

Redis入坟(三)Redis为什么这么快?

不是白白浪费了 CPU 的资源吗? 官方解释说,因为单线程已经够用了,CPU 不是 redis 的瓶颈。Redis 的瓶颈最有可能是机器内存或者网络带宽。既然...

源码之路
发表了文章

Redis入坟(二)高级特性,发布订阅、事务、Lua脚本

前面我们说通过队列的 rpush 和 lpop 可以实现消息队列(队尾进队头出),但是消费者需要不停地调用 lpop 查看 List 中是否有等待处理的消息(比...

源码之路
发表了文章

Redis入坟(一)redis的前世今生、redis基础及存储结构源码讲解

08 年的时候有一个意大利西西里岛的小伙子,笔名 antirez,创建了一个访客信息网站 LLOOGG.COM。有的时候我们需要知道网站的访问情况,比如访客的 ...

源码之路
发表了文章

Redis入坟(六)分布式集群,概念、原理、实操

可用性、数据安全、性能都可以通过搭建多个 Reids 服务实现。其中有一个是主节点(master),可以有多个从节点(slave)。主从之间通过数据同步,存储完...

源码之路
发表了文章

java当中的线程和操作系统的线程是什么关系?

根据man配置的信息可以得出pthread_create会创建一个线程,这个函数是linux系统的函数,可以用C或者C++直接调用,上面信息也告诉程序员这个函数...

源码之路
发表了文章

逐行阅读Spring5.X源码(十一)AOP概念、应用、原理

与OOP对比,面向切面,传统的OOP开发中的代码逻辑是自上而下的,而这些过程会产生一些横切性问题,这些横切性的问题和我们的主业务逻辑关系不大,这些横切性问题不会...

源码之路
发表了文章

逐行阅读Spring5.X源码(十)spring如何解决循环引用,bean实例化过程源码详解

bean的实例化是在refresh()——>finishBeanFactoryInitialization(beanFactory);方法里完成的。当然,只能实...

源码之路
发表了文章

逐行阅读Spring5.X源码(九)spring利用CGLIB实现动态代理原理剖析

CGLIB(Code Generator Library)是一个强大的、高性能的代码生成库。其被广泛应用于AOP框架(Spring、dynaop)中,用以提供方...

源码之路
发表了文章

「kafka」kafka-clients,java编写消费者客户端及原理剖析

每个消费者对应一个消费组,当消息发布到主题后,只会被投递给订阅它的每个消费组中的一个消费者。如下图所示:

源码之路

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券