醋醋百科网

Good Luck To You!

架构师必知:SpringBoot性能优化的12招

前言

不知道你在SpringBoot项目中,有没有遇到过下面这样的代码:

ForkJoinPool源码分析与示例(foreach源码)

一、ForkJoinPool简介

  • ForkJoinPool是Java引入的高效并行任务执行框架,基于分治思想。

面试官:说说线程池的工作原理?(线程池工作机制)

线程池的底层是基于线程和任务队列来实现的,创建线程池的创建方式通常有以下两种:

  1. 普通 Java 项目,使用 ThreadPoolExecutor 来创建线程池,这点《阿里巴巴Java开发手册》中也有说明,如下图所示:
  1. Spring 项目中,会使用代码可读性更高的 ThreadPoolTaskExecutor 来创建线程池,虽然它的底层也是通过 ThreadPoolExecutor 来实现的,但 ThreadPoolTaskExecutor 可读性更高,因为它不需要在构造方法中设置参数,而是通过属性设置的方式来设置参数的,所以可读性更高。

虚拟线程生产事故复盘:警惕高性能背后的陷阱

引言

Java 19 引入虚拟线程(Virtual Threads)作为 Project Loom 的重要成果,这项技术被誉为 Java 并发编程的革命性进步。

能用更低的内存支持数百万并发任务,听起来特别美好,让开发者可以摆脱传统线程池的束缚。

结果,因为我们团队的盲目自信,觉得新技术好就直接上了,没成想,它结结实实地给我们上了一课——在生产环境中遭遇了一次由虚拟线程引发的严重故障。

Spring Boot3 中整合流程引擎技术全解析

在当今互联网大厂后端开发的复杂业务场景中,高效的流程管理对于提升系统的灵活性和业务执行效率至关重要。Spring Boot3 作为 Java 后端开发的热门框架,为我们整合流程引擎技术提供了强大的支持。今天,就让我们深入探讨一下如何在 Spring Boot3 中无缝整合流程引擎技术,为你的项目赋能。

流程引擎技术简介

java线程池常用参数设置(java线程池示例)

在Java编码的过程中,我们经常会创建一个线程来提高程序的执行效率,虽然这样实现起来很方便,但是会有一个问题:如果并发的线程数多,并且每个线程都是执行一个时间很短的任务就结束了,这样会造成频繁的创建和销毁线程从而导致降低系统的效率。

那么问题来了,有没有办法可用复用创建好的线程呢,也就是线程执行完一个任务后,不被销毁,继续执行其他的任务?

在Java可以通过线程池来实现这样的效果。

下面从三个方面和大家一起来探讨一下Java线程池相关的内容。1.Java中的ThreadPoolExecutor类,2.Java中4种线程池的使用,3.Java线程池常用参数如何设置。

java并发编程真有那么难?(java并发编程实战过时了吗)

1. JUC 编程

我们常说的 java 并发编程,别名叫做 JUC 编程。

对比分析LinkedBlockingQueue和SynchronousQueue

缘起

最近在 review 同事的代码时,看到其使用了
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor

Spring Boot开发十大常见“坑”深度解析与避坑指南

引言

在Spring Boot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题。这些问题往往隐藏在细节之中,不易被察觉,但却会对项目的稳定性和性能产生重大影响。本文将针对Spring Boot开发中十大常见的“坑”进行深度解析,结合具体的代码示例,提供详细的解决方案,帮助开发者们有效避坑。

什么是队列?(什么是队列?它和堆栈有什么区别?)

与前面提到的数据结构相同,队列中的数据也呈线性排列。虽然与有些相似,但队列中添加和删除数据的操作分别是在两端进行的,就和队列这个名字一样,把它想象成排成一队的人更容易理解。在队列中,处理总是从第一名开始往后进行,而新来的人只能排在队尾。

队列是什么?

如上就是队列的概念图,现在队列中只有数据 Blue。往队列中添加数据时,数据被加在最上面。

<< < 1 2 3 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言