Java 多线程并行计算框架:ForkJoin,实战讲解!

一、摘要

从 JDK 1.7 开始,引入了一种新的 Fork/Join 线程池框架,它可以把一个大任务拆成多个小任务并行执行,最后汇总执行结果。
比如当前要计…

深度剖析 AQS 设计原理,内容相当硬核!

一、背景介绍

在之前的文章中,我们介绍了 ReentrantLock、ReadWriteLock、CountDownLatch、CyclicBarrier、S…

高并发下如何轻松的保证接口幂等性

日常的开发中有些接口对幂等性有严格的要求,如增加/扣减积分、用户支付/退款等场景,如果没有做接口的幂等性就会造成一定的资损或者用户投诉等问题。如下是增加积分过程…

项目中的BO、DTO、VO、PO如何区分以及规范的使用

我们在日常开发中经常会看到各种的以‘O’结尾的类,那么这些类代表什么含义呢,我们如何规范的使用这些类呢?今天我们就来聊一聊这个话题。
1、区分BO、DTO、VO…

聊一聊比synchronized更强大的同步锁:ReentrantLock

01、背景介绍
采用synchronized进行加锁,这种锁一般都比较重,里面的实现机制也非常复杂,同时获取锁时必须一直等待,没有额外的尝试机制,如果编程不当…

真不是我吹,SpringBoot 里这款牛逼的网络工具库,我估计你没用过!

01、背景介绍
现如今的 IT 项目,由服务端向外发起网络请求的场景,基本上处处可见!
传统情况下,在服务端代码里访问 http 服务时,我们一般会使用 JD…

从源码角度3分钟理解SpringBoot的jar可以直接运行的原因和原理

在springboot项目中我们使用maven打包插件将项目打成一个jar之后,然后使用java -jar的命令就可以直接运行jar了,这是什么原理呢?今天来揭…

为什么大家都说 ThreadLocal 存在内存泄漏的风险?

01、背景介绍
在 Java web 项目中,想必很多的同学对ThreadLocal这个类并不陌生,它最常用的应用场景就是用来做对象的跨层传递,避免多次传递,…

3分钟带你看懂 GC 日志!

01、背景介绍
如何分析当前虚拟机性能呢?其中 GC 日志起到至关重要的作用。
实际上,每种垃圾收集器都有它独立的日志格式,尽管如此,虚拟机为了方便用户阅读,…

一小时徒手从0到1搭建一套图片文字识别的OCR平台

在我们日常的工作学习中,图片中的文件识别功能是非常常用的(如用户上传的图片做风控)。我们根据面向的对象不同,一般可以分成两类:
(1)面向普通用户;现有的图片文…

实现大文件的断点下载、分片下载

大文件下载是我们开发中经常可以遇到的业务场景,如果直接将大文件(如一部高清的电影可能有5G)装载到内存中的方式下载,如下所示:

如果内存只有4G内存,此时资源…

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

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

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

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

ThreadLocal 实践与源码解析 ——Java

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

存储系统基础知识全解(终极版)

内容图文并茂,深入全面,包含存储介质技术、存储系统及形态介绍、存储协议详解、存储系统技术概述、存储关键技术、存储系统技术创新及趋势、存储虚拟化技术、存储系统数…

解锁滴滴ES的性能潜力:JDK 17和ZGC的升级之路

前文介绍了滴滴自研的ES强一致性多活是如何实现的,其中也提到为了提升查询性能和解决查询毛刺问题,滴滴ES原地升级JDK17和ZGC,在这个过程中我们遇到了哪些问…

软件架构一致性 —— 被忽视的研发成本

阿里妹导读
本文主要介绍了一些解决架构一致性问题的方法,以及我们应该如何去理解和应对部分不得不付出的成本。
一、两类研发活动
广义的软件研发活动涉及到需求分析…

一个 List.of 引发的“血案”

阿里妹导读
本文作者将分享一个使用List.of后掉进的坑以及爬坑的全过程,希望大家能引以为戒同时引起这样的意识:在使用新技术前先搞清楚其实现的原理。

随…

快速成长的秘诀|学会自我培养和培养他人

本文是快速成长系列第三篇《自我培养和培养他人》,会从人才培养的目标、缺失、系统、实施几个方面介绍人才培养的实践经验。
快速成长总共三篇,分别是《完成自我认知升…

IDEA 2019.2最新解读:性能更好,体验更优,细节处理更完美!

idea 2019.2 准备
idea 2019.2正式版是在2019年7月24号发布的,本篇文章,我将根据官方博客以及自己的理解来进行说明,总体就是:性能更好…