自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dying 搁浅

Read-Think-Write

  • 博客(236)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 【深入理解 ByteBuf 之三 接口&类拆解】2. Recycler 接口设计真正的回收机制

其实到此为止,并没有实现任何的创建对象的逻辑,所有创建对象逻辑均由 ObjectCreator 接口的实现来控制,这个是灵活控制的,它的体现会在梳理 PooledByteBufAllocator 的整体脉络时得到体现。这个队列存储了我们分配出去然后空闲释放的句柄 handle,在之后的分配中会首先尝试在对象池中获取可以分配的句柄,如果没有则尝试创建池化句柄,如果没有达到可创建的间隔会直接创建非池化对象。这一张图基本已经说明白了,我再做个总结,对细节感兴趣的可以看看我下面带源码的注释。

2024-01-15 15:17:10 526

原创 【深入理解 ByteBuf 之三 接口&类拆解】1. ObjectPool 接口设计剖析

想了一下,我决定还是做更细化的拆解,也看了很多源码剖析的文章,以及我之前也写过,一个令人难受的点就是通篇的代码解释,通篇没什么头绪,我看着没头绪,感觉写的也没什么头绪,就是在硬看硬写,看完之后仍然不知云云,不得要领,无法复刻,写完之后的感觉也是。在步入第三部分 接口&类的解析,我决定对每个一个接口&类的定义实现都进行拆解和剖析聊一聊这样设计的好处和原因,并拆分为小块进行整理,以小见大。最终应该会整理出一版最终的设计脉络。

2024-01-10 11:32:02 1005

原创 【深入理解 ByteBuf 之二】对象池设计模式概述

对象池设计模式并不在经典的 23 种设计模式之中,先说我认为实际上设计模式,这四个词听着唬人,其实本质上就是一种设计的想法思路罢了,然后把经常会用到的一些思路整理出来就成了经典的设计模式思路,重点其实在于运用。

2024-01-08 17:13:14 736

原创 【深入理解 ByteBuf 之一】 release() 的必要性

那其实能看到明显的堆内存浮动是因为我代码中分配 ByteBuf 的时候同时 new 了一个 byte 数组,去掉这行代码同样可以观察到堆外内存一直居高不下,堆内存没有影响,只有一次明显的 GC 活动。请求分配并且不释放时,堆内存增长,经过 GC 后呈现尖刺状,最后趋近平稳是线程分配已经报错,无法进行分配了,可以看到整个 Java 程序占用 4G 多而且一直不会释放。如果调用的是分配并正确释放方法,可以观察到内存的使用是稳定的,GC 来自于堆内引用的申请和释放。但是整个程序堆外内存已经无法分配了。

2024-01-05 17:42:19 1068

原创 【扩散模型】深入理解图像的表示原理:从像素到张量

在深度学习中,图像是重要的数据源之一,而图像的表示方式对于算法的理解和处理至关重要。本文将带你深入探讨图像的底层表示原理,从像素到张量,让你对图像表示有更清晰的认识。

2023-12-07 21:35:29 646

原创 我所理解的 UI Toolkit 启蒙阶段(一)

然后在你的场景中创建一个空的 Object ,作为 UI 习惯上我会把他也命名为 UI,并为其添加脚本 UI Document,那据我不完全观察,2020 版本是没有这个系统自带的 UI Document 脚本的,所以如果是新的项目,建议用比较新的版本,但是不建议 2023 或之后的版本(至少本文发布的时候不建议,毕竟 Unity 收费问题搞的真是鬼屎)但这 4 步并非每一步都需要下 100% 的功夫,他们是一个互相补足的过程,也许你在做某一步的时候无法集中,不如换一个步骤进行学习,以此往复。

2023-11-17 20:19:47 687

原创 Unity UI 完全解决方案

给我无脑用 UI Toolkit 给我无脑用 UI Toolkit 给我无脑用 UI Toolkit 给我无脑用 UI Toolkit 给我无脑用 UI Toolkit

2023-11-15 21:04:07 603

原创 SpringBoot 多组 Kafka 配置

我在日常的开发过程中需要监听 kafka 的消息进行回调处理,但是呢,不同的三方服务他们用了不同的 kafka 集群,那么默认的 Spring 自动读取的 kafka 配置就不行了,它默认只支持一组,那么就需要单独进行多组配置。这些属性是 Kafka 消费者连接和配置的关键部分,它们确保了消费者可以连接到 Kafka 集群并以安全的方式处理消息。

