四时宝库

程序员的知识宝库

高性能缓存设计:如何解决缓存伪共享问题

在多核高并发场景下,缓存伪共享(False Sharing) 是导致性能骤降的“隐形杀手”。当不同线程频繁修改同一缓存行(Cache Line)中的独立变量时,CPU缓存一致性协议会强制同步整个缓存行,引发无效化风暴,使看似无关的变量操作拖慢整体效率。本文从缓存结构原理出发,通过实验代码复现伪共享问题(耗时从3709ms优化至473ms),解析其底层机制;同时深入剖析高性能缓存库 Caffeine 如何通过 内存填充技术

【Java并发编程】什么是Unsafe?(java unsafe原理)

Unsafe类介绍

Unsafe类是在sun.misc包下,不属于Java标准。但是很多Java的基础类库,包括一些被广泛使用的高性能开发库都是基于Unsafe类开发的,比如Netty、Cassandra、Hadoop、Kafka等。Unsafe类在提升Java运行效率,增强Java语言底层操作能力方面起了很大的作用。

一段代码搞崩Java,坑都埋到胸了(java代码长什么样)

Java并发编程:深入理解Java线程状态

在本文中,我们将深入探讨 Java 线程的六种状态以及它们之间如何相互转换。线程状态的转换就如同生物从出生、成长到最终死亡的过程,也有一个完整的生命周期。

操作系统中的线程状态

首先,让我们看看操作系统中线程的生命周期是如何流转的。

在操作系统中,线程共有 5 种状态:

  • 新建(NEW):线程已创建,但尚未开始执行。
  • 就绪(READY):线程等待使用 CPU,在被调度程序调用后可进入运行状态。

Java面试都在问的CAS,你还没掌握吗?

一、什么是CAS

CAS(Compare and Swap)是处理并发问题的常用技术之一,它解决了线程安全和数据一致性问题。

CAS 是一种乐观锁机制,它是通过底层硬件提供的原子操作指令实现的,能够保证在多线程同时访问同一变量时,只有一个线程可以修改该变量的值。

CAS操作通常基于三个参数:内存位置V、期望值A和新值B。

为什么会有 AtomicReference?(为什么会有湿疹)

我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 star
https://github.com/crisxuan/bestJavaer

我们之前了解过了 AtomicInteger、AtomicLong、AtomicBoolean 等原子性工具类,下面我们继续了解一下位于

p7付费课程笔记:jvm基础知识、字节码、类加载器

编程语言

演化:

机器语言->编程语言->高级语言(java,c++,Go,Rust等)

面向过程--面向对象-面向函数

各大框架都在使用的Unsafe类,到底有多神奇?

前言

几乎每个使用 Java开发的工具、软件基础设施、高性能开发库都在底层使用了sun.misc.Unsafe,比如Netty、Cassandra、Hadoop、Kafka等。

面试官:Java 内存泄漏了,怎么排查?

由来

Java 魔法类 Unsafe 详解(java 魔法值)

阅读过 JUC 源码的同学,一定会发现很多并发工具类都调用了一个叫做 Unsafe 的类。

那这个类主要是用来干什么的呢?有什么使用场景呢?这篇文章就带你搞清楚!

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