大文件秒传、断点续传和分片上传

在日常业务中经常会遇到上传大文件的需求(如上传一部3G大小的高清电影资源),如果大文件资源上传不做特殊处理而直接使用小文件上传的方式上传到服务,可能会出现如网络…

Java对象都是堆上分配?看完Java中对象逃逸分析就知道答案了

随着JIT编译期的发展与逃逸分析技术逐渐成熟,所有的对象都分配到堆上也渐渐变得不是一定的。在编译期间JIT会对代码做很多优化,其中有一部分优化是减少内存堆分配压…

3分钟理清Java对象头里面的那些杂事

对象头是一个对象用于保存自身状态的区域,在HotSpot虚拟机中,对象在堆内存中存储的布局可以划分为三个部分:对象头(Header)、实例数据(Instance…

从运行的角度理解Java反射的原理

通过Java的发射机制可以实现一些高级的功能,比如动态生成代理对象、动态生成类、动态配置对象等。在Java的一些框架(如Spring框架)也广泛应用了发射机制,…

ThreadLocal的那些杂事

我们都知道多个线程需要对一个共享变量进行修改操作的时候容易出现数据安全问题,如下如所示线程操作共享变量的图:

为了保证线程安全,一般使用者在访问共享变量的时候…

线上JVM OOM问题,如何排查和解决?

JVM(Java虚拟机)中的内存不足错误(Out of Memory Error, OOM)是许多Java开发者在生产环境中遇到的常见问题。这个问题可能出现在不…

Java 日志组件@Slf4j 介绍及配置详解

1 基本介绍
每一个Java程序员都知道日志对于任何一个Java应用程序尤其是服务端程序是至关重要的,而很多程序员也已经熟悉各种不同的日志库,如java.uti…

一文带你彻底弄懂线程池设计机制

01、背景介绍
虽然 Java 对线程的创建、中断、等待、通知、销毁、同步等功能提供了很多的支持,但是从操作系统角度来说,频繁的创建线程和销毁线程,其实是需要…

ThreadLocal 实践与源码解析 ——Java

ThreadLocal 实践与源码解析
refer author: 写代码的SharkChili
写在文章开头
在多线程编程中,共享资源的管理和同步一直是开发人…

从零开始掌握 JVM

写在文章开头
在当今的软件开发领域,Java 语言及其运行环境——Java 虚拟机(JVM)占据了举足轻重的地位。无论是企业级应用、Web 应用还是移动应用,J…

Java系列 | MJDK 如何实现压缩速率的 5 倍提升?

MJDK 是基于 OpenJDK 构建的美团 JDK 发行版。本文主要介绍 MJDK 是如何在保障 java.util.zip.* API 及压缩格式兼容性的前…

【原创】Springboot 最全的注解总结,看这一篇就够了

Spring Boot常用详解
Spring Boot是一个用于创建独立的、基于Spring的应用程序的框架。它提供了许多注解,用于简化开发过程并提供各种功能…

Java线程池教程

什么是线程池
Java线程池是一种用于优化线程管理的技术,它可以在应用程序启动时预先创建一组线程并保存在内存中,以避免频繁地创建和销毁线程。线程池通过提供一个控…

Java 并发队列全介绍

前言
如果按照用途与特性进行粗略的划分,JUC 包中包含的工具大体可以分为 6 类:

执行者与线程池
并发队列
同步工具
并发集合

原子变量
在【并发系列…

最详细的Java Netty原理架构解析


本文基于 Netty 4.1 展开介绍相关理论模型,使用场景,基本组件、整体架构,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目方面提供参考。

Java Springboot 启动原理详细分析

我们开发任何一个Spring Boot项目,都会用到如下的启动类
@SpringBootApplication
public class Applicat…

Maven全面详解——概念、使用方法、进阶

1. Maven简介
为什么使用mava?
为什么要使用 Maven**?它能帮助我们解决什么问题?**
①**添加第三方 jar 包**:
在今天的 Java…

图文详解:Java 垃圾回收机制和调优方法

1、如何判断对象可以回收
1.1 引用计数法
每个对象有一个引用计数器,当对象被引用一次则计数器加1,当对象引用失效一次则计数器减1,对于计数器为0的对象意味着…

美团RASP大规模研发部署实践总结

背景
RASP是Runtime Application Self-Protection(运行时应用自我保护)的缩写,是一种应用程序安全技术。RASP 技术能够在…

Springboot扩展点之DisposableBean

原文 by :凡夫编程
前言
DisposableBean,是在Spring容器关闭的时候预留的一个扩展点,从业务开发的角度来看,基本上是用不到的,但是Spri…