• 2024-06-30【Flink metric(3)】chunjun是如何实现脏数据管理的
    文章目录一.基础逻辑二.DirtyManager1.初始化2.收集脏数据并check3.关闭资源三.DirtyDataCollector1.初始化2.收集脏数据并check3.run:消费脏数据4.释放资源四.LogDirtyDataCollector一.基础逻辑脏数据管理模块的基本逻辑是:当数据消费失败时,将脏数据
  • 2024-06-23[Golang并发]Sync.map
    sync.Map的实现原理可概括为:通过read和dirty两个字段将读写分离,读取时会先查询read,不存在再查询dirty,写入时则只写入dirty,所以read相当于dirty的缓存。读取read并不需要加锁,而读或写dirty都需要加锁。misses字段统计read被穿透的次数,被穿透指需要读dirty的情
  • 2024-06-10【内存管理】内存布局
    ARM32位系统的内存布局图32位操作系统的内存布局很经典,很多书籍都是以32位系统为例子去讲解的。32位的系统可访问的地址空间为4GB,用户空间为1GB~3GB,内核空间为3GB~4GB。为什么要划分为用户空间和内核空间呢?一般处理器会把运行模式分为好几个,比如x86分为rang0~rang3级别
  • 2024-05-17Linux Buffer/cache清理
    1、清理Buffer/cache缓存文件https://blog.csdn.net/u011066470/article/details/125510817syncsysctl-wvm.drop_caches=1sysctl-wvm.drop_caches=2sysctl-wvm.drop_caches=3定时脚本清理#!/bin/bashMem=$(free-m|awk'NR==2'|awk'{print$4}')
  • 2024-05-06阿里实习生:面试阿里其实并没有那么难。
    愉快的五一假期已经结束了,又要投入到学习和工作当中了。今天分享一位同学在阿里的Go后端实习面经详解,希望对你有帮助。Go里有哪些数据结构是并发安全的?并发安全就是程序在并发的情况下执行的结果都是正确的;Go中数据类型分为两大类:基本数据类型:字节型、整型、布尔型、
  • 2024-04-02【CHI协议-1】CacheLine状态
    从这一章开始就和大家一起分享一下CHI协议中具体的一些事务以及场景。今天主要梳理一下Read事务,但是要讲清楚这些乱七八糟的事务,还需要了解其他很多知识点,不然就是云里雾里的,比如cacheline的状态啊,什么是snoop啊,以及一致性节点啊等等。但是这些太多了,如果先要把这些都讲清楚
  • 2024-03-25对computed的处理
    对computed的处理时,会遍历computed配置中的所有属性,为每一个属性创建一个Watcher对象,并把getter传入,这样一来,getter运行过程中就会收集依赖。但是和render函数不同,为计算属性创建的Watcher不会立即执行,因为要考虑到该计算属性是否会被渲染函数使用,如果没有使用,就不会得到执行。因
  • 2024-03-23Golang: 探究sync.map的实现
    Golang:探究sync.map的实现背景探究下载并发模式下,sync.map的实现,以及该实现方式可能引入的问题链接Github基本使用packagemainimport"sync"funcmain(){ m:=sync.Map{} m.Load("key") m.Store("key","value") m.LoadOrStore("key",&q
  • 2024-03-19golang sync.Map之如何设计一个并发安全的读写分离结构?
    在golang中,想要并发安全的操作map,可以使用sync.Map结构,sync.Map是一个适合读多写少的数据结构,今天我们来看看它的设计思想,来看看为什么说它适合读多写少的场景。如下,是golang中sync.Map的数据结构,其中属性read是只读的map,dirty是负责写入的map,sync.Map中的键值对value
  • 2024-02-27vulnhub靶机:driftingblues-6
    一:主机发现arp-scan-Ieth010.9.23.0/24二:端口扫描nmap-T4-sV-p--A10.9.23.54内核3.2可能存在脏牛漏洞三:目录探测dirbhttp://10.9.23.54http://10.9.23.54/robots.txt10.9.23.54/textpattern/textpatternadd.zipextensiontoyourdir-brutehttp://10
  • 2024-02-12磁盘被标记 Volume is Dirty 解决办法
    磁盘被标记VolumeisDirty解决办法不知大家有木有遇到这样的情况:①.无法使用磁盘整理来整理,提示VolumeisDirty②.开机自检:"thevolumeisdirty"如果磁盘是FAT32,可以通过转换格式来解决,同时按下Win+R,输入CMD,回车,输入convertX:/FS:NTFS,回车,X为表标记的磁盘~最根本
  • 2024-02-07二刷 K8s 源码 - workqueue 的所有细节
    1.概述-何来此文2.Queue的实现2.1Queue.Add(iteminterface{})方法2.2Queue.Get()方法2.3Queue.Done(iteminterface{})方法3.DelayingQueue的实现4.RateLimitingQueue的实现5.rateLimiter限速器的实现6.控制器里用的默认限速器7.总结1.概述-
  • 2024-01-24k8s中controller-runtime并发Reconcile分析
    §0x01起因开发控制器时,团队内一直在讨论是否需要为单个控制器对象添加并发控制(即加锁),最终把controller-runtime框架中并发数改为1,同时启用了k8s的leaderelection机制保证只有单实例来规避并发的可能。这种做法其实是有问题的,没有搞清楚controller-runtime框架本身是
  • 2024-01-23Golang map实现分析
    数据结构go的map采用数组+链表形式存储,数据存放于hmap中:typehmapstruct{countint//哈希表的元素个数,即len()flagsuint8//map状态Buint8//2^B为桶的数量noverflowuint16//溢出桶的数量(预估)hash0uint32//hashs
  • 2023-12-28svelte响应式原理
    svelte文件编译为js后的结构源代码:<scriptlang="ts">letfirstName='张'letlastName='三'letage=18functionhandleChangeName(){firstName='王'lastName='二'}fu
  • 2023-11-29go数据类型-sync.map
    定义在runtime的sync.map包中有定义:typeMapstruct{ muMutex//锁 readatomic.Pointer[readOnly]//包含了readOnly类型的一个struct,下方把Pointer也贴了 dirtymap[any]*entry //一个map存储数据 missesint//错过、没有命中}//readOnlyisanim
  • 2023-11-07通关Go语言,从基本原理到项目实战,由浅入深Go的底层原理与核心特性
    通关Go语言,从基本原理到项目实战,由浅入深Go的底层原理与核心特性go核心原理本人在一家go技术栈工作2年有余,因此梳理一下我认为比较重要的go语言技术知识,一些基础的概念,比如function,interface这些就忽略了。https://draveness.me/golang/https://www.bookstack.cn/read/qcr
  • 2023-10-15Vue源码学习(十一):计算属性computed初步学习
    好家伙,  1.Computed实现原理if(opts.computed){initComputed(vm,opts.computed);}functioninitComputed(vm,computed){//存放计算属性的watcherconstwatchers=vm._computedWatchers={};for(constkeyincomputed){constuser
  • 2023-10-10Linux系统调优
    Linux系统调优是一项重要的任务,通过调整系统参数可以提高系统性能和稳定性。下面是一些常见的Linux系统调优参数的详解:vm.swappiness:该参数控制内核对页面交换(Swap)的倾向程度。取值范围为0到100,默认值为60。较低的值(如10)表示内核更倾向于使用物理内存而非Swap空间,而较高的值(如90)则
  • 2023-09-18concurrent-map 和 sync.Map,我该选择哪个?
    concurrent-map和sync.Map,我该选择哪个? 轩脉刃 concurrent-map和sync.Map,我该选择哪个?官方的map并不是线程安全的,如果我们在多线程中并发对一个map进行读写操作,是会引发panic的。解决方案除了使用锁来对map进行保护外,还有两种方式:一,开源项目concurrent-map提供了
  • 2023-09-07map、sync.map、concurrent-map适用场景与源码解析
    最近一直加班,无论工作日还是周末,虽然每天很忙但总感觉空空的,很少有时间停下来思考与总结。项目中各种甩锅,最后最苦逼的还是落到了研发的头上,文档编写、环境部署、问题排查虐得一遍又一遍。事情杂乱,研发效率超级低,不知道何是是个头呀背景在go中,map是最常用的集合之一。其底层key存
  • 2023-09-05buffer pool如何管理page页
    要了解bufferpool如何管理page页,首先要了解page页的分类Page页的分类page页根据状态可以分为三种类型,如下图:freepage:空闲page,未被使用过cleanpage:被使用page,数据没有被修改过dirtypage:脏页,被使用的page,数据被修改过。数据和磁盘数据不一致Page页如何管理针对三种不同
  • 2023-08-29RISCV-MINI cache小记
    该cache映射策略为直接映射,采用写回(writeback)方式。需要注意的细节在于cpu-cache通过mask信号判断访存是读还是写,显然mask全0时为读。下图FSM中省略了dirty会影响状态转移,比如WriteCache到WriteBack,当cache块为dirty时才会触发aw.fire(io.nasti.aw.valid:=is_dirty)。简单解释:
  • 2023-08-20靶机 red hat enterprise linux 从收集到提权
    前言:时间2022年5月22日,在B/S架构上通过用户名dus2进行密码爆破后得到了dus2,拿到了普通用户的shell(权限很低),最终目的拿到root的shell来破环整个服务器。linux提权思路归纳   首先开始信息收集,登陆普通用户dsu2       uname-a                    
  • 2023-08-052023Spring project1
    Task1:LRU-KReplacementPolicyLRU-K算法,用于在Replacer中选择该移除的page。其会选择拥有最大的backwardk-distance的page。backwardk-distance等于第k次访问的时间和当前的时间之差。LRU-K的核心思想就是将K次打包成一次,从而提高了稳定性。对于访问不到K次的page,直接认为