
【技术探秘】深度解析对象在 JVM 中的创建过程!
01、背景介绍
在之前的文章中,我们介绍了类加载的过程和 JVM 内存布局相关的知识。本篇我们综合之前的知识,结合代码一起推演一下对象的真实创建过程,以及对象…

【技术探秘】一文读懂类的加载过程及双亲委派设计
01、背景介绍
我们知道 Java 是先通过编译器将.java类文件转成.class字节码文件,然后再通过虚拟机将.class字节码文件加载到内存中来实现应用…

【技术探秘】图解 JVM 内存模型,超硬核!
01、背景介绍
熟悉 Java 语言特性的同学都知道,相比 C、C++ 等编程语言,Java 无需通过手动方式回收内存,内存中所有的对象都可以交给 Java …

一文带你吃透 RabbitMQ 的高可用架构
01、背景介绍
在前几篇文章中,我们详细的介绍了 RabbitMQ 的内部架构和使用操作,以及 SpringBoot 整合 RabbitMQ 实现流量消峰的实践…

神奇的SpringBoot事务钩子函数
在Spring Boot中提供了@Transactional注解来声明一个方法需要在事务环境中运行。当这个方法被调用时,Spring会自动开启一个事务,并在方法…

深入java 分析 volatile 关键字的用法和实现原理,硬核干货!
01、背景介绍
在上篇浅析 synchronized 的用法文章中,我们介绍到在多线程环境下,如果编程不当,可能会出现程序运行结果混乱的问题。
出现这个原因主…

为什么大家都说 ThreadLocal 存在内存泄漏的风险?
01、背景介绍
在 Java web 项目中,想必很多的同学对ThreadLocal这个类并不陌生,它最常用的应用场景就是用来做对象的跨层传递,避免多次传递,…

浅谈 Synchronized 的几种用法,超多干货!
01、背景介绍
说到并发编程,总绕不开线程安全的问题。
实际上,在多线程环境中,难免会出现多个线程对一个对象的实例变量进行同时访问和操作,如果编程处理不当,会…

太优雅了,责任链模式在项目中的实战应用
现实生活中铁链,它由一个个铁环首尾相接构成一条完成的链子,如下图所示:
类比到责任链模式中,铁链中的每个节点可以看成责任链模式中的每个对象,然后每个对象负责处…

SpringBoot中如何创建一个自定义的starter
在springboot中,我们经常可以看到一些如xxx-starter-xxx的maven坐标,典型是spring-boot-starter-web。Sprin…

SpringBoot 整合 apache fileupload 轻松实现文件上传与下载(通用版)
01、背景介绍
在上篇文章中,我们介绍在 Spring Boot 中利用 MultipartFile 对象实现文件上传的案例。
其实在 Java Web 项目…

SpringBoot 整合 MultipartFile 轻松实现文件上传与下载
01、背景介绍
文件上传与下载是 Web 系统中最常见的应用功能,比如用户头像的上传、Excel 文件的导入和导出等。
今天通过这篇文章,我们一起来学习一下如…
SpringBoot 整合 RabbitMQ 轻松实现流量消峰
01、背景介绍
在上篇文章中,我们详细的介绍了 RabbitMQ 的内部架构以及使用操作,本篇我们一起来实操一下SpringBoot整合RabbitMQ,为后…

推荐几款常用的 JVM 调优工具,最后一个特别好用!
对于绝大部分开发者而言,都希望有一个可视化的界面来展示当前服务的性能指标,当需要的时候,直接将线上服务的 dump 文件导出,然后导入到相关工具中通过界面来查询…

Long 类型数据回传给前端,从17位开始居然都是0?
01、问题描述
最近在改造业务系统的时候,发现了一个巨坑,前端 JS 在获取后端 Long 型参数时,出现精度丢失!
起初,用 postman 模拟接口请求,…
SpringBoot整合Redis实现数据分布式缓存,实战分享!
01、背景介绍
在当前流行的微服务以及分布式集群环境下,Redis 的使用场景可以说非常的广泛,能解决集群环境下系统中遇到的不少技术问题,在此列举几个使用 r…