深入解析 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、什么是索引重建
在保证数…
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…
