最新 最热

J.U.C 原子类之AtomicIntegerFieldUpdate

在Java的并发编程中,AtomicIntegerFieldUpdater是一个非常重要的工具类,它提供了一种线程安全的方式来更新某个类的指定volatile int字段,而无需使用同步锁。...

2024-08-06
1

Netty中ByteBuf的引用计数实现原理

ByteBuf:Netty中的ByteBuf是对字节数据的封装,它提供了比Java NIO中的ByteBuffer更加灵活和高效的读写操作。ByteBuf可以封装直接内存(Direct Memory)和堆内存(Heap Memory),直接内存由操作系统管理,避免了Java堆和本地堆之间...

2024-08-06
1

Netty技术全解析:PooledUnsafeDirectByteBuf详解

在Netty这个高性能的网络编程框架中,PooledUnsafeDirectByteBuf是一个关键的组件,它代表了基于内存池的、非安全的(即不使用Java的Unsafe类进行内存操作的)、直接的(即分配在JVM堆外的内存)字节缓冲区。本文将结合源码,详细...

2024-08-06
1

Netty技术全解析:UnpooledHeapByteBuf源码视角下的详解

Netty,作为一款高性能的网络编程框架,提供了丰富的字节缓冲区(ByteBuf)实现,以满足不同的内存管理需求。其中,UnpooledHeapByteBuf是Netty提供的一种非池化的堆内存ByteBuf实现。本文将结合源码,深入探讨UnpooledHeapByteBuf...

2024-08-06
1

Netty技术全解析:PooledByteBufAllocator源码视角下的详解

Netty,作为一款高性能的网络编程框架,其背后的内存管理机制起着至关重要的作用。其中,PooledByteBufAllocator是Netty内存管理中的一个核心组件,它实现了基于内存池的字节缓冲区(ByteBuf)分配策略。本文将结合源码,深入探讨P...

2024-08-06
1

Netty技术全解析:ByteBuf源码视角下的技术与实现

Netty,作为一个高性能的网络编程框架,其核心组件之一便是ByteBuf。ByteBuf为字节数据的处理提供了一个比Java NIO中的ByteBuffer更加灵活和高效的容器。本文将从源码的角度,深入探讨ByteBuf的作用、功能、原理及其主要实...

2024-08-06
1

【Linux】详解加锁实现线程互斥

下面是一个抢标逻辑。抢票为什么会抢到负数:假设当票数为1时,此时四个进程的判断条件tickets都大于0,都会进入抢票操作,第一个进程抢完票以后tickets==0并写回内存,第二个进程再从内存中读取tickets的值时此时tickets已经...

2024-08-06
1

银河麒麟操作系统free查看服务器的内存,为什么比实际物理内存少很多?

银河麒麟操作系统创建成功后,free -m命令查询内存大小,查询结果比实际物理内存小很多。

2024-08-05
1

Java 8为什么使用元空间替换永久代

在Java 8中,Java开发团队做出了一个重要的变革:将永久代(Permanent Generation,或PermGen)移除,并引入了元空间(Metaspace)。这一改变引发了开发者的广泛讨论和关注,因为它对Java虚拟机(JVM)的内存管理方式有着深远的影响。本文...

2024-08-05
1

Java中的强引用、软引用、弱引用与虚引用

Java语言提供了一种强大的垃圾回收机制,通过不同类型的引用来管理内存中的对象。引用类型包括强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)。这些引用类型允许开发...

2024-08-05
1