MySQL是怎么解决幻读问题的?

博主头像 前言 我们知道MySQL在可重复读隔离级别下别的事物提交的内容,是看不到的。而可提交隔离级别下是可以看到别的事务提交的。而如果我们的业务场景是在事物内同样的两个查询我们需要看到的数据都是一致的,不能被别的事物影响,就使用可重复读隔离级别。这种情况下RR级别下的普通查询(快照读)依靠MVCC解决“幻读 ...

从零开始的Java RASP实现(一)

博主头像 0 从零开始的Java RASP实现(一) 本科毕设做过Python的RASP之后,对这项技术很有兴趣,当时OpenRASP开始出现,并且Java的实现非常接近真正的运行时防御的概念。一直没有时间和足够的动力学习Java,最近一口气学了不少Java相关的东西,准备从反序列化和RASP两个方向继续深入 ...

vue3源码难学,先从petite-vue开始吧

博主头像 如今这个世道,作为一个有几年工作经验的前端,不学点框架源码都感觉要被抛弃了,react或vue要能吹吹牛吧,最好能造个轮子,听说vue3源码好学点,那么学学vue3,但是学起来还是那么费劲,感觉快放弃了,就在这个时候出现了petite-vue,害,这家伙比vue简单啊,拿它来重拾学习源码的信心岂不更 ...

Java 给Word添加印章

博主头像 一、概述 本文以Java程序代码展示如何给Word文档添加印章,这里添加的印章为.png格式的图片,添加印章即在Word中的指定位置添加印章图片。 基本思路:加载word文档,获取段落,在段落中插入图片,调整图片大小及位置,最后另存文档到本地。 二、程序环境 程序运行环境如下: 编译工具: Inte ...

手把手体验远程开发,确实爽

博主头像 从 0 开始体验一波远程开发 大家好,我是鱼皮。 记得刚开始学编程的时候,我理所应当地以为只能编辑自己电脑上的代码文件。如果想要修改服务器上的代码,只能先把代码从服务器上拷贝下来,然后在本地修改好再上传到服务器上。 但是这样效率实在太低了! 后来我学聪明了,利用 git 在本地和远程之间同步。先在本 ...

【SqlServer】 理解数据库中的数据页结构

博主头像 这篇文章,我将会带你深入分析数据库中 数据页(Page) 的结构。通过这篇文章的学习,你将掌握以下知识点: 1. 查看一个 表/索引 占用了多少了页。 2. 查看某一页中存储了什么的数据。 3. 验证在数据库中用 GUID类型时用 newid() 生成的数据作为聚集索引时的缺陷。 首先需要清楚 页( ...

一文搞定深度优先搜索、广度优先搜索

博主头像 首发公众号:bigsai ,请勿搬运 前言 你问一个人听过哪些算法,那么深度优先搜索(dfs)和宽度优先搜索(bfs)那肯定在其中,很多小老弟学会dfs和bfs就觉得好像懂算法了,无所不能,确实如此,学会dfs和bfs暴力搜索枚举确实利用计算机超强计算大部分都能求的一份解,学会dfs和bfs去暴力杯 ...

【算法框架套路】滑动窗口算法:匹配子串、数组连续区间

博主头像 滑动窗口算法 《代码大全》推荐先用伪代码来写框架,从最上层思考可以将抽象能力最大化,不会先陷入任何编程语言的实现细节中,通俗地说就是在蓝图层面解决问题。 滑动窗口算法非常适用用来查找数组连续区间,核心就是: while循环嵌套while循环 窗口收缩 窗口匹配 下面我们写出伪代码框架套路,并用这个套 ...

剖根问底:Java 不能实现真正泛型的原因是什么?

博主头像 大家好,我是二哥呀! 今天我来给大家讲一下,Java 不能实现真正泛型的原因是什么? 本文已同步至 GitHub 《教妹学 Java》专栏,风趣幽默,通俗易懂,对 Java 初学者亲切友善,么么哒😘,内容包括 Java 语法、Java 集合框架、Java 并发编程、Java 虚拟机等核心知识点,欢 ...

基于Redisson实现分布式锁源码解读

博主头像 文章目录 一、分布式锁的概念 和 使用场景 二、将redis官网对于分布式锁(红锁)的定义和Redisson实现做概括性总结 三、基于Redisson的分布式实现方案 四、加锁过程分析 五、锁重入过程分析 六、未获取到锁的线程继续获取锁 七、锁释放过程分析 八、易混淆概念 一、分布式锁的概念 和 使 ...

Java下如何保证多线程安全

可能有人会觉得,只要我写代码的时候不去开启其他线程,那么就不会有多线程的问题了。 然而事实并非如此,如果仅仅是一些简单的测试代码,确实代码都会顺序执行而不是并发执行,但是Java应用最广泛的web项目中,绝大部分(如果不是所有的话)web容器都是多线程的——以tomcat为例, 每一个进来的请求都需... ...

【对线面试官】Kafka基础入门

博主头像 《对线面试官》系列目前已经连载33篇啦,这是一个讲人话面试系列 【对线面试官】Java注解 【对线面试官】Java泛型 【对线面试官】 Java NIO 【对线面试官】Java反射 && 动态代理 【对线面试官】多线程基础 【对线面试官】 CAS 【对线面试官】synchronized 【对线面试官 ...

【系统学习ES6】第一节:新的声明方式

博主头像 【系统学习ES6】 本专题旨在对ES6的常用技术点进行系统性梳理,帮助大家对其有更好的掌握。计划每周更新1-2篇,希望大家有所收获。 以前用ES5时,声明变量只能用var。ES6的出现,为我们带来了两种新的声明方式:let和const。我们可以先简单记忆: var:声明全局变量 let:声明局部变量 ...

<1234···200>