JAVA
-
Java SPI概念、实现原理、优缺点、应用场景、使用步骤、实战SPI案例
一、前言 在当今互联网时代,应用程序越来越复杂,对于我们开发人员来说,如何实现高效的组件化和模块化已经成为了一个重要的问题。而 Java SPI(Service Prov…
-
使用SpringBoot进行文件压缩
1 简介 你知道在Java应用程序中优化文件服务器的磁盘空间是非常重要的非功能性要求之一吗?如果管理得当,可以节省文件存储服务器上60%至70%的成本。因此,对于由Java Spr…
-
面试必问,JVM内存模型扫盲
JVM简介 JVM(Java Virtual Machine,Java虚拟机)是Java语言的核心,是一个用于解释Java字节码的虚拟计算机。它可以在运行Java程序时自动管理内存…
-
Java LockSupport与线程中断
什么是中断? 首先 一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止。所以,Thread.stop, Thread.suspend, Thread.resume…
-
Java 21 将不再有public static void main !
之前的Java是这样: Java 21会是这样: 看到这个消息,我最大的感受是: 卧槽,怎么就Java 21了?!我还在用Java 8 呢! 实际上,从Java 8 到…
-
关于Java已死,看看国外开发者怎么说的
图片 博主在浏览 medium 社区时,发现了一篇点赞量 1.5k 的文章,名称叫《Java is Dead — 5 Misconceptions of developers th…
-
你知道如何使用Java线程池吗?
一、什么是线程池 线程池是一种优化线程管理的机制,它可以在程序启动时创建一定数量的线程,并将它们保存在一个池中。当需要执行任务时,可以从线程池中获取一个空闲的线程来执行任务,执行完…
-
Volatile与Java内存模型
被volatile修改的变量有2大特点 特点 可见性 有序性—排序要求,禁止重排 volatile的内存语义 当写一个volatile变量时,JMM会把该线程对应的本地…
-
你真的了解ForkJoinPool吗?这些技巧让你的代码性能提升十倍!
1、线程池简介 线程池是一种常见的多线程编程方式,它可以有效地管理线程的创建、销毁和复用,从而提高程序的性能和稳定性。Java中提供了多种线程池实现,包括ForkJoinPool、…
-
Java NIO 通道:高性能 I/O 的终极指南
Java NIO中的通道(Channel)是一种用于在Java程序中进行高效IO操作的抽象概念。通道可以用于读取和写入数据,还可以用于在不同实体之间传输数据,比如从文件读取数据并将…
-
不可不知的七个出色的Java项目
译者 | 布加迪 审校 | 重楼 Java生态系统里面有形形色色、五花八门的开源项目,这些项目是为了满足各种可以想象到的需求而开发的。我们很容易错过其中一些出色的项目。下面介绍七个…
-
Java 原子操作类之18罗汉增强类
Java开发手册 17.【参考】volatile 解决多线程内存不可见问题对于一写多读,是可以解决变量同步问题,但是如果多 写,同样无法解决线程安全问题。 说明:如果是 count…