kkkkatoq
码龄7年
求更新 关注
提问 私信
  • 博客:144,484
    144,484
    总访问量
  • 116
    原创
  • 736
    粉丝
  • 178
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
加入CSDN时间: 2019-04-27
博客简介:

kkkkatoq的博客

查看详细资料
个人成就
  • 获得1,150次点赞
  • 内容获得27次评论
  • 获得1,390次收藏
  • 代码片获得3,427次分享
  • 博客总排名26,553名
  • 原力等级
    原力等级
    5
    原力分
    1,381
    本月获得
    2
创作历程
  • 27篇
    2025年
  • 55篇
    2024年
  • 34篇
    2023年
成就勋章
TA的专栏
  • 前端相关
    5篇
  • 容器相关
    2篇
  • 相关软件安装与配置
    1篇
  • linux相关
    3篇
  • MQ相关
    2篇
  • 并发编程
    11篇
  • 常用Java类库使用
    6篇
  • 设计模式
    5篇
  • Java常用文件处理类
    1篇
  • 关于SSM项目
    2篇
  • HTTP相关
    4篇
  • JDBC 以及 ORM框架
    7篇
  • 数据库相关
    23篇
  • java实现自定义注解
    2篇
  • Redis相关
    5篇
  • java日志框架总结
    7篇
  • OpenFeign的使用以及底层组件的扩展
    2篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 19

TA参与的活动 0

兴趣领域 设置
  • Java
    javaspringmavenstrutsintellij-ideaspring bootspring cloudlog4jservletsentineljava-zookeeperjava-rabbitmqjava-activemqjava-rocketmq
创作活动更多

AI 镜像开发实战征文活动

随着人工智能技术的飞速发展,AI 镜像开发逐渐成为技术领域的热点之一。Stable Diffusion 3.5 FP8 作为强大的文生图模型,为开发者提供了更高效的图像生成解决方案。为了推动 AI 镜像开发技术的交流与创新,我们特此发起本次征文活动,诚邀广大开发者分享在 Stable Diffusion 3.5 FP8 文生图方向的实战经验和创新应用 本次征文活动鼓励开发者围绕 Stable Diffusion 3.5 FP8 文生图方向,分享以下方面的内容: 1. 技术实践与优化 - Stable Diffusion 3.5 FP8 模型架构解析与优化技巧 - 文生图生成效果的提升方法与技巧 - 模型部署与加速策略,例如使用 Hugging Face、Diffusers 等工具 - 针对特定场景(例如二次元、写实风)的模型微调与定制化开发 2. 应用场景探索 - Stable Diffusion 3.5 FP8 在不同领域的应用案例分享,例如游戏设计、广告创意、艺术创作等 - 利用 Stable Diffusion 3.5 FP8 实现图像编辑、图像修复、图像增强等功能的探索 - 结合其他 AI 技术(例如 NLP、语音识别)构建更强大的应用 3. 创新应用与思考 - 基于 Stable Diffusion 3.5 FP8 的创新应用场景设计 - AI 镜像开发的未来发展方向的思考与展望 - 对 AI 镜像开发伦理、安全等问题的探讨

28人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

五、JavaScript(二)

讲解原型之前,先看一个栗子。// 添加属性person.eat = function() { // 添加方法在上面的代码中,通过 Person 类创建了 person 对象,并给 person 对象添加了属性和方法。但是在打印 person 对象的时候,发现并没有sayHello()方法,这是为什么呢?对象自身在类中通过赋值的方式(x = value)添加的属性,位于对象自身中;直接通过对象.属性 = value的方式添加的属性,位于对象自身中。原型对象。
原创
博文更新于 2025.09.19 ·
971 阅读 ·
8 点赞 ·
0 评论 ·
30 收藏

五、JavaScript(一)

HTML:用于描述页面的结构;CSS:用于控制页面中元素的样式;JavaScript:用于响应用户操作;通过 JavaScript 可以对用户操作(如点击、输入)作出响应,增强用户与页面的互动性。还可以在数据提交前检查表单输入,保证数据有效性;动态改变网页的内容、结构和样式等等。
原创
博文更新于 2025.09.16 ·
990 阅读 ·
13 点赞 ·
0 评论 ·
9 收藏

Docker 二、高级篇

为了在节点数目发生改变时尽可能少的迁移数据将所有的存储节点排列在收尾相接的Hash环上,每个key在计算Hash后会顺时针找到临近的存储节点存放。而当有节点加入或退出时仅影响该节点在Hash环上顺时针相邻的后续节点。优点:加入和删除节点只影响哈希环中顺时针方向的相邻的节点,对其他节点无影响。缺点 :数据的分布和节点的位置有关,因为这些节点不是均匀的分布在哈希环上的,所以数据在进行存储时达不到均匀分布的效果。
原创
博文更新于 2025.09.11 ·
750 阅读 ·
15 点赞 ·
0 评论 ·
18 收藏

linux安装docker-compose

