前言目前大部分互联网架构 Cache 已经成为了必可不少的一环。常用的方案有大家熟知的 NoSQL 数据库(Redis、Memcached),也有大量的进程内缓存比如 EhCache 、Guava Cache、Caffeine 等。 本系列文章会选取本地缓存和分布式缓存(NoSQL)的优秀框架比较他们各自的优缺点、应用场景、项目中的最佳实践以及原理分析。本文主要针对本地 Cache 的老大哥 Guava Cache 进行介绍和分析。 基本用法Guava Cache 通过简单好用的 Clie...

Read More

SpringFu 启动流程

整个项目的启动是通过 Jafu.webApplication().run() 完成的,与 SpringBoot 的 SpringApplication.run(SpringfuDemoApplication.class, args) 有异曲同工之妙。那么核心点就是 webApplication() 和 run() 方法。 通过 JaFu 的成员结构和注释我们能看出来,他其实是一个客户端类或者说工厂类。 [JaFu 成员结构] 其实这个写法在日常代码中也是有大量应用场景的,比如我们封装...

Read More

用函数写 Bean 你见过么

​ 函数是很多编程语言中的一等公民,并且在近些年提的很火的 函数式变成 以及 Serverless 都是通过函数来表达,每个函数提供一个单一功能的服务。他们相互作用,相互引用组装出复杂的功能。当云计算重构整个 IT 产业的同时, 也赋予了企业崭新的增长机遇。正如集装箱的出现加速了贸易全球化进程,以容器为代表的云原生技术作为云计算的服务新界面加速云计算也推动着软件架构向云原生演进。在当下处处都在呼吁 云原生 和 反应式架构的大背景下, Java 以及他的好搭档 Spring 又在做出怎...

Read More

揭秘 Tomcat - 启动

前言tomcat 对于每一个 Java 工程师都是一个既熟悉又神秘的黑盒,什么 web 容器,什么三大组件,什么web.xml ….. 这些令人迷惑的问题都会在 《揭秘 Tomcat》系列文章中掰扯的清清楚楚。 从启动说起启动 tomcat 非常简单 , ./startup.sh 一行命令,起飞 ~ 打开这个 shell 脚本我们发现最终启动了一个 Java 的 main 方法,也就是整个tomcat 的入口 org.apache.catalina.startup.Boostrap ...

Read More

SpringBoot 启动加速

前言在 2021 年这个小学作文中的未来年份,没有想象中的汽车满天飞,也没有实现机器人满地跑。但牛逼的是我们都有一个共识: 知乎达到了人均 “谢邀~ 人在美国刚下飞机”的生活水平,虎扑的人均收入也在 30W+ ,还有就是程序员都人均精通 SpringBoot ,哪怕和算法聊技术一言不合就满嘴 SpringCould 分布式、微服务,然而实际操作可能是 分步试 、伪服务 … 你一个小小系统开这么多应用启动不难受?(不难受因为可以装 13) SpringBoot 这启动速度也确实令人捉急,...

Read More

Kafka 探险 - 源码环境搭建

这个 Kafka 的专题,我会从系统整体架构,设计到代码落地。和大家一起杠源码,学技巧,涨知识。希望大家持续关注一起见证成长! 我相信:技术的道路,十年如一日!十年磨一剑! 前言在阅读源码之前,首先要做的就是搭建一套源码调试环境,这是最基本的一步,不要觉得麻烦或者简单就不去做,也许你会像我一样搭源码的过程中得到一些教训和经验。同时在后面阅读源码的过程中,很多看不懂的地方 debug 一下也许就明朗了。 记录了搭建 Kafka 源码环境的简单过程,为大家提供一个步骤参考,同时记录搭建环境...

Read More

Mybatis 常用标签

trim这个标签的作用就是帮你给标签的内容的头部或者尾部 删除 或者 添加 特定字符。 举个例子: 我们的 where 下面经常会有各种条件,假如这些条件我们一个都不传那么我们就应该删除这个 where ,也或者说如果标签里面的内容不为空的话那么就给我们加上 where 123<trim prefix="WHERE" prefixOverrides="AND |OR "> ...</trim> 这段的意思就是: 如果 ...

Read More

Kafka 探险 - 架构简介

这个 Kafka 的专题,我会从系统整体架构,设计到代码落地。和大家一起杠源码,学技巧,涨知识。希望大家持续关注一起见证成长! 我相信:技术的道路,十年如一日!十年磨一剑! 简介Kafka 是一种分布式的,基于发布 / 订阅的消息系统。最初被 LinkedIn 开发,并在 2011 年初开源,2012 年 10 月从 Apache 孵化器破壳而出,成为 Apache 的顶级项目。 Kafka 最初被设计的目的是 LinkedIn 流量和运维数据分析。流量数据包含 PV (Page Vi...

Read More

Kafka 探险 - 生产者源码分析:核心组件

这个 Kafka 的专题,我会从系统整体架构,设计到代码落地。和大家一起杠源码,学技巧,涨知识。希望大家持续关注一起见证成长! 我相信:技术的道路,十年如一日!十年磨一剑! 往期文章Kafka 探险 - 架构简介 Kafka 探险 - 源码环境搭建 前言我们说 Kafka 是一个消息队列,其实更加确切的说:是 Broker 这个核心部件。为何这么说?你会发现我们可以通过控制台、 Java 代码、 C++ 代码、甚至是 Socket 向 Broker 写入消息,只要我们遵从了 Kafka...

Read More


Powered by Hexo and Hexo-theme-hiker

Copyright © 2015 - 2025 昨夜凛雨 All Rights Reserved.

UV : | PV :