自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 问答 (1)
  • 收藏
  • 关注

原创 Spring之@Transactional核心源码解读

在基于Spring框架的程序中我们一般会使用Spring提供的事务管理器对事务进行管理。Spring支持编程式事务以及声明式事务,声明式事务使用@Transactional注解标志方法,表示开启事务,使用注解较为简洁、方便,也是Spring中较常用的开启事务的方式,为了能灵活使用@Transactional注解,有必要对该注解的实现深入了解。

2023-02-15 16:28:01 982

原创 MySQL的InnoDB锁详解

现代大多数程序都支持多线程并发的访问资源,允许并发访问可以提升CPU利用率 ,但这可能会导致共享资源最终产生与预期不符的结果,对共享资源加锁可以作为这个问题解决方式。锁是计算机用于协调多线程对共享资源并发访问的一种同步机制,加锁可以保证并发访问共享资源的一致性,所以锁的存在是必要的。MySQL可以用于存储数据,支持多线程处理数据,这可能导致并发问题产生,MySQL实现了许多种锁用于解决并发问题,对这些锁适当的了解可以提升我们对MySQL的使用能力,在产生问题时为我们提供解决思路。

2023-01-29 14:39:45 1078 1

原创 数据库设计规范

一. 命名规则库名、表名、字段名使用小写字母和下划线。非唯一索引 idx_1_2,唯一索引 uniq_1_2二. 基本规范没有其他特别的要求,innodb存储引擎为首选使用utf8或utf8mb4字符集表、字段有comments避免在数据库中存储图片、文件等大数据三. 库表设计规范表必须有主键单表的字段数不要过多禁止使用外键,如果有外键约束,可以在应用程序中实现数据库应有这些字段四. 索引设计规范单表中索引数据尽量不要超过5个单索引中字段数尽量不要超过5个字符

2021-01-12 15:12:40 352

原创 vue-cli的安装

从官网下载安装node.js安装后直接解压查看是否安装成功node --versionnode.js使用npm对包进行管理,但即使没有安装npm,node.js也会默认帮你安装npmnpm --version设置全局目录npm config set prefix "D:\nodejs\node_global"npm config set prefix "D:\nodejs\node_cache"使用npm获取数据速度非常慢,可以安装cnpm国内镜像加快速度npm install.

2021-01-11 20:56:46 117

原创 git基本使用技巧

################################################################### git语法################################################################### 查看远程仓库的分支git remote# 查看远程仓库的fetch和push对应的仓库git remote -v# 查看当前分支追踪的远程分支git branch -vv# 将远程分支拉到本地分支并追踪指定的远程

2021-01-11 17:04:22 73

原创 笔记之高性能MySQL(一)

MySQL逻辑架构三层架构第一层:连接处理、授权认证、安全等第二层:拥有大量的MySQL核心功能,包括查询解析、分析、优化、缓存以及所有内置函数;且所有跨存储引擎功能都在这一层实现,如存储过程、触发器、视图等第三层:包括存储引擎层,存储引擎负责对MySQL中的数据进行存储和提取,服务器通过API与存储引擎进行通信,这些API的存在,屏蔽了不同存储引擎之间的差异,用于执行开启一个事务,通过主键查询数据等操作,但存储引擎不解析SQL...

2021-01-10 22:27:42 117

原创 笔记之RocketMQ技术内幕(二)

消息中间件的设计思路:一般基于主题的订阅发布机制。生产者发送某主题的消息到消息服务器,消息服务器将此消息持久化;消费者订阅特定的主题,消息服务器根据订阅信息将消息push到消费者或者消费者主动pull消息。这样的好处是实现解耦,生产者只用关注于将消息发送到消息队列,消费者需要消费消息只需要从消息队列获取,但可能会降低系统的可用性,系统依赖的外部系统越多,那么就会使得系统越复杂,如果消息服务器崩溃,会造成整个系统都不可用。所以为了避免消息服务器的单点故障使整个系统瘫痪,通常会部署多台消息服务器,它们共同承担

2021-01-10 22:19:24 298

原创 笔记之RocketMQ技术内幕(一)

使用消息队列的原因三个主要原因:解耦、异步、削峰解耦:多个模块或多个系统之间相互调用,但不需要同步调用接口,可以使用MQ异步化解耦。生产者只需要将数据发送到MQ不用去管给谁消费,而消费者只需要从MQ中获取数据。异步:使客户端的响应更加迅速削峰:系统每天的并发访问量只有一小段时间会暴增,如果只使用MySQL,这些数据请求会直接请求到MySQL,可能导致MySQL扛不住这么大的并发而崩溃,而MQ可以减少数据库的压力。缺点导致系统的可用性降低...

2021-01-03 15:41:34 231

原创 python之删除排序数组中的重复项

LeetCode原题,题目是:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。原题是:删除排序数组中的重复项两种解决方法:① 逐一检查数组中的元素,与前一个元素比较相等则其后所有数组往前挪一位,时间复杂度为O(n2)② 使用两个指针,一个指向...

2020-02-28 12:04:12 697

原创 Java两数之和(二)

一、第二次写两数之和代码思想过程:继续昨天写的两数之和,今天又继续与那道题作斗争。对我这种菜鸟来说真的太难了,哭泣 o(╥﹏╥)o。今天挣扎了几小时后,沉浸在BUG的海洋中,代码改了一遍又一遍后,每改完一个就期望着这是最后一个,结果每次快自救上岸,但浪花不断一次一次把我重打回BUG的海洋,就差淹死了,最后终于一个浪花拍死了我,没救了~~~~,暴风式哭泣。今天写了一天的代码: pu...

2020-02-06 16:11:16 131

原创 Java两数之和(一)

一、用Java写两数之和的心得1、今天开始在LeetCode上刷算法题,也是第一次写博客。在LeetCode入手的第一道题目是求两数之和,可以点击这个链接查看题目。2、因为自己在算法上还是一个小白,刚看懂题目的第一瞬间就直接用最暴力的手法写,代码如下:class Solution { public int[] twoSum(int[] nums, int target) { in...

2020-02-05 18:53:24 405

空空如也

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

TA关注的人

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