自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 JAVA中的类加载过程与双亲委派模型

常见的有:扩展类加载器、应用程序类加载器、自定义类加载器。此时System在Bootstrap中找到并加载,如果类2也要加载System,也是从Bootstrap中查找,当一个类加载器收到类加载的请求时,它会把请求委派给父加载器,并向上传递,最终传递到。如果自定义加载器想要把加载请求委派给引导类加载器的话,可直接用null代替。则类1,类2都会加载一份System类,导致系统出现两份System字节码。从JVM的角度,类加载器主要由两种类型:启动类加载器与其他类加载器。假设有两个类,类1,类2。

2025-08-16 17:41:42 217

原创 如何理解JDK与Java的关系与区别?

JDK(Java Development Kit)是Java开发工具包,它是用于开发Java应用程序的环境,包括了Java运行环境(JRE),一系列的编译工具以及Java基础类库。JRE(Java Runtime Environment)是Java运行环境,包括了JVM与Java运行时的核心类库。JVM(Java Virtual Machine)是Java虚拟机,它是Java跨平台运行的基础,负责执行Java程序。Java通常指Java编程语言本身或者代指Java平台。

2025-08-07 17:37:15 308

原创 Java中的实例指的是什么?

使用new关键字和构造方法来创建一个Cat类型的对象,并将其分配在内存的堆中。以上代码中,创建了一个person类的实例p,并为其赋予了名字和年龄,并创建了方法write。综上总结:实例是类的具体实现,实例化的对象可以在程序中使用,赋予属性并调用方法。实例化是面向对象编程的核心概念之一,有利于将抽象的类转化成具体的对象。Cat c :在内存中分配一个名为c的变量,这个变量的类型为Cat。实例化的主要作用是创建一个具体的对象,以便在程序中使用。Java中,实例指的是某个类的对象。这个过程称为实例化。

2025-08-07 17:09:30 365

原创 如何理解ThreadLocal(线程变量)?什么是ThreadLocal?

ThreadLocal为每个线程提供独立的变量副本,解决多线程共享问题。其核心操作包括:set()通过当前线程初始化或更新ThreadLocalMap中的值;get()获取线程对应的变量值,不存在则初始化null;remove()清除当前线程的变量。适用于需要线程隔离且跨方法共享变量的场景,通过维护线程专属的ThreadLocalMap实现数据隔离。典型实现包含获取当前线程、操作线程局部存储等步骤。

2025-08-06 23:42:37 195

原创 如何区分JMM与Java运行时内存区域?

Java内存模型(JMM)通过主存与线程本地内存的交互规则保证内存可见性,volatile确保共享变量可见性和禁止指令重排,synchronized则保证可见性和原子性。JMM作为抽象规则体系,与Java运行时内存区域的物理划分既有区别又有关联:JMM主存对应堆和方法区等共享区域,本地内存对应程序计数器、虚拟机栈等线程私有区域;而运行时内存则具体划分为方法区、堆、线程栈等区域,各自承担不同的数据存储功能。两者都包含共享和私有数据区的概念,但JMM侧重内存访问规则,运行时内存关注实际存储结构。

2025-08-05 17:45:52 205

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除