【技术探秘】深度解析对象在 JVM 中的创建过程!
01、背景介绍
在之前的文章中,我们介绍了类加载的过程和 JVM 内存布局相关的知识。本篇我们综合之前的知识,结合代码一起推演一下对象的真实创建过程,以及对象…
【技术探秘】一文读懂类的加载过程及双亲委派设计
01、背景介绍
我们知道 Java 是先通过编译器将.java类文件转成.class字节码文件,然后再通过虚拟机将.class字节码文件加载到内存中来实现应用…
【技术探秘】图解 JVM 内存模型,超硬核!
01、背景介绍
熟悉 Java 语言特性的同学都知道,相比 C、C++ 等编程语言,Java 无需通过手动方式回收内存,内存中所有的对象都可以交给 Java …
神奇的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 文件的导入和导出等。
今天通过这篇文章,我们一起来学习一下如…
推荐几款常用的 JVM 调优工具,最后一个特别好用!
对于绝大部分开发者而言,都希望有一个可视化的界面来展示当前服务的性能指标,当需要的时候,直接将线上服务的 dump 文件导出,然后导入到相关工具中通过界面来查询…
Long 类型数据回传给前端,从17位开始居然都是0?
01、问题描述
最近在改造业务系统的时候,发现了一个巨坑,前端 JS 在获取后端 Long 型参数时,出现精度丢失!
起初,用 postman 模拟接口请求,…
SpringBoot整合Redis实现数据分布式缓存,实战分享!
01、背景介绍
在当前流行的微服务以及分布式集群环境下,Redis 的使用场景可以说非常的广泛,能解决集群环境下系统中遇到的不少技术问题,在此列举几个使用 r…
3分钟带你看懂 GC 日志!
01、背景介绍
如何分析当前虚拟机性能呢?其中 GC 日志起到至关重要的作用。
实际上,每种垃圾收集器都有它独立的日志格式,尽管如此,虚拟机为了方便用户阅读,…