青云博客 记录、分享

JVM调优-垃圾回收器种类及使用场景

垃圾回收器在 Java 虚拟机中有多种类型,每种类型都有不同的特点和适用场景。以下是常见的垃圾回收器类型以及其使用场景: 一、串行垃圾回收器 (Serial Garbage Collector): 特点:单线程执行垃圾回收操作,暂停应用程序执行。 适用场景:适用于单核 CPU 或小型应用程序,对系统

詹学伟 Published on 2024-06-09

JVM调优-jvm参数(Java 8 )

当涉及 Java 8 的 JVM 参数时,以下是一些常见的参数及其作用: 1. -Xms:设置堆的初始大小 2. -Xmx:设置堆的最大大小 3. -Xss:设置线程的栈大小 4. -XX:MaxMetaspaceSize:设置元空间的最大大小 5. -XX:MetaspaceSize:设置元空间的

詹学伟 Published on 2024-06-09

JVM调优-visualVM监控工具

一、visualVM介绍 visualVM是一个虚拟机图形化监控工具,具体作用大家可以百度看看。 二、下载和安装 下载地址:https://visualvm.github.io/download.html 傻瓜式安装 三、使用 监控远程jvm: 要通过 VisualVM 监控远程 JVM,您可以通过

詹学伟 Published on 2024-06-09

SpringBoot Admin问题记录

一、说明 本章节不是描述怎么搭建admin服务端和客户端,这个比较简单,本文主要记录自己在搭建过程中遇到的一个问题,用了一点时间处理。 二、背景 项目有一个数据采集的场景,有很多设备,需要采集数据到数据中心处理,这里用的java(springboot项目)写的采集数据的程序,整合了redis、roc

詹学伟 Published on 2024-05-20

Java-SAX解析XML

本次例子中,xml存储于本地, <?xml version="1.0" ?> <PCXRF_MULTI_FORMAT> <PCXRF_USER_FORMAT> <FileInfo> <DataVersion> <Major>0</Major> <Minor>0</Minor> <R

詹学伟 Published on 2024-05-11

@Slf4j的topic属性作用

AI解释 在 Java 中,`@Slf4j` 是 Lombok 提供的一个注解,用于自动生成日志对象。它可以简化在类中创建日志对象的过程,避免了手动编写日志对象的代码。使用 @Slf4j 注解后,可以通过 log 对象来记录日志,而无需手动创建 Logger 对象。 @Slf4j 的 topic 属

詹学伟 Published on 2024-04-27

什么情况线程会进入 WAITING 状态

线程进入WAITING状态有以下几种情况: 调用Object.wait()方法,该方法会使得当前线程进入等待状态,等待其他线程调用同一个对象的notify()或notifyAll()方法唤醒该线程。 调用Thread.join()方法,该方法会使得当前线程等待指定线程的结束,当指定线程结束时,当前线

詹学伟 Published on 2024-04-27

什么是线程调度器和时间分片?

线程调度器(Thread Scheduler)是操作系统内核中的一个重要组件,负责分配并管理处理器时间片,控制多线程程序的执行顺序。当有多个线程同时运行时,线程调度器会在这些线程之间进行切换,使得每个线程都有机会使用 CPU 资源,并实现任务的并发执行。 时间分片(Time Slicing)是指将可

詹学伟 Published on 2024-04-27

Fork/Join框架,与传统线程池有何不同

Fork/Join框架是一个用于并行化执行任务的框架,它是Java 7引入的一个新特性,专门用于方便地利用多核CPU的性能优势,通过分治法的策略来将任务分解为更小的子任务,然后并行执行这些子任务,最后再合并子任务的结果。 Fork/Join框架的核心是ForkJoinPool,它是一种特殊的线程池,

詹学伟 Published on 2024-04-27

线程池中核心线程数量大小怎么设置

CPU密集型任务:比如像加解密,压缩、计算等一系列需要大量耗费 CPU 资源的任务,大部分场景下都是纯 CPU 计算。尽量使用较小的线程池,一般为CPU核心数+1。因为CPU密集型任务使得CPU使用率很高,若开过多的线程数,会造成CPU过度切换。 IO密集型任务:比如像 MySQL 数据库、文件的读

詹学伟 Published on 2024-04-27
Previous Next