lix2560
码龄6年
求更新 关注
提问 私信
  • 博客:53,409
    53,409
    总访问量
  • 50
    原创
  • 747
    粉丝
  • 112
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:安徽省
加入CSDN时间: 2019-12-30

个人简介:联系博主WX: l2560i 邮箱:l2560i@163.com

博客简介:

weixin_46117680的博客

查看详细资料
个人成就
  • 获得1,009次点赞
  • 内容获得0次评论
  • 获得1,058次收藏
  • 代码片获得102次分享
  • 博客总排名1,565,369名
创作历程
  • 50篇
    2024年
成就勋章
TA的专栏
  • MySql
    13篇
  • java集合
    2篇
  • java项目
    9篇
  • JVM
    7篇
  • JUC
    10篇
  • Spring
    8篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 9

TA参与的活动 0

兴趣领域 设置
  • Java
    javaspringmavenjava-eespring bootspring cloudjvmmybatisjava-rabbitmq
创作活动更多

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人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

学习日志:MySQL 记录锁+间隙锁可以防止删除操作而导致的幻读吗?

当同一个查询在不同的时间产生不同的结果集时,事务中就会出现所谓的幻象问题。例如,如果 SELECT 执行了两次,但第二次返回了第一次没有返回的行,则该行是“幻像”行。举个例子,假设一个事务在 T1 时刻和 T2 时刻分别执行了下面查询语句,途中没有执行其他任何语句:只要 T1 和 T2 时刻执行产生的结果集是不相同的,那就发生了幻读的问题,比如:T1 时间执行的结果是有 5 条行记录,而 T2 时间执行的结果是有 6 条行记录,那就发生了幻读的问题。
原创
博文更新于 2024.08.03 ·
746 阅读 ·
11 点赞 ·
0 评论 ·
21 收藏

学习日志:update 没加索引会锁全表

在线上执行一条 update 语句修改数据库数据的时候,where 条件没有带上索引,导致业务直接崩了为什么会发生这种的事故?又该如何避免这种事故的发生?说个前提,接下来说的案例都是基于 InnoDB 存储引擎,且事务的隔离级别是可重复读。不要小看一条 update 语句,在生产机上使用不当可能会导致业务停滞,甚至崩溃。当我们要执行 update 语句的时候,确保 where 条件中带上了索引列,并且在测试机确认该语句是否走的是索引扫描,防止因为扫描全表,而对表中的所有记录加上锁。
原创
博文更新于 2024.08.03 ·
1345 阅读 ·
26 点赞 ·
0 评论 ·
28 收藏

学习日志:mysql加锁

当查询的记录是「存在」的,在索引树上定位到这一条记录后,将该记录的索引中的 next-key lock 会退化成「记录锁」。当查询的记录是「不存在」的,在索引树找到第一条大于该查询记录的记录后,将该记录的索引中的next-key lock 会退化成「间隙锁」。当查询的记录「存在」时,由于不是唯一索引,所以肯定存在索引值相同的记录,于是非唯一索引等值查询的过程是一个扫描的过程,直到扫描到第一个不符合条件的二级索引记录就停止扫描,然后。
原创
博文更新于 2024.08.03 ·
1025 阅读 ·
11 点赞 ·
0 评论 ·
9 收藏

学习日志:MySQL 的锁

在 MySQL 里,根据加锁的范围,可以分为全局锁、表级锁和行锁三类。
原创
博文更新于 2024.08.02 ·
1836 阅读 ·
19 点赞 ·
0 评论 ·
26 收藏

学习日志:MySQL 可重复读隔离级别,处理幻读

针对快照读(普通 select 语句),是通过 MVCC方式解决了幻读,因为可重复读隔离级别下,事务执行过程中看到的数据,一直跟这个事务启动时看到的数据是一致的,即使中途有其他事务插入了一条数据,是查询不出来这条数据的,所以就很好了避免幻读问题。针对当前读(select … for update 等语句),是通过 next-key lock(记录锁+间隙锁)方式解决了幻读。
原创
博文更新于 2024.08.02 ·
916 阅读 ·
21 点赞 ·
0 评论 ·
8 收藏

学习日志:事务隔离级别

