四时宝库

程序员的知识宝库

JDK从8升级到21的问题集(jdk更新到几了)

一、背景与挑战

1.升级动因

oOracle长期支持策略

o现代特性需求:协程、模式匹配、ZGC等

o安全性与性能的需求

oAI新技术引入的版本要求

Java—类加载的基本机制和过程(java类加载机制使用什么模型)

类加载的基本机制和过程

运行Java程序,就是执行java这个命令,指定包含main方法的完整类名,以及一个classpath,即类路径。类路径可以有多个,对于直接的class文件,路径是class文件的根目录,对于jar包,路径是jar包的完整名称(包括路径和jar包名)。

Java运行时,会根据类的完全限定名寻找并加载类,寻找的方式基本就是在系统类和指定的类路径中寻找,如果是class文件的根目录,则直接查看是否有对应的子目录及文件;如果是jar文件,则首先在内存中解压文件,然后再查看是否有对应的类。

谈谈 Unsafe 在 Java 中的作用(java unsafe在哪个包)

前言

最近在 Kotlin 项目中发现,定义的 data class(成员变量都声明不可控)经过在 Gson 解析后,可以得到成员变量为空的对象,而不是得到解析失败,那么就很容易造成后续代码的非预期运行,因为成员变量都按不可空的情况来处理,最终喜提 NullPointerException。

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

在多核高并发场景下,缓存伪共享(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等)

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

<< < 8 9 10 11 12 13 14 15 16 17 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接