首页
分类
标签
友链
归档
瞬间
搜索文章
= 768 && isOpen) { isOpen = false; setTimeout(() => enableScroll(document.body), 200); }" >
enableScroll(document.body), 200);" x-transition:enter="transition ease duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease duration-300" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" style=" position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 1001; overscroll-behavior: none; " >
enableScroll(document.body), 200)" >
首页
分类
标签
友链
归档
瞬间
2024 年 04 月
如何判断对象可以被回收
在Java中,对象是否可以被回收通常由垃圾回收器决定。垃圾回收器使用一种称为"可达性分析"的算法来确定对象是否可被回收。可达性分析是指如果一个对象无法从任何GC Roots直接或间接访问到,它就被认为是不可达的,可以被垃圾回收。
作者:青云
发布时间:2024-04-22
分类:
Java
标签:
#
jvm
内存溢出与内存泄漏的区别
内存溢出和内存泄漏都是与内存管理相关的问题,但它们有不同的表现和发生原因。 内存溢出是指程序尝试分配更多内存空间,而可用内存已经用尽,因此无法满足分配的请求。它通常发生在程序执行期间,例如创建新对象或递归调用时,需要分配内存,但没有足够的内存可供分配。内存溢出通常导致程序崩溃或抛出OutOfMemo
作者:青云
发布时间:2024-04-22
分类:
Java
标签:
#
jvm
说说对象分配规则
在Java中,对象分配规则是关于如何为新对象分配内存的一套规则,以确保内存的有效使用和对象的正确初始化。以下是关于对象分配的主要规则: 内存分配
作者:青云
发布时间:2024-04-22
分类:
Java
标签:
#
jvm
你怎么理解常量池
常量池是Java编程语言中的一个重要概念,它是一种用于存储常量值、符号引用和字面量的数据结构,主要用于提高代码的效率和减少内存消耗。对于类级别的常量池,它存储在类文件class
作者:青云
发布时间:2024-04-22
分类:
Java
标签:
#
jvm
判断线程池任务执行完成的方式
Thread线程是否执行完成,我们可以调用join方法然后等待线程执行完成;那在使用线程池的时候,我们如何知道线程已经执行完成了?本文就带给大家五种判断的方式: isTerminated() 方式,在执行 shutdown() ,关闭线程池后,判断是否所有任务已经完成。 ThreadPoolExec
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
如何优化线程池的性能
要优化线程池的性能,需要根据实际情况进行参数配置。以下是一些优化建议: 根据应用场景和任务性质,合理设置核心线程数(corePoolSize)和最大线程数(maximumPoolSize)。如果任务主要是IO密集型的,核心线程数可以设置为CPU核心数的两倍左右,最大线程数可以设置为CPU核心数的四倍
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
如何理解阻塞、非阻塞与同步、异步的区别?
同步与异步 同步与异步关注的是消息通信机制。 所谓同步
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
线程池的底层工作原理
线程池是一种用于管理和重用线程的机制,其底层工作原理涉及线程的创建、调度、执行以及回收等关键过程。线程池的底层工作原理可以分为以下几个关键步骤: 线程池的创建: 在使用线程池之前,需要首先创建一个线程池。通常,线程池会根据配置参数(如核心线程数、最大线程数、队列类型等)来初始化线程池的基本属性。 任
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
线程池中线程复用原理
线程池的线程复用原理是指,将线程放入线程池中重复利用,而不是每执行一个任务就创建一个新线程。线程池会对线程进行封装,核心原理在于将线程的创建和管理与任务的执行分离。 线程池通过工作队列(WorkQueue)来存储待执行的任务,队列中可能有多个任务等待被执行。线程池中的线程数量是有限的,核心线程数通常
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
线程池的哪些参数影响性能
线程池的性能受到以下参数的影响: 核心线程数(corePoolSize): 这是线程池中一直保持活动状态的最小线程数量。核心线程在空闲时不会被销毁,除非启用了 allowCoreThreadTimeOut 选项。核心线程数的设置直接影响了线程池的
作者:zhanxuewei
发布时间:2024-04-22
分类:
Java
标签:
#
java
共 574 篇文章
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
页