转账这一动作在程序里会涉及到一系列的操作,假设我向你转账 100 万的过程是有下面这几个步骤组成的:可以看到这个转账的过程涉及到了两次修改数据库的操作。假设在执行第三步骤之后,服务器忽然掉电了,就会发生一个蛋疼的事情,我的账户扣了 100 万,但是钱并没有到你的账户上,也就是说这 100 万消失了!要解决这个问题,就要保证转账业务里的所有数据库的操作是不可分割的,要么全部执行成功 ,要么全部失败,不允许出现中间状态的数据。数据库中的「事务(Transaction)」就能达到这样的效果。
原创
博文更新于 2024.08.02 ·
964 阅读 ·
20 点赞 ·
0 评论 ·
29 收藏

学习日志:不同的count 性能

当我们对一张数据表中的记录进行统计的时候,习惯都会使用 count 函数来统计,但是 count 函数传入的参数有很多种,比如 count(1)、count(*)、count(字段) 等。
原创
博文更新于 2024.08.01 ·
796 阅读 ·
20 点赞 ·
0 评论 ·
18 收藏

学习日志:索引失效

常见的 6 种会发生索引失效的场景。当我们使用左或者左右模糊匹配的时候,也就是 like %xx 或者 like %xx%这两种方式都会造成索引失效;当我们在查询条件中对索引列使用函数,就会导致索引失效。当我们在查询条件中对索引列进行表达式计算,也是无法走索引的。MySQL 在遇到字符串和数字比较的时候,会自动把字符串转为数字,然后再进行比较。
原创
博文更新于 2024.08.01 ·
845 阅读 ·
28 点赞 ·
0 评论 ·
21 收藏

学习日志:MySQL 采用 B+ 树作为索引

MySQL 采用 B+ 树作为索引不单单要从数据结构的角度出发,还要考虑磁盘 I/O 操作次数,因为 MySQL 的数据是存储在磁盘中的。MySQL 是会将数据持久化在硬盘,而存储功能是由 MySQL 存储引擎实现的,所以讨论 MySQL 使用哪种数据结构作为索引,实际上是在讨论存储引使用哪种数据结构作为索引,InnoDB 是 MySQL 默认的存储引擎,它就是采用了 B+ 树作为索引的数据结构。
原创
博文更新于 2024.08.01 ·
937 阅读 ·
21 点赞 ·
0 评论 ·
15 收藏

学习日志:从数据页的角度看 B+ 树

从数据页的角度看 B+ 树,看看每个节点长啥样。InnoDB 的数据是按「数据页」为单位来读写的,默认数据页大小为 16 KB。每个数据页之间通过双向链表的形式组织起来,物理上不连续,但是逻辑上连续。数据页内包含用户记录,每个记录之间用单向链表的方式组织起来,为了加快在数据页内高效查询记录,设计了一个页目录,页目录存储各个槽(分组),且主键值是有序的,于是可以通过二分查找法的方式进行检索从而提高效率。为了高效查询记录所在的数据页,InnoDB 采用 b+ 树作为索引,每个节点都是一个数据页。
原创
博文更新于 2024.08.01 ·
665 阅读 ·
18 点赞 ·
0 评论 ·
28 收藏

学习日志:索引

从索引的基本原理,再到索引的使用场景索引底层使用了什么数据结构和算法?为什么 MySQL InnoDB 选择 B+tree 作为索引的数据结构?什么时候适用索引?什么时候不需要创建索引?什么情况下索引会失效?有什么优化索引的方法?这次主要介绍了索引的原理、分类和使用。我把重点总结在了下面这个表格。
原创
博文更新于 2024.08.01 ·
961 阅读 ·
15 点赞 ·
0 评论 ·
9 收藏

学习日志:MySQL 一行记录的存储结构

MySQL 的 NULL 值会占用空间吗?MySQL 怎么知道 varchar(n) 实际占用数据的大小?varchar(n) 中 n 最大取值为多少?行溢出后,MySQL 是怎么处理的?这些问题看似毫不相干,其实都是在围绕「 MySQL 一行记录的存储结构」这一个知识点,所以攻破了这个知识点后,这些问题就引刃而解了。MySQL 的 NULL 值是怎么存放的?
原创
博文更新于 2024.07.31 ·
1120 阅读 ·
29 点赞 ·
0 评论 ·
30 收藏

