自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 jvm垃圾收集器之七种武器

老年代单线程收集器,Serial 收集器的老年代版本,使用“标记-整理”(Mark-Compact)算法来进行垃圾收集。然后在整理阶段,将所有存活的对象向一端移动,从而清理出连续的空闲内存空间,减少内存碎片。使用-XX:+UseParNewGC(新生代使用并行收集器,老年代使用串行回收收集器) 或者-XX:+UseConcMarkSweepGC(新生代使用并行收集器,老年代使用 CMS):对于有限的资源环境,Serial 收集器由于其简单的算法和单线程的执行方式,在垃圾收集上能够达到一定的效率。

2024-02-07 15:39:26 1737

原创 解锁ArrayBlockingQueue奥秘:深入源码的精彩之旅

ArrayBlockingQueue 是 BlockingQueue 接口的一个实现类,它基于数组实现了一个有界阻塞队列。创建 ArrayBlockingQueue 实例时需要指定队列的容量,队列的大小是固定的,无法动态增长。

2024-06-05 21:48:46 820 1

原创 揭秘Redis秘籍:SDS—编织数据的动态字符串魔法

Redis中的SDS(Simple Dynamic String,简单动态字符串)是一种专为Redis设计的字符串表示方式,旨在改进C语言中原生字符串的局限性。

2024-06-05 21:17:14 358

原创 线程创建的4种方式

这4种方式都可以用来创建线程,但是使用的场景和优缺点不同。继承Thread类和实现Runnable接口是最基本的两种方式,使用Callable接口可以获取线程执行结果,使用线程池Executor框架可以更好地管理和复用线程,提高性能和效率。需要根据具体的业务场景和需求选择合适的方式。

2024-02-26 17:47:14 1235

原创 线程的基本属性和方法

线程有一些基本属性和方法,包括id、name、优先级、状态、是否daemo线程、sleep方法、yield方法、join方法、过时方法等,我们简要介绍。

2024-02-26 11:52:05 1009

原创 HotSpot虚拟机对象探秘

建立对象是为了使用对象,我们的Java程序需要通过栈上的reference数据来操作堆上的具体对象。由于reference类型在Java虚拟机规范中只规定了一个指向对象的引用,并没有定义这个引用应该通过何种方式去定位、访问堆中的对象的具体位置,所以对象访问方式也是取决于虚拟机实现而定的。目前主流的访问方式有使用句柄和直接指针两种。

2024-02-22 12:09:07 927

原创 jvm垃圾收集器-三色标记算法

在三色标记算法中,垃圾回收器会从根对象开始,将根对象标记为灰色,然后遍历对象引用关系,将灰色对象引用的对象标记为灰色,直到无法再找到新的灰色对象为止。接着,垃圾回收器将所有未标记为灰色的对象标记为黑色,表示这些对象是活跃的。最后,垃圾回收器将白色对象认定为垃圾,进行回收。

2024-02-21 09:22:43 1635

原创 mybatis PropertyTokenizer 属性标记器

​PropertyTokenizer 是 MyBatis 中的一个工具类,主要用于处理属性表达式(property expressions)。在 MyBatis 中,属性表达式是用于访问对象属性的一种语法,类似于 Java 中的点号操作符。例如,对于一个对象 user,可以使用属性表达式 "user.name" 来访问其 name 属性。PropertyTokenizer 类提供了一些方法来解析和处理这样的属性表达式。

2024-02-21 09:22:13 437

原创 jvm几个常见面试题整理

TLAB表示JVM为每个线程分配了一个私有缓存区域,这块缓存区域包含在Eden区内。简单说TLAB就是在堆内存中的Eden区分配了一块线程私有的内存区域

2024-02-07 16:58:43 1127

原创 jvm垃圾收集器特性描述

在Java虚拟机(JVM)中,垃圾回收器(Garbage Collector, GC)是自动管理内存的重要组成部分,其主要职责是识别和删除不再被使用的对象,以释放和回收内存资源。随着技术的发展,为了适应不同的应用场景和性能需求,JVM提供了多种垃圾回收器,每种回收器都有其特定的算法和使用场景

2024-02-06 16:34:52 808

原创 StringJoiner Sql拼接利器

StringJoiner sql拼接利器

2024-02-06 10:08:24 1729

原创 netty零拷贝图解

netty零拷贝图解

2023-12-25 09:00:32 996

原创 Path和Files类使用

针对文件的操作

2023-12-25 08:59:53 536

原创 redis键值相关命令整理

键值相关命令整理

2023-12-14 17:11:42 139

原创 redis HyperLogLog数据结构

HyperLogLog是一种概率性数据结构,用于估计一个集合的基数(不重复元素的数量)。。

2023-12-14 11:39:41 259

原创 redis set命令总结

set常用命令总结

2023-09-28 14:23:15 303

原创 Redis hash 命令总结

redis hash命令总结

2023-09-28 09:19:00 249

原创 leetCode 1333. 餐厅过滤器

在按照 veganFriendly = 1, maxPrice = 50 和 maxDistance = 10 进行过滤后,我们得到了餐馆 3, 餐馆 1 和 餐馆 5(按评分从高到低排序)。餐馆 1 [id=1, rating=4, veganFriendly=1, price=40, distance=10]餐馆 5 [id=5, rating=1, veganFriendly=1, price=15, distance=1]两个过滤器,它们分别考虑餐厅的价格因素和距离因素的最大值。

2023-09-28 09:04:48 128

原创 redis List常用命令整理

Redis list列表常用命令整理

2023-09-27 10:57:00 712

