深入解析 Java 反射实现机制

01、什么是反射?
反射 (Reflection) 是 Java 的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。

实战运用模版方法+工厂方法+策略模式打造一套高扩展性的履约系统收单业务

在电商的业务中履约系统、支付系统往往都需要接好几个渠道的业务,如履约系统接收订单的时候,就要区分是充值订单、普通的履约单订单、普通的拆分商品的履约订单等等,不同…

盘点 Spring Boot 解决跨域请求的几种办法,超实用

熟悉 web 系统开发的同学,对下面这样的错误应该不会太陌生。

之所以会出现这个错误,是因为浏览器出于安全的考虑,采用同源策略的控制,防止当前站点恶意攻击 w…

为什么都喜欢采用 Spring Boot 来开发软件系统?

熟悉企业级开发框架的同学,对 SpringBoot 可能并不陌生,它是一款非常优秀的开箱即用的开发框架,开发者可以使用它来快速的构建一个可独立运行的 Java …

SpringBoot 注解最全详解,建议收藏!

01、背景介绍
基于 SpringBoot 平台开发的项目数不胜数,与常规的基于Spring开发的项目最大的不同之处,SpringBoot 里面提供了大量的注…

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开…

手把手带你开发一套用户权限系统,精确到按钮级

在实际的软件项目开发过程中,用户权限控制可以说是所有运营系统中必不可少的一个重点功能,根据业务的复杂度,设计的时候可深可浅,但无论怎么变化,设计的思路基本都是围…

两分钟了解ElasticSearch的索引重建

q
在5.x版本之后ElasticSearch新增了索引重建功能,可以直接在ES集群里面对数据进行重建并且支持跨集群间的数据迁移。
1、什么是索引重建
在保证数…

图解IO多路复用的原理

IO多路复用我们经常可以听到的名词,那么什么是IO多路复用呢?下面我们用图解的方式来分析什么是IO多路复用。
1、文件描述符
在我们日常的开发中无论是磁盘、网络…

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…