2023-11-03 17:12:06 606

原创 JDK 8 升级 JDK 17 全流程教学指南

可能大部分同学都不是完全了解自己的项目都依赖了什么包,这个升级工作一定会加深你对 maven 包管理的理解,以及你对你项目依赖的熟悉程度和你解决排查问题的能力。顺便提一个 springbean 加载的问题,如果你引入的三方包有路径下的 bean 需要你进行注册管理,你项目启动类的扫描路径下需要包含他的路径,比如。com.alibaba.dubbo ,然后我想一起升级到 org.apache.dubbo ,结果找不到了,想来是路径的问题,老的都是继承的。这个找不到类,找到对应的调用位置,看看为啥没有。

2023-08-09 17:38:52 7255 3

原创 线段树思想拆解(下篇)

这里提一下,我在第一次实现的时候,理所应当的思考就和 lazyAdd 一样,提供一个 lazyUpdate[] 数组来阻塞更新的下发就可以了,但是实际实现后是无法通过对数器的,因为无法判断是否有更新,我们无法简单的判断 lazyUpdate[index]!接上篇来讲,注意一下我们所有方法的 L 和 R 的范围都是指源数组的范围,即源数组是 8 个数字,则范围为 1-8 , 而对于我们的逻辑线段树数组是通过 index 进行计算得到表示范围的节点数组槽位。

2023-08-07 18:02:53 194

原创 线段树思想拆解(上篇)

为达到这种时间复杂度,实际思想采用了空间换时间的方法,对原本数据集进行分段,维护懒更新数组,懒添加数组,对于范围的增加和更新操作阻塞下发,仅在必要时下发阻塞任务(如更新范围小于阻塞范围时),构建这种逻辑概念上的树型结构(实际实现上未必是树结构)到此为止通过借助 sum 数组,lazy 数组就已经实现了在范围内统一增加一个数值,查询范围总和的时间复杂度为 O(logN) 了,接下来要引入更新操作,对于更新操作我们需要再借助两个数组来维护更新的懒操作。sum 数组对应会组织成的树结构,表示对应范围的数据总和。

2023-07-24 21:33:07 191 1

原创 【Mysql】Linux 安装&主从配置全流程

请确保在防火墙设置中允许MySQL的端口(默认为3306)通过,以便远程主机可以访问MySQL服务器。上述属于简单的主从复制,并没有自动故障转移的功能,适用于商业化的小服务场景,配置简单。更新参数后,从服务器会使用新的参数重新连接到主服务器,并从指定的位置继续复制数据变更操作。这些文件按照给定的顺序逐个进行读取,后面的文件会覆盖前面文件中相同选项的设置。:默认情况下,MySQL仅允许本地连接。MySQL InnoDB Cluster是一种官方支持的集群解决方案,提供了更高级的功能和自动化的管理工具。

2023-07-07 10:33:31 460

原创 ❗ Use @volar-plugins/vetur instead of Vetur Detected Vetur enabled. Consider disabling Vetur and use

此警告意味着在使用 Vue 3 项目时,您当前已启用了 Vetur 扩展。Volar 是一种新的 Vue 语言服务器,专门针对 Vue 3 进行了优化,提供了更好的性能和兼容性。在搜索框中输入 “Vetur”,找到 Vetur 扩展,然后单击 “Disable”(禁用)按钮。在搜索框中输入 “Volar”,找到 Volar 扩展,然后单击 “Install”(安装)按钮。单击侧边栏中的扩展图标或使用快捷键 Ctrl+Shift+X(Mac 上是 Cmd+Shift+X)打开扩展面板。

2023-04-17 15:19:04 6636 1

原创 逼迫 ChatGPT 4 承认我的算法就是比你优化后的好的心路历程(大 AI 时代要来了)

大 AI 时代要来了,血肉苦弱机械飞升!

2023-03-28 22:27:42 189

原创 Redis 所有支持的数据结构特征及用法

Redis 所有支持的数据结构特征及用法

2023-03-21 21:03:55 606

原创 究竟是谁告诉你,Region 区是可以动态扩容的?