学习日志:MySql的执行流程

MySQL 执行一条 select 查询语句,在 MySQL 中期间发生了什么?执行一条 SQL 查询语句,期间发生了什么?连接器:建立连接,管理连接、校验用户身份;查询缓存:查询语句如果命中查询缓存则直接返回,否则继续往下执行。MySQL 8.0 已删除该模块;解析 SQL,通过解析器对 SQL 查询语句进行词法分析、语法分析,然后构建语法树,方便后续模块读取表名、字段、语句类型;预处理阶段:检查表或字段是否存在;将 select * 中的 * 符号扩展为表上的所有列。优化阶段。
原创
博文更新于 2024.07.31 ·
2610 阅读 ·
25 点赞 ·
0 评论 ·
28 收藏

Java ArrayList

ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapacity操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。
原创
博文更新于 2024.07.29 ·
412 阅读 ·
5 点赞 ·
0 评论 ·
7 收藏

Java HashMap

HashMap 主要用来存放键值对,它基于哈希表的 Map 接口实现,是常用的 Java 集合之一,是非线程安全的。HashMap 可以存储 null 的 key 和 value,但 null 作为键只能有一个,null 作为值可以有多个JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的(“拉链法”解决冲突)。
原创
博文更新于 2024.07.29 ·
478 阅读 ·
3 点赞 ·
0 评论 ·
10 收藏

项目总结:JWT

官网:https://jwt.io/拿到了jwt令牌下一步就要携带令牌去访问资源服务中的资源,本项目各个微服务就是资源服务,比如:内容管理服务,客户端申请到jwt令牌,携带jwt去内容管理服务查询课程信息,此时内容管理服务要对jwt进行校验,只有jwt合法才可以继续访问。令牌采用JWT格式即可解决上边的问题,用户认证通过后会得到一个JWT令牌,JWT令牌中已经包括了用户相关的信息,客户端只需要携带JWT访问资源服务,资源服务根据事先约定的算法自行完成令牌校验,无需每次都请求认证服务完成授权。
原创
博文更新于 2024.07.28 ·
830 阅读 ·
15 点赞 ·
0 评论 ·
26 收藏

学习日志:双亲委派模型

类加载器有很多种,当我们想要加载一个类的时候,具体是哪个类加载器加载呢?这就需要提到双亲委派模型了。ClassLoader 类使用委托模型来搜索类和资源。双亲委派模型要求除了顶层的启动类加载器外,其余的类加载器都应有自己的父类加载器。ClassLoader 实例会在试图亲自查找类或资源之前,将搜索类或资源的任务委托给其父类加载器。
原创
博文更新于 2024.07.28 ·
1121 阅读 ·
19 点赞 ·
0 评论 ·
28 收藏

学习日志:类加载器

类加载过程:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。加载是类加载过程的第一步,主要完成下面 3 件事情:1.通过全类名获取定义此类的二进制字节流2.将字节流所代表的静态存储结构转换为方法区的运行时数据结构3.在内存中生成一个代表该类的 Class 对象,作为方法区这些数据的访问入口类加载器类加载器从 JDK 1.0 就出现了,最初只是为了满足 Java Applet(已经被淘汰) 的需要。
原创
博文更新于 2024.07.28 ·
876 阅读 ·
11 点赞 ·
0 评论 ·
27 收藏

学习日志:类加载过程

(字节码)。对于 () 方法的调用,虚拟机会自己确保其在多线程环境中的安全性。因为 () 方法是带锁线程安全,所以在多线程环境下进行类初始化的话可能会引起多个线程阻塞,并且这种阻塞很难被发现。
原创
博文更新于 2024.07.27 ·
694 阅读 ·
30 点赞 ·
0 评论 ·
17 收藏

项目总结: OAuth2认证

微信扫码认证,这是一种第三方认证的方式,这种认证方式是基于OAuth2协议实现,OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。Oauth协议目前发展到2.0版本,1.0版本过于复杂,2.0版本已得到广泛应用。
原创
博文更新于 2024.07.25 ·
821 阅读 ·
14 点赞 ·
0 评论 ·
9 收藏
加载更多