SpringBoot 整合 Kafka 实现千万级数据异步处理,实战讲解!
一、介绍
在上篇文章中,我们详细的介绍了 kafka 的架构模型,在集群环境中,kafka 可以通过设置分区数来加快数据的消费速度。
光知道理论还不行,我们得…
SpringBoot整合文档解析神器Apache Tika
Apache tika是Apache开源的一个文档解析工具,它可以解析和提取一千多种不同的文件类型(如PPT、XLS和PDF)的内容和和元数据,对于图片、视频只…
Java 多线程并行计算框架:ForkJoin,实战讲解!
一、摘要
从 JDK 1.7 开始,引入了一种新的 Fork/Join 线程池框架,它可以把一个大任务拆成多个小任务并行执行,最后汇总执行结果。
比如当前要计…
SpringBoot + Sharding Sphere:轻松搞定数据加解密,支持字段级!
01、故事背景
在实际的软件系统开发过程中,由于业务的需求,在代码层面实现数据的脱敏还是远远不够的,往往还需要在数据库层面针对某些关键性的敏感信息,例如:身份…
巧妙利用 SpringBoot 责任链模式,让编程事半功倍!
一、什么是责任链模式?
责任链模式(Chain of Responsibility Pattern),顾名思义,为请求者和接受者之间创建一条对象处理链路,避免…
3分钟带你秒懂CAS实现机制
一、背景介绍
在 Java 的java.util.concurrent包中,除了提供底层锁、并发同步等工具类以外,还提供了一组原子操作类,大多以Atomic开…
as-if-serial语义和happens-before原则
1、重排序
为了提高程序的执行性能,编译器(如JVM在编译Java代码)和处理器(如CPU在执行JVM字节码)常常会对指令做成重排序。
在Java中重排序有以下…
深度剖析 AQS 设计原理,内容相当硬核!
一、背景介绍
在之前的文章中,我们介绍了 ReentrantLock、ReadWriteLock、CountDownLatch、CyclicBarrier、S…
手撕一个简易版的SpringMVC框架,yyds!
在商业网站开发中,Spring MVC 可以说是目前最流行的框架,之所以如此的流行,原因很简单:编程简洁、上手简单!
记得刚开始入行的时候,最先接触到的是Str…
如何实现在用户无感的情况下修复线上问题
我们经常会遇到一些线上需要及时修复的问题,但是如何在用户无感知的情况下悄悄的修复线上问题呢?今天聊一聊一些常见的在用户无感的情况下发布线上系统的方案。
1、Ng…
在 golang 中执行 javascript 代码的方案详解
在 Golang 中执行 JavaScript 代码可以通过几种不同的方式来实现。通常,这些方法包括使用外部 JavaScript 引擎或通过调用 JavaS…
深入解析线程的等待与唤醒机制,硬核干货!
01、背景介绍
在之前的线程文章中,我们介绍了synchronized和volatile关键字,使用它能解决线程同步的问题,但是它们无法解决线程之间协调和通信…
项目中的BO、DTO、VO、PO如何区分以及规范的使用
我们在日常开发中经常会看到各种的以‘O’结尾的类,那么这些类代表什么含义呢,我们如何规范的使用这些类呢?今天我们就来聊一聊这个话题。
1、区分BO、DTO、VO…
聊一聊比synchronized更强大的同步锁:ReentrantLock
01、背景介绍
采用synchronized进行加锁,这种锁一般都比较重,里面的实现机制也非常复杂,同时获取锁时必须一直等待,没有额外的尝试机制,如果编程不当…
StampedLock,一种比读写锁更快的锁!
01、背景介绍
在上一篇文章中,我们讲到了使用ReadWriteLock可以解决多线程同时读,但只有一个线程能写的问题。
如果继续深入的分析ReadWrite…
真不是我吹,SpringBoot 里这款牛逼的网络工具库,我估计你没用过!
01、背景介绍
现如今的 IT 项目,由服务端向外发起网络请求的场景,基本上处处可见!
传统情况下,在服务端代码里访问 http 服务时,我们一般会使用 JD…
SpringBoot+mail 轻松实现各类邮件自动推送
在实际的项目开发过程中,经常需要用到邮件通知功能。例如,通过邮箱注册,邮箱找回密码,邮箱推送报表等等,实际的应用场景非常的多。
早期的时候,为了能实现邮件的自动…