最近听到了一些大厂同学的描述,当时给我问懵了,不知道是我的表述有错误还是你理解有问题,他告诉我 Region 区是可以动态扩容的……我表示震惊,且语塞,他说:你不知道,没关系……

2023-03-19 18:35:37 276

原创 从 Redis 2.6.12 版本开始 SET 可以代替 SETNX

从 Redis 2.6.12 版本开始 SET 可以代替 SETNX

2023-03-08 20:38:22 289

原创 Java 类加载流程是什么?

Java 类加载流程

2023-03-08 11:21:04 431

原创 【Java 快速复习】理解 HashMap & ConcurrentHashMap

快速理解 HashMap

2023-02-22 22:06:33 843

原创 Spring IOC 容器 Bean 加载过程

一步到胃

2023-02-20 21:51:19 594

原创 Spring Bean 的生命周期指什么?

Bean的生命周期指什么?

2023-02-20 20:20:33 179

原创 【快速复习】一文看懂 Mysql 核心存储 & 隔离级别 & 锁 & MVCC 机制

mysql 我觉得行

2023-02-16 22:31:55 635

原创 【算法自由之路】 贪心算法

让人头秃的贪心算法……

2023-02-14 21:56:20 3753

原创 【算法自由之路】二叉树的基本算法

直接搞定二叉树遍历和序列化

2023-02-08 22:19:35 140

原创 【Java 并发编程】volatile 、synchronized 与 lock 可见性、有序性、原子性大杀器

看懂锁的本质

2023-02-06 20:55:54 1028

原创 【算法自由之路】二叉树的递归套路

二叉树的递归套路,直接解决树的 99% 的问题

2023-01-31 22:31:38 335

原创 【一文看懂 Redis 核心】 基础数据结构 & 架构设计 & 存储 & 集群

就是快,就是效率

2023-01-26 17:54:39 804

原创 【算法自由之路】快慢指针在链表中的妙用(下篇)

从此链表问题不在发愁,链表精通必学,必经之路

2023-01-08 19:13:38 260

原创 【算法自由之路】快慢指针在链表中的妙用(上篇)

快速了解核心解法和应用,硬核,但希望你看懂消化

2023-01-04 21:56:12 302

原创 【一文看懂 ES 核心】存储&查询&集群

为了平衡索引存储的大小问题,ES 提供对索引进行了分片的能力,简单理解就是将一个大容量的索引分为多份存储,有几个分片就有几份,而分片可以分布在不同的节点上。通常来说企业级的 ES 一定是要组件集群的否则无法达到高可用,对于 ES 服务节点查询请求会发送到某一个 DataNode 数据节点上,此时这个节点会成为协调节点,该节点会广播这个查询请求到其他节点,其他节点在对应分片上进行数据查询最后将数据信息返回给协调节点,协调节点汇总数据进行返回。是可以被索引的基元,人话就是:一条数据,一条记录。

2022-12-28 21:39:44 2003

原创 【Java 快速复习】 Java 内存模型 & 并发问题本质

理解并发问题是如何产生的,才明白为什么要解决并发问题,才能从根本上解决并发问题

2022-12-08 21:37:22 443

原创 Java 中文转拼音工具类 (附带长度转换 2:1)

中文转拼音,中文为 2 字符判断截取工具类

2022-12-06 17:15:18 409

原创 【Java 快速复习】垃圾回收算法 & 垃圾回收器

垃圾回收器聊到这个地步真的可以了!

2022-12-03 21:15:51 616

原创 【算法自由之路】前缀树 & 桶排序之计数排序和基数排序

前缀树有大用!!

2022-11-28 22:15:06 387

原创 快速理解 JVM 内存模型 & 对象组成 & 对象内存分配

纯纯干货,快速复习,建议收藏,希望你有一定理论基础,否则估计是看不懂内存分配,你理解到这个层次基本是够了

2022-11-21 23:22:06 216

原创 【算法自由之路】重要的堆结构、堆排序排序算法通用比较器

什么是堆?如何用数组自己实现一个堆结构?何时用堆?快速告诉你答案,附带实现代码

2022-11-20 17:59:44 425

原创 【算法自由之路】归并、快排

快速理解归并思想,快排思想附带源码及对数器

2022-11-14 00:00:48 148

原创 【算法自由之路】链表、栈、队列、递归、哈希表