一般推荐采用离线版本下载,因为直接访问github访问受限,而从国内镜像源在线下载,镜像源返回了 HTML 页面而非实际的 docker-compose 可执行文件,不清楚具体原因,离线模式下载可以。所以推荐离线模式下载。 下载完放到服务器 确保显示/usr/local/bin/docker-compose 如果显示不对或版本没更新有两种可能: ①确保删除旧版本并重新移动新版本,更改符号链接 ②没有写入环境变量读取
原创
博文更新于 2025.09.09 ·
343 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

Docker 一、基础篇

1)为什么会有docker出现假设你现在使用的是一台笔记本电脑而且你的开发环境具有特定的配置,其他开发人员身处的环境配置也各有不同。您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件,此外您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。您希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销。并且在部署过程中不出现令人头疼的版本、配置问题,也无法重新编写代码和进行故障修复。
原创
博文更新于 2025.06.13 ·
571 阅读 ·
24 点赞 ·
0 评论 ·
11 收藏

Linux相关问题整理

将 # baseurl=http://mirror.centos.org/centos/7/sclo/$basearch/sclo/ 修改为 baseurl=https://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/sclo/原因是scl没有配置为阿里云的,或者配置为阿里云的方式不正确。安装redis6.0.8版本是,make编译时报错,直接原因是gcc版本过低,这里推荐在线安装,通过yum命令。上面配置完阿里云镜像之后,在进行gcc的升级。
原创
博文更新于 2025.06.13 ·
953 阅读 ·
14 点赞 ·
0 评论 ·
27 收藏

linux安装Redis6.0.8

如果gcc小于7的话,安装redis6.0.8版本make时会报错,一般自带的版本都比较低,所以要升级一下gcc版本。这里使用的时wget下载,需要你的服务器时联网环境,如果是内网的或者无法联网,也可以离线下载之后再上传。#更新系统中的所有已安装软件包到最新的稳定版本,推荐在首次部署新机器时执行一次。你会看到 Redis 启动成功的信息,默认监听端口是 6379。我们的安装目录一般是 /usr/local/redis。Redis 编译后生成的可执行文件在。#安装 Redis 编译和测试所需的依赖工具。
原创
博文更新于 2025.06.12 ·
403 阅读 ·
6 点赞 ·
0 评论 ·
8 收藏

linux安装JDK8

下载好安装包之后,在linux服务器下的 usr/local/ 目录下创建 java目录。一般是 rz 命令上传,zip包解压使用 unzip,tar包解压需要自行查询以下。Oracle 提供了下载,但需要登录 Oracle 账号才能下载。然后在该目录下上传下载好的 zip包或者tar包。:该仓库提供了 JDK 1.8.0_144 的直接下载资源。
原创
博文更新于 2025.06.11 ·
432 阅读 ·
8 点赞 ·
0 评论 ·
2 收藏

RocketMQ 二、核心概念

同⼀类Consumer的集合,这类Consumer通常消费同⼀类消息且消费逻辑⼀致。⽤于保证⽣产者的⾼可⽤,⽐如在事务消息中回查本地事务状态,需要⽣产者具备⾼可⽤的特性,才能完成整个任务。普通顺序消费模式下,消费者通过同⼀个消费队列收到的消息是有顺序的,不同消息队列收到的消息则可能是⽆顺序的。负责⽣产消息,⼀般由业务系统负责⽣产消息。消息系统所传输信息的物理载体,⽣产和消费数据的最⼩单位,每条消息必须属于⼀个主题。表示⼀类消息的集合,每个主题包含若⼲条消息,每条消息只能属于⼀个主题,是RocketMQ。
原创
博文更新于 2025.06.02 ·
551 阅读 ·
19 点赞 ·
0 评论 ·
9 收藏

RocketMQ 一、基础与应用

使⽤异步的通信⽅式对模块间的调⽤进⾏解耦,可以快速的提升系统的吞吐量。通过消息队列,屏蔽底层的通信协议,使得解藕和并⾏消费得以实现。随着使⽤中队列和虚拟主题的增加,阿⾥巴巴团队使⽤的ActiveMQ IO 模块达到了瓶颈。⽐如以电商订单系统为例,如果各服务之间使⽤同步通信,不仅耗时较久,且过程中受到⽹络波动的影响,不能保证⾼成功率。因此,使⽤异步的通信⽅式对架构进⾏改造。在这种情况下,决定发明⼀种新的消息传递引擎来处理更⼴泛的⽤例,从传统的发布/消息队列解决的不是存放消息的队列的⽬的,解决的是通信问题。
原创
博文更新于 2025.06.02 ·
1019 阅读 ·
22 点赞 ·
0 评论 ·
17 收藏

ReentrantLock、ReentrantReadWriteLock、StampedLock讲解

ReentrantReadWriteLock实现了读写分离,但是一旦读操作比较多的时候,想要获取写锁就变得比较困难了,假如当前1000个线程,999个读,1个写,有可能999个读取线程长时间抢到了锁,那1个写线程就悲剧了因为当前有可能会一直存在读锁,而无法获得写锁,根本没机会写。ReentrantReadWriteLock读的过程中不允许写,只有等待线程都释放了读锁,当前线程才能获取写锁,也就是写入必须等待,这是一种悲观的读锁,人家还在读着那,你先别去写,省的数据乱。所以,需要释放所有读锁,才可获取写锁。
原创
博文更新于 2025.05.18 ·
305 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

