摘要: HashSet 实现了 Set 接口,由哈希表(实际是 HashMap)提供支持。HashSet 不保证集合的迭代顺序,但允许插入 null 值。也就是说 HashSet 不能保证元素插入顺序和迭代顺序相同。HashSet 具备去重的特性,也就是说它可以将集合中的重复元素自动过滤掉,保证存储在 Ha 阅读全文
posted @ 2022-05-27 11:07 piaobodeyun0000 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 目录 什么是MVCC Mysql的锁和事务隔离级别 Mysql的undo log MVCC的实现原理 什么是MVCC MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编 阅读全文
posted @ 2022-05-27 11:05 piaobodeyun0000 阅读(230) 评论(0) 推荐(0) 编辑
摘要: ThreadLocal是线程Thread中属性threadLocals即ThreadLocal.ThreadLocalMap的管理者,ThreadLocal用于给每个线程操作自己线程的本地变量,通过线程私有从而保证线程安全性。 ThreadLocal原理 拿get()方法来说,线程的本地变量是存放在 阅读全文
posted @ 2022-05-26 16:46 piaobodeyun0000 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 前言 微服务治理方案中,链路追踪是必修课,SpringCloud的组件其实使用很简单,生产环境中真正令人头疼的往往是软件维护,接口在微服务间的调用究竟哪个环节出现了问题,哪个环节耗时较长,这都是项目上线后一定会遇到的问题,为了解决这些问题链路追踪便应运而生了。 主流方案 1)、SkyWalking: 阅读全文
posted @ 2022-05-26 16:35 piaobodeyun0000 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 大家好。我们都知道,Spring可以通过三级缓存解决循环依赖的问题,这也是面试中很常见的一个面试题,本文就来着重讨论一下有关循环依赖和三级缓存的问题。 一、什么是循环依赖 大家平时在写业务的时候应该写过这样的代码。 其实这种类型就是循环依赖,就是AService 和BService两个类相互引用。 阅读全文
posted @ 2022-05-26 16:19 piaobodeyun0000 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 所谓的大事务就是耗时比较长的事务。 Spring有两种方式实现事务,分别是编程式和声明式两种。 不手动开启事务,mysql 默认自动提交事务,一条语句执行完自动提交。 一、大事务产生的原因 操作的数据比较多 调用了 rpc 方法 有其他非 DB 的耗时操作 大量的锁竞争 执行了比较耗时的计算 二、大 阅读全文
posted @ 2022-05-26 15:40 piaobodeyun0000 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 背景现象 1.20晚上8点业务线开始切换LBS相关流量,在之后的1个小时时间内,积压量呈上升趋势,一路到达50W左右,第二天的图没贴出具体是50W数字,以下是第一天晚上的贴图部分。 现象一: 现象二: 当时现场图后来就找不回来了,凭印象说明了一下数字。 简要说明一下上述两个图 图一:其实很明显,明显 阅读全文
posted @ 2022-05-12 10:40 piaobodeyun0000 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作; 1. 服务容灾基础知识 1.1 由一个服务资源耗尽引发的连锁反应 A 服务调用 B 服务,B 服务调用 C 服务; 当 C 服务出现调用缓慢问题 阅读全文
posted @ 2022-05-12 10:19 piaobodeyun0000 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 作为一个后端开发人员,可能在工作中或者面试的时候,总回被人问到SQL注入的问题。可能也会因为没有实际遇到过或者解决过这类问题,总是一知半解。本文着重讲清楚什么是SQL注入,以及列举一些示例,更直观的看到那些情况会导致SQL注入,以及可能带来的危害。 一.什么是SQL注入 SQL注入,一般指web应用 阅读全文
posted @ 2022-04-29 10:58 piaobodeyun0000 阅读(776) 评论(0) 推荐(0) 编辑
摘要: 前言 为什么需要Spring? 什么是Spring? 对于这样的问题,大部分人都是处于一种朦朦胧胧的状态,说的出来,但又不是完全说的出来,今天我们就以架构设计的角度尝试解开Spring的神秘面纱。 本篇文章以由浅入深的方式进行介绍,大家不必惊慌,我可以保证,只要你会编程就能看懂。 本篇文章基于Spr 阅读全文
posted @ 2022-04-29 10:47 piaobodeyun0000 阅读(55) 评论(0) 推荐(0) 编辑