Mysql技术内幕之InnoDB锁的深入讲解
前言自7月份换工作以来,期间一直在学习MySQL的相关知识,听了一些视频课,但是一直好奇那些讲师的知识是从哪里学习的。于是想着从书籍中找答案。毕竟一直看视频也不是办法,不能形成自己的知识。于是想着看书汲取知识,看了几本MySQL的相关书籍,包括《深入浅出Mysql》《高性能Mysql》《Mysql...
2024-01-10深入理解Vue nextTick 机制
我们先来看一段Vue的执行代码:export default { data () { return { msg: 0 } }, mounted () { this.msg = 1 this.msg = 2 this.msg = 3 }, watch: { msg () { console.log(this.msg) } }}这段脚本执行我们猜测1000m后会依次打印:1、2、3。但是实际效果中,只会输出一次:3。为什么会出现这样的情况?我们来一探究竟。q...
2024-01-10Vue中$nextTick的理解
Vue中$nextTick方法将回调延迟到下次DOM更新循环之后执行,也就是在下次DOM更新循环结束之后执行延迟回调,在修改数据之后立即使用这个方法,能够获取更新后的DOM。简单来说就是当数据更新时,在DOM中渲染完成后,执行回调函数。描述通过一个简单的例子来演示$nextTick方法的作用,首先需要知道Vue...
2024-01-10JVM深入理解内存调优与GC日志
ps -Lfp pidps -mp pid -o THREAD, tid, timetop -Hp pid[root@redis webapps]# top -Hp 22272top - 10:09:30 up 9 days, 22:10, 1 user, load average: 0.00, 0.00, 0.00Tasks: 30 total, 0 running, 30 sleeping, 0 stopped, 0 zombieCpu(s): 0.0%us, 0.0%sy, ...
2024-01-10csspadding内边距的理解
使用说明1、padding在元素中增加了内部间距。其目标可根据使用情况而变化。2、垂直padding不适用于有display:inline的元素,如果添加内部边距,不会影响元素,内部边距会覆盖其他内部元素。这只是一个友好的提醒,应该改变内部元素的display属性。语法padding:padding_value [padding_value] [padding_value] [padding_va...
2024-01-10BaikalDB技术实现内幕(一)分布式事务实现
本系列文章主要介绍HTAP数据库BaikalDB的技术实现细节。作者介绍:罗小兵,百度商业平台研发部高级研发工程师,主要负责BaikalDB事务能力,全局二级索引等方向的研发工作。欢迎关注 Star github.com/baidu/BaikalDB一、概述BaikalDB系统简介BaikalDB是一个分布式可扩展的存储系统,兼容MySQL协议,整个系统...
2024-01-10通过UI库深入了解Vue的插槽的使用技巧
通过UI库深入了解Vue的插槽的使用技巧 2022-01-17 18:10 金色海洋(jyk) 阅读(0) 评论(0) 编辑 收藏 举报Vue官网对于插槽的介绍比较简略,插槽本身也比较“烧脑”,很容易看晕,我就一直没看懂,直到 使用了element-plus的组件的插槽。其实我们可以换一个角度来理解插槽,就会豁然...
2024-01-10深入理解Yii2.0乐观锁与悲观锁的原理与使用
本文介绍了深入理解Yii2.0乐观锁与悲观锁的原理与使用,分享给大家,具体如下:Web应用往往面临多用户环境,这种情况下的并发写入控制, 几乎成为每个开发人员都必须掌握的一项技能。在并发环境下,有可能会出现脏读(Dirty Read)、不可重复读(Unrepeatable Read)、 幻读(Phantom Read)、更新丢失...
2024-01-10TomcatconnectionTimeout理解
问题现象在某个时刻,后端收到了平时4-6倍的请求(保密起见,略去产品和事件),在10分钟后居然没有请求可以接进来问题原因经过分析,首先,是后端服务器的线程池满了,线程池满的原因: 1.server.xml中maxThread=512,导致超过512的之后的请求只能排队,等待有线程释放后,才能被处理; 2.connectionT...
2024-01-10【安卓】🎯【深入解析】跨端框架的核心技术到底是什么?
如果你觉得我的文章对你有帮助,在收藏的过程中,一定要记得点赞和点在看哦,谢谢你,这对我真的很重要????!一、前端三板斧正式讨论「跨端开发」这个概念前,我们可以先思考一个问题:对大部分前端工作来说,前端主要干些啥?我个人认为,无论环境怎么变,前端基本上就是做三件事情:...
2024-01-10理解SparkSQL(二)——SQLContext和HiveContext
使用Spark SQL,除了使用之前介绍的方法,实际上还可以使用SQLContext或者HiveContext通过编程的方式实现。前者支持SQL语法解析器(SQL-92语法),后者支持SQL语法解析器和HiveSQL语法解析器,默认为HiveSQL语法解析器,用户可以通过配置切换成SQL语法解析器来运行HiveQL不支持的语法,如:select 1。实际上HiveCont...
2024-01-10深入了解TiDBSQL优化器
分享嘉宾:张建 PingCAP TiDB优化器与执行引擎技术负责人编辑整理:Druid中国用户组第6次大数据MeetUp出品平台:DataFunTalk导读: 本次报告张老师主要从原理上带大家深入了解 TiDB SQL 优化器中的关键模块,比如应用一堆逻辑优化规则的逻辑优化部分,基于代价的物理优化部分,还有和代价估算密切相关...
2024-01-10深入了解Vue组件 — 处理边界情况(上)
1.访问元素 & 组件1.1 访问根实例我们可以通过$root属性访问根实例。<!DOCTYPE html><html><head> <meta charset="utf-8"> <style> </style> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script></head><body><div > </div><script> var vm = new Vue({ el:...
2024-01-10深入理解ES6中let和闭包
本文介绍了深入理解ES6中let和闭包,分享给大家,具体如下:在开始本文之前我们先来看一段代码for(var i=0;i<10;i++){ arr[i]=function(){ return i; }}console.log(arr[3]());//10显然这段代码输出10,并没有向我们期望的返回3,原因也很简单(js的变量提升)函数在调用时候访问的是一个全局作用域的i,此时fo...
2024-01-10linux内核分析———SLAB原理及实现
linux内核分析———SLAB原理及实现Slab原理及实现1. 整体关系图!注:SLAB,SLOB,SLUB都是内核提供的分配器,其前端接口都是一致的,其中SLAB是通用的分配器,SLOB针对微小的嵌入式系统,其算法较为简单(最先适配算法),SLUB是面向配备大量物理内存的大规模并行系统,通过也描述符中未使用的字段来...
2024-01-10Linux内核中断处理过程解析
导读中断是现代 CPU 工作方式中重要的部分。例如:当你每次在键盘上按下一个按键后,CPU 会被中断以使得 PC 读取用户键盘的输入。这个过程发生得相当快,以致于在使用体验上你不会感到任何变化或损害。此外,键盘并不是导致中断的唯一组件。一般来说,有三种类型的事件会导致 CPU 发生中...
2024-01-10socketkeepalive理解
java socket编程中有个keepalive选项,看到这个选项经常会误解为长连接,不设置则为短连接,实则不然。socket连接建立之后,只要双方均未主动关闭连接,那这个连接就是会一直保持的,就是持久的连接。keepalive只是为了防止连接的双方发生意外而通知不到对方,导致一方还持有连接,占用资源。其实...
2024-01-10C#中Task.Yield的用途深入讲解
前言最近在阅读 .NET Threadpool starvation, and how queuing makes it worse 这篇博文时发现文中代码中的一种 Task 用法之前从未见过,在网上看了一些资料后也是云里雾里不知其解,很是困扰。今天在程序员节的大好日子里终于想通了,于是写下这篇随笔分享给大家,也过过专心写博客的瘾。这种从未见过的用法...
2024-01-10JVM深入理解内存物理结构&类加载
今天的主要目的也是根据Oracle的官方文档来一步一步的理解与学习,并且用用一些demo来验证理论。Java虚拟机内存结构我们先来看一下JVM一个大概的物理结构图(请注意,不叫内存模型):堆的划分我们首先看一下官方地址对于运行时数据区域的一个划分:https://docs.oracle.com/javase/specs/jvms/se8/html/index....
2024-01-10Redis字符串原理的深入理解
前言来掘进都有两年多了一直当个小透明,今天终于发一次文章了.最近在看 Redis,感觉收获很多,写篇博客记录一下.Redis 有五种基础数据结构:string,list,set,zset,hash.其中 string是最最最简单的也是最常用的.这个数据类型虽然简单但是内部的结构设计却很是精致.基本介绍相比于 Java,在 Redis 中 string 是可...
2024-01-10深入理解 HttpSecurity【源码篇】
HttpSecurity 也是 Spring Security 中的重要一环。我们平时所做的大部分 Spring Security 配置也都是基于 HttpSecurity 来配置的。因此我们有必要从源码的角度来理解下 HttpSecurity 到底干了啥?1.抽丝剥茧首先我们来看下 HttpSecurity 的继承关系图:可以看到,HttpSecurity 继承自 AbstractConfiguredSecurityBuilder,同时实现了...
2024-01-10深入理解C♯ 7.0中的Tuple特性
介绍Tuple是异类对象的有序序列。 我们经常可以写出返回多个值的方法,所以我们需要创建一个包含多个数据元素的简单结构。 为了支持这些情况,Tuple 被添加到 C#。 Tuple 是包含多个字段用来表示数据成员的轻量级数据结构。如果一个方法返回多个相同类型的数值,那么它可以将这些值存储在一个...
2024-01-10深入讲解Swift的内存管理
前言LLVM编译器的好:Swift的内存管理除了要注意引用循环之外,几乎全部被LLVM编译器包揽,不需要开发人员操心。Swift 是自动管理内存的,这也就是说,我们不再需要操心内存的申请和分配。当我们通过初始化创建一个对象时,Swift 会替我们管理和分配内存。而释放的原则遵循了自动引用计数 (ARC) ...
2024-01-10Linux内核的LED设备驱动框架【转】
/*************************************************************************************本文为个人学习记录,如有错误,欢迎指正。*本文参考资料:* https://blog.csdn.net/qq_28992301/article/details/52410587* https://blog.csdn.net/hanp_linux/article/details/79037610*********...
2024-01-10Linux概念架构的理解
英文原文:Conceptual Architecture of the Linux Kernel 摘要Linux kernel成功的两个原因:(1)架构设计支持大量的志愿开发者加入到开发过程中;(2)每个子系统,尤其是那些需要改进的,都支持很好的扩展性。正是这两个原因使得Linux kernel可以不断进化。 一、Linux内核在整个计算机系统中的位置Fig ...
2024-01-10陈莉君教授回望踏入Linux内核之旅
本文系转载,著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者: 陈莉君来源: 微信公众号linux阅码场(id: linuxdev)初次踏入Linux几多耕耘,几多收获,不小心在Linux这个自由王国畅游了多年。依稀记得刚进入这个世界时的那份恐慌和无知,更庆幸那时的无知无畏。在那...
2024-01-10如何找到Linux处理器/芯片架构
我应该使用什么命令来查找Linux处理器/芯片架构?linux-x86-32linux-x86-64linux-ppc-64回答:要显示内核体系结构: uname -a要显示cpu详细信息: cat /proc/cpuinfo...
2024-01-10Linux三阶段之九:期中架构LNMP章节
九、期中架构LNMP章节(一)LNMP架构说明1)使前端web服务和后端存储服务进行串联2)主要实现处理PHP程序动态请求 (二)LNMP架构工作原理 L Linux N nginx M mysql P php(三)LNMP架构部署1)安装LNMP相关软件①. 部署Linux系统基础优化操作要完成(防火墙关闭 关闭selinux /tmp权限为1777)②. 部署nginx服...
2024-01-10如何构建Linux内核模块,使其与所有内核版本兼容?
我想构建一个将与所有内核发行版兼容的内核模块。例如,如果我在内核3.2.0-29上构建内核模块并尝试在3.2.0-86上加载它,则会出现以下错误:modprobe my_driver致命:插入my_driver(/lib/modules/3.2.0-86-generic/kernel/fs/my_drv/my_drv.ko)时出错:无效的模块格式[在日志消息中:my_drv:对符号module_layout的版本持不同...
2024-01-10Linux 内核的故事
1991 年 8 月 25 日,芬兰研究生 Linus Torvalds 告诉 Minix 新闻组,他正在开发他的新的免费操作系统,这将“只是一个爱好。”但在 29 年后,Linux 几乎统治了计算机世界。在 2020 年的 Linux 内核历史报告中,Linux 基金会讲述了从 Linux 内核发布的第一天到 2020 年 8 月 Linux 内核 5.8 发布的故事。虽然基金会以...
2024-01-10Linux内核驱动
寄存器与内存 寄存器与内存的区别在哪里呢?寄存器和RAM的主要不同在于寄存器操作有副作用(side effect或边际效果):读取某个地址时可能导致该地址内容发生变化,比如很多设备的中断状态寄存器只要一读取,便自动清零。内存与IO在X86处理器中存在IO空间的概念,IO空间是相对内存...
2024-01-10钻进Linux内核看个究竟
Linux 内核,这个经常听见,却不不知道它具体是干嘛的东西,是不是觉得非常神秘?Linux 内核看不见摸不着,而对于这类东西,我们经常无从下手。本文就以浅显易懂的语言,带你钻进 Linux 内核,看它到底长啥样。内核是 Linux 操作系统的核心组件,它向上连接应用程序,向下直接与硬件打交道。其...
2024-01-10Linux内核中的自旋锁
自旋锁不会引起睡眠,当一个进程在访问内核无法获取自旋锁时,会进入忙循环,一直等待下去。 实例:Pcilynx.c (\linux-2.6.30.4\drivers\ieee1394) 1 声明 struct ti_lynx { int id; /* se...
2024-01-10