草庐IT

搞懂EventLoop机制

全部标签

详解二叉树,带你彻底搞懂二叉树、堆排序 、向上调整算法、向下调整算法【数据结构】

文章目录树树的相关概念树的表示孩子兄弟表示法特殊的二叉树满二叉树完全二叉树二叉树性质二叉树的顺序结构堆小根堆大根堆堆的实现堆的初始化堆向上调整算法(logN)堆的插入向下调整算法堆的删除拿到堆顶的数据获取堆的数据个数堆是否为空堆排序升序建堆时间复杂度TOP-K问题树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。有一个特殊的结点,称为根结点,根节点没有前驱结点除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1因此,树是递归定义的注意:树形结

详解二叉树,带你彻底搞懂二叉树、堆排序 、向上调整算法、向下调整算法【数据结构】

文章目录树树的相关概念树的表示孩子兄弟表示法特殊的二叉树满二叉树完全二叉树二叉树性质二叉树的顺序结构堆小根堆大根堆堆的实现堆的初始化堆向上调整算法(logN)堆的插入向下调整算法堆的删除拿到堆顶的数据获取堆的数据个数堆是否为空堆排序升序建堆时间复杂度TOP-K问题树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。有一个特殊的结点,称为根结点,根节点没有前驱结点除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1因此,树是递归定义的注意:树形结

探秘 Kafka 的内部机制原理

我是码哥,可以叫我靓仔,愿大家拥抱硬核技术和对象,面向人民币编程。简介kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。kafka对外使用topic的概念,生产者往topic里写消息,消费者从读消息。为了做到水平扩展,一个topic实际是由多个partition组成的,遇到瓶颈时,可以通过增加partition的数量来进行横向扩容。单个parition内是保证消息有序。每新写一条消息,kafka就是在对应的文件append写,所以性能非常高。kafka的总体数据流

一文搞懂V8引擎的垃圾回收机制

前言我们平时在写代码的过程中,好像很少需要自己手动进行垃圾回收,那么V8是如何来减少内存占用,从而避免内存溢出而导致程序崩溃的情况的。为了更高效地回收垃圾,V8引入了两个垃圾回收器,它们分别针对不同场景进行工作。垃圾从何而来我们先来搞清楚这些‘垃圾’是怎么产生的不管使用哪一种语言,我们势必都会频繁的操作数据,这些数据一般是存放在栈内存与堆内存中,通常是会在内存中创建一块空间,使用这块空间,再不需要的时候回收这块空间。比如:vartest={}test.a=newArray(100)当执行这段代码时,先会为全局对象(window)添加一个test属性,并在堆内存中创建一个空对象,并将该对象的地址

一图胜千言,帮你搞懂Go面试中常问的channel问题!

一图胜千言下面的表格中总结了对不同状态下的通道执行相应操作的结果。注意:对已经关闭的通道再执行close也会引发panic。这篇文章将重点讲解Go面试进阶知识点:select和channel。select先说switch...case...switch...case...很常用,且很好理解。其作用和if...else...一样。区别是switch...case相比于if...else...能让我们的代码看起来更清晰,更好理解。再说select...case..golang的select就是监听IO操作,当IO操作发生时,触发相应的动作。 所说的IO操作就是对channle的操作:向通道发送数据

springBoot自动装配机制

自动配置原理@SpringBootApplication是一个组合注解,由@ComponentScan、@EnableAutoConfiguration和@SpringBootConfiguration组成@SpringBootConfiguration与普通@Configuration相比,唯一区别是前者要求整个app中只出现一次@ComponentScanexcludeFilters-用来在组件扫描时进行排除,也会排除自动配置类@EnableAutoConfiguration也是一个组合注解,由下面注解组成@AutoConfigurationPackage–用来记住扫描的起始包@Impor

Java的垃圾回收机制详解——从入门到出土,学不会接着来砍我!

文章目录哪些内存需要回收回收堆:垃圾的定义引用计数算法:可达性分析算法:GCRoots的对象回收方法区:垃圾的定义如何回收垃圾垃圾回收算法总结标记—清除算法(适用老年代,但是基本废弃了)标记—复制算法(现在新生代普遍用的)标记—整理算法(现在老年代普遍用的)JVMGC的种类GC的触发机制年轻代GC(MinorGC)触发机制老年代GC(MajorGC/FullGC)触发机制FullGC触发机制为什么需要把Java堆分代?JVM中一次完整的GC流程是怎样的?JVMGC注意点:FullGC会导致什么?JVM什么时候触发GC?如何减少FullGC的次数?为什么老年代不能使用标记复制?新生代为什么要分为

论文总结:基于可编辑区块链的工业物联网数据管理机制

论文总结:Atrustworthyindustrialdatamanagementschemebasedonredactableblockchain(基于可编辑区块链的工业物联网数据管理机制)1.背景\qquad工业物联网的数据安全涉及到收集、传递、存储和分析等方面,如果数据安全无法保障,那么物联网上的各种设备的安全性也无法被保障。例如在2015年\qquad可编辑区块链技术也已经被提出,可编辑区块链采用了变色龙哈希。可编辑区块链依据陷门管理方式划分为两种:集中式可编辑区块链和分布式可编辑区块链。集中式可编辑区块链当中有一个管理者对陷门进行管理,但但这种情况下如果管理者被攻击,则陷门的安全也无

11. Nginx 工作机制&参数设置

文章目录11.1master-worker机制11.1.1master-worker工作原理图11.1.2一说master-worker机制11.1.3二说master-worker机制11.2参数设置11.2.1worker_processes11.2.1worker_processes配置实例11.2.3worker_connection11.2.4配置Linux最大打开文件数11.1master-worker机制11.1.1master-worker工作原理图一个master(进程)管理多个worker(进程)11.1.2一说master-worker机制争抢机制示意图一个masterP

图文结合带你搞懂MySQL日志之Binary log(二进制日志)

往期回顾图文结合带你搞定MySQL日志之Undolog(回滚日志)图文结合带你搞懂InnoDBMVCC图文结合带你搞懂MySQL日志之RedoLog(重做日志)图文结合带你搞懂MySQL日志之ErrorLog(错误日志)图文结合带你搞懂MySQL日志之SlowQueryLog(慢查询日志)图文结合带你搞懂MySQL日志之relaylog(中继日志)图文结合带你搞懂MySQL日志之GeneralQueryLog(通用查询日志)此篇为图文结合搞懂MySQL日志的最后一篇,MySQL中共有八大日志,其中数据定义语句日志不是给用户查看的,在此篇尾部简单介绍,接下来图文结合系列还会继续推出新文章!二进制