原创 redis String常用命令总结

redis String常用命令总结

2023-09-27 09:12:22 876

原创 mybaits Discriminator鉴别器

mybaits Discriminator鉴别器的简单使用

2023-09-26 13:42:37 123

原创 DefaultParameterHandler 参数处理器

ParameterHandler和其默认实现类DefaultParameterHandler的简单说明。

2023-09-26 11:52:04 232

原创 Mybatis值ResolverUtil的使用

ResolverUtil工具类主要用于在指定的包下查找接口的实现类。

2023-05-15 16:47:53 141

原创 Mybatis PropertyNamer属性名称处理器的使用

配合动态代理,判断方法的类型和和根据方法获取对应的操作属性

2023-05-05 16:01:46 170

原创 Mybatis PropertyCopier 属性拷贝器的使用

对象复制

2023-05-05 15:35:16 125

原创 leetCode 876. 链表的中间结点

给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。

2023-04-24 10:12:59 62

原创 leetCode 面试题 02.05. 链表求和

给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。

2023-04-24 10:05:26 72

原创 剑指 Offer 06. 从尾到头打印链表

输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

2023-04-12 13:32:27 47

原创 leetCode 1736. 替换隐藏数字得到的最晚时间

给你一个字符串time,格式为 hh:mm(小时:分钟),其中某几位数字被隐藏(用?表示)。有效的时间为00:00到23:59之间的所有时间,包括00:00和23:59。替换time中隐藏的数字,返回你可以得到的最晚有效时间。

2023-04-12 10:46:03 64

原创 leetCode 2586. 统计范围内的元音字符串数

"artro" 是一个元音字符串,因为它以 'a' 开头并以 'o' 结尾。- "are" 是一个元音字符串,因为它以 'a' 开头并以 'e' 结尾。- "aeo" 是一个元音字符串,因为它以 'a' 开头并以 'o' 结尾。- "ooo" 是一个元音字符串,因为它以 'o' 开头并以 'o' 结尾。- "u" 是一个元音字符串,因为它以 'u' 开头并以 'u' 结尾。如果字符串以元音字母开头并以元音字母结尾,那么该字符串就是一个。- "amy" 不是元音字符串,因为它没有以元音字母结尾。

2023-04-11 09:16:45 199

原创 leetCode 1456. 定长子串中元音的最大数目

给你字符串s和整数k。请返回字符串s中长度为k的单个子字符串中可能包含的最大元音字母数。英文中的元音字母为(a,e,i,o,u)。

2023-04-11 09:04:42 230

原创 leetCode 1019. 链表中的下一个更大节点

给定一个长度为n的链表head对于列表中的每个节点,查找下一个更大节点的值。也就是说,对于每个节点,找到它旁边的第一个节点的值,这个节点的值严格大于它的值。

2023-04-10 11:02:15 116

原创 leetCode 539. 最小时间差

给定一个 24 小时制(小时:分钟)的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。

2023-04-09 13:17:09 100

原创 LeetCode 2399. 检查相同字母间的距离

给你一个下标从0开始的字符串s,该字符串仅由小写英文字母组成,s中的每个字母都恰好出现两次。另给你一个下标从0开始、长度为26的的整数数组distance。

2023-04-09 13:08:52 117

原创 LeetCode 59. 螺旋矩阵 II

创建二维矩阵,用变量记录遍历元素,顺时针将元素填充矩阵中。所有元素,且元素按顺时针顺序螺旋排列的。

2023-04-08 15:24:41 53

原创 leetCode 54. 螺旋矩阵

给你一个m行n列的矩阵matrix,请按照,返回矩阵中的所有元素。

2023-04-08 15:06:46 151

原创 leetCode 1053. 交换一次的先前排列

原题描述给你一个正整数数组arr(可能存在重复的元素),请你返回可在(交换两数字arr[i]和arr[j]的位置)后得到的、按字典序排列小于arr的最大排列。如果无法这么操作,就请返回原数组。

2023-04-08 14:53:39 115

原创 leetCode 1518. 换水问题

1518. 换水问题题解: java 对数学中除法和取模的运用 注释清晰超市正在促销,你可以用 numExchange 个空水瓶从超市兑换一瓶水。最开始,你一共购入了 numBottles 瓶水。如果喝掉了水瓶中的水,那么水瓶就会变成空的。给你两个整数 numBottles 和 numExchange ,返回你 最多 可以喝到多少瓶水。对数学中除法和取模的运用,使用除法(/)可以计算当前水瓶可以兑换多少瓶水,取模(%)计算不满足numExchange的水瓶。计算可以兑换水的数量。计算兑换水之后空瓶的数量。

2023-03-27 10:04:58 205

原创 leetCode 2395. 和相等的子数组

长度为2的子数组和,当哈希表存在相同的值时,则存在,结束遍历返回ture,遍历结束都不存在相同的值,则不存在,返回false。判断元素和是否已经存在哈希表中,存在机满足题目要求返回true,不存在就添加到哈希表中。如果这样的子数组存在,请返回 true,否则返回 false。遍历数组时已知向前不会退,确保了这两个子数组起始位置的。注意,这两个子数组起始位置的下标必须。开始的整数数组 nums ,判断是否存在。是一个数组中一段连续非空的元素组成的序列。长度为 2 的子数组且它们的。,即是两个相邻元素的和。

2023-03-26 10:13:31 154

原创 leetCode Trie树的使用汇总

【代码】leetCode Trie树的使用汇总。

2023-03-25 20:00:02 105

空空如也

空空如也

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

TA关注的人

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