首页
开发
问题记录
linux
环境搭建
开源
心得
关于
搞钱拒绝ICU
行动起来,活在当下
累计撰写
26
篇文章
累计创建
8
个标签
累计收到
0
条评论
栏目
首页
开发
问题记录
linux
环境搭建
开源
心得
关于
目 录
CONTENT
搞钱拒绝ICU
最新文章
2024-06-11
Java修改jar包里内容
一、背景 开发过程中会有一些修改jar里面内容的需求,比如修改mybatis中sql,去修改对应的xml或者其他的一些打到jar里的配置 二、操作 将对应jar放到新的目录里,然后jar包解压 jar -xvf xxx-mirror-xxxt.jar 修改xml文件或者配置</
2024-06-11
19
0
0
开发
2024-05-13
JVM垃圾回收
垃圾回收就是对内存堆中已经死亡的或者长时间没有使用的对象进行清除或回收。JVM 在做 GC 之前,会先搞清楚什么是垃圾,什么不是垃圾,通常会通过可达性分析算法来判断对象是否存活。 在确定了哪些垃圾可以被回收后,垃圾收集器(如 CMS、G1、ZGC)要做的事情就是进行垃圾回收,可以采用标记清除算法、复
2024-05-13
18
0
0
开发
2024-05-08
记录一次调用flex-job耗时慢优化
一、背景介绍 felx-job是内部基于xxl-job二开的分布式定时任务平台,提供部门统一的定时任务管理。某次反馈查询任务列表慢。 使用arthas的trace命令查看耗时 trace com.xxl.job.admin.service.XxlJobService queryJobs 耗时:460
2024-05-08
15
0
0
问题记录
2024-04-30
JVM
JVM,也就是 Java 虚拟机,它是 Java 实现跨平台的基石。 程序运行之前,需要先通过编译器将 Java 源代码文件编译成 Java 字节码文件; 程序运行时,JVM 会对字节码文件进行逐行解释,翻译成机器码指令,并交给对应的操作系统去执行。 一、JVM组织架构
2024-04-30
21
0
0
开发
2024-04-30
AQS
AQS 是一个抽象类,它维护了一个共享变量 state 和一个线程等待队列,为 ReentrantLock 等类提供底层支持。 AQS 的思想是,如果被请求的共享资源处于空闲状态,则当前线程成功获取锁;否则,将当前线程加入到等待队列中,当其他线程释放锁时,从等待队列中挑选一个线程,把锁分配给它。 一
2024-04-30
24
0
0
开发
2024-04-27
线程池
线程池是用来管理和复用线程的工具,它可以减少线程的创建和销毁开销。在 Java 中,ThreadPoolExecutor是线程池的核心实现,它通过核心线程数、最大线程数、任务队列和拒绝策略来控制线程的创建和执行。 一、常用参数 public ThreadPoolExecutor(int corePo
2024-04-27
8
0
0
开发
2024-04-27
Java中CAS
CAS(Compare-and-Swap)是一种乐观锁的实现方式,全称为“比较并交换”,是一种无锁的原子操作。 一、乐观锁与悲观锁 悲观锁 对于悲观锁来说,它总是认为每次访问共享资源时会发生冲突,所以必须对每次数据操作加上锁,以保证临界区的程序同一时间只能有一个线程在执行。比如synchronize
2024-04-27
13
0
0
开发
2024-04-27
synchronized关键字
一、介绍 JDK早期版本中 synchronized 属于 重量级锁,效率低下。这是因为监视器锁(monitor)是依赖于底层的操作系统的 Mutex(互斥)Lock 来实现的,Java 的线程是映射到操作系统的原生线程之上的。如果要挂起或者唤醒一个线程,都需要操作系统帮忙完成,而操作系统实现线程之
2024-04-27
23
0
0
开发
2024-04-21
线程创建方式及状态
一、三种创建方式 1. 重写父类 Thread 的 run() 方法 class ThreadTask extends Thread { public void run() { System.out.println("666"); } public stat
2024-04-21
16
0
0
开发
2024-04-18
五种IO模型
UNIX 系统下的 I/O 模型有 5 种:同步阻塞 I/O、同步非阻塞 I/O、I/O 多路复用、信号驱动 I/O 和异步 I/O TCP发送数据的流程 要深入的理解各种IO模型,那么必须先了解下产生各种IO的原因是什么,要知道这其中的本质问题那么我们就必须要知一条消息是如何从过一个人发送到另外一
2024-04-18
16
0
0
linux
1
2
3