阅读本文希望你有一定基础,否则可能看不懂,不说废话快速复习算法

2022-11-07 21:42:42 653

原创 【算法自由之路】算法复杂度、对数器、基本排序、异或与位运算技巧

算法复杂度、对数器、基本排序、异或与位运算技巧

2022-11-05 22:13:54 184

原创 理解 ByteBuffer

当我们创建一个 ByteBuffer 实例时,mark 是未定义的初始值 -1,position 是 0 ,limit = capacity。从概念上讲,ByteBuffer 是对字节数组进行了包装,提供了一系列方法对底层的数据进行读写操作,且这一系列的方法高度依赖于维护的索引。flip 翻转,限制更新为当前位置,当前位置重置为 0,会从写模式切换为读模式,一般会配合 compact 方法使用。到内存来创建直接字节缓冲区,字节缓冲区是直接的还是非直接的可以通过调用 isDirect。

2022-11-04 19:25:29 804

x-editable行内编辑bootstraptable所需包

x-editable行内编辑bootstraptable所需包,包括js文件和css文件

2019-03-13

IDEA推荐插件包合集

用就对了,包括backgroundImagePlus,CodeGlance,GsonFormat 等常用插件

2018-12-25

Linux命令大全

Linux命令大全(修改版) 进行重新编译的说明 文件传输 bye ftp ftpcount ftpshut ftpwho ncftp tftp uucico uucp uupick uuto 备份压缩 ar bunzip2 bzip2 bzip2recover compress cpio dump gunzip gzexe gzip lha restore tar unarj unzip zip zipinfo 文件管理 diff diffstat file find git gitview ln locate lsattr mattrib mc mcopy mdel mdir mktemp mmove mread mren mshowfat mtools mtoolstest mv od paste patch rcp rhmask rm slocate split tee tmpwatch touch umask whereis which cat chattr chgrp chmod chown cksum cmp cp cut indent 磁盘管理 cd df dirs du edquota eject lndir ls mcd mdeltree mdu mkdir mlabel mmd mmount mrd mzip pwd quota quotacheck quotaoff quotaon repquota rmdir rmt stat tree umount 磁盘维护 badblocks cfdisk dd e2fsck ext2ed fdisk fsck.ext2 fsck fsck.minix fsconf hdparm losetup mbadblocks mformat mkbootdisk mkdosfs mke2fs mkfs.ext2 mkfs mkfs.minix mkfs.msdos mkinitrd mkisofs mkswap mpartition sfdisk swapoff swapon symlinks sync 系统设置 alias apmd aumix bind chkconfig chroot clock crontab declare depmod dircolors dmesg enable eval export fbset grpconv grpunconv hwclock insmod kbdconfig lilo liloconfig lsmod minfo mkkickstart modinfo modprobe mouseconfig ntsysv passwd pwconv pwunconv rdate resize rmmod rpm set setconsole setenv setup sndconfig SVGAText Mode timeconfig ulimit unalias unset 系统管理 adduser chfn chsh date exit finger free fwhois gitps groupdel groupmod halt id kill last lastb login logname logout logrotate newgrp nice procinfo ps pstree reboot renice rlogin rsh rwho screen shutdown sliplogin su sudo suspend swatch tload top uname useradd userconf userdel usermod vlock w who whoami whois 文档编辑 col colrm comm csplit ed egrep ex fgrep fmt fold grep ispell jed joe join look mtype pico rgrep sed sort spell tr uniq wc 网络通讯 dip getty mingetty ppp-off smbd(samba daemon) telnet uulog uustat uux cu dnsconf efax httpd ifconfig mesg minicom nc netconf netconfig netstat ping pppstats samba setserial shapecfg(shaper configuration) smbd(samba daemon) statserial(status ofserial port) talk tcpdump testparm(test parameter) traceroute tty(teletypewriter) uuname wall(write all) write ytalk arpwatch apachectl smbclient(samba client) pppsetup 电子邮件与新闻组 archive ctlinnd elm getlist inncheck mail mailconf mailq messages metamail mutt nntpget pine slrn X WINDOWS SYSTEM reconfig startx(start X Window) Xconfigurator XF86Setup xlsatoms xlsclients xlsfonts 其他

2017-10-13

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

TA关注的人

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