JUC并发编程

Monitor其实是一种同步机制,它的义务是保证(同一时间)只有一个线程可以访问被保护的数据和代码,JVM中同步是基于进入和退出监视器(Monitor管程对象)来实现的,每个对象实例都会有一个Monitor对象,Monitor对象和Java对象一同创建并销毁,底层由C++语言实现。是一种特殊的线程为其他线程服务的,在后台默默地完成一些系统性的任务,比如垃圾回收线程就是最典型的例子。是在不同实体上的多个事件,是在多台处理器上同时处理多个任务,同一时刻,大家都在做事情,你做你的,我做我的,各干各的。
原创
博文更新于 2025.05.18 ·
997 阅读 ·
11 点赞 ·
0 评论 ·
20 收藏

AbstractQueuedSynchronizer之AQS

公平锁和非公平锁: 公平锁:锁被释放以后,先申请的线程先得到锁。性能较差一些,因为公平锁为了保证时间上的绝对顺序,上下文切换更频繁 非公平锁:锁被释放以后,后申请的线程可能会先获取到锁,是随机或者按照其他优先级排序的。性能更好,但可能会导致某些线程永远无法获取到锁 可重入锁: 也叫做递归锁,指的是线程可以再次获取自己的内部锁,比如一个线程获取到了对象锁,此时这个对象锁还没有释放,当其想再次获取这个对象锁的时候还是可以获取的,如果不可重入的话,会导
原创
博文更新于 2025.05.18 ·
272 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Synchronized与锁升级

锁升级的过程:锁升级后,hashcode去哪儿了?
原创
博文更新于 2025.05.13 ·
402 阅读 ·
4 点赞 ·
0 评论 ·
3 收藏

Java对象内存布局和对象头

对象需要存储的运行时数据很多,其实已经超出了32、64位Bitmap结构所能记录的最大限度,但对象头里的信息是与对象自身定义的数据无关的额外存储成本,考虑到虚拟机的空间效 率,Mark Word被设计成一个有着动态定义的数据结构,以便在极小的空间内存储尽量多的数据,根据对象的状态复用自己的存储空间。可以看到一共占用了16个字节,对象头占8个字节,类型指针占4个字节,数组长度4个字节,总共16字节。(在64位系统中,Mark Word占了8个字节,类型指针占了8个字节,一共是16个字节)
原创
博文更新于 2025.05.11 ·
393 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

ThreadLocal

5个销售买房子,集团只关心销售总量的准确统计数,按照总销售额统计,方便集团公司给部分发送奖金--------群雄逐鹿起纷争------为了数据安全只能加锁/*** 需求:5个销售卖房子,集团只关心销售总量的精确统计数*/i <= 5;j++) {try {System.out.println(Thread.currentThread().getName() + "\t" + "共计卖出多少套: " + house.saleCount);/**
原创
博文更新于 2025.05.11 ·
265 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

CAS与原子类

就是说多线程环境操作时,第一步先将主内存中的值读取到工作内存中,这个工作内存中的值就是旧的预期值,主内存中的值就是内存值,在自己的工作区执行完之后,比如说在工作内存中进行了 i++ 操作,然后执行完操作之后,会将工作内存中的值跟主内存中的值进行对比,如果一致则进行重写操作,如果不一致则本次操作作废,重新进行读取然后操作。CAS是实现自旋锁的基础,CAS利用CPU指令保证了操作的原子性,以达到锁的效果,至于自旋呢,看字面意思也很明白,自己旋转。原子类靠的是CAS思想,CAS思想实现靠的是Unsafe类。
原创
博文更新于 2025.05.09 ·
677 阅读 ·
16 点赞 ·
0 评论 ·
26 收藏

Java内存模型JMM与volatile关键字

1、你知道什么是Java内存模型JMM吗?2、JMM和volatile他们两个之间的关系?3、JMM没有那些特征或者它的三大特征是什么?4、为什么要有JMM,它为什么出现?作用和功能是什么?5、happens-before先行并发原则你有了解过吗?
原创
博文更新于 2025.04.27 ·
281 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

LockSupport与线程中断

Java.lang.Thread下的三个方法:
原创
博文更新于 2025.04.23 ·
218 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Java中的锁

乐观锁: 认为自己在使用数据的时候不会有别的线程修改数据或资源,不会添加锁,Java中使用无锁编程来实现,只是在更新的时候去判断,之前有没有别的线程更新了这个数据,如果这个数据没有被更新,当前线程将自己修改的数据成功写入,如果已经被其他线程更新,则根据不同的实现方式执行不同的操作,比如:放弃修改、重试抢锁等等。-----适合读操作多的场景,不加锁的特性能够使其读操作的性能大幅提升,乐观锁则直接去操作同步资源,是一种无锁算法,得之我幸不得我命---佛系锁。
原创
博文更新于 2025.04.22 ·
506 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏
加载更多