获得徽章 0
字节跳动使用了分布式文件系统(DFS)来存储大量的视频数据,使用MySQL、MongoDB等数据库来存储元数据,例如用户信息、视频信息等。分布式文件系统可以高效地存储和管理大量的视频数据,而关系型数据库和非关系型数据库则分别用于存储结构化和非结构化数据。
评论
点赞
Go 内存分配--分块
目标:为对象在 heap 上分配内存
提前将内存分块
调用系统调用 mmap() 向 OS 申请一大块内存,例如 4 MB
先将内存划分成大块,例如 8 KB,称作 mspan
再将大块继续划分成特定大小的小块,用于对象分配
noscan mspan: 分配不包含指针的对象 —— GC 不需要扫描
scan mspan: 分配包含指针的对象 —— GC 需要扫描
目标:为对象在 heap 上分配内存
提前将内存分块
调用系统调用 mmap() 向 OS 申请一大块内存,例如 4 MB
先将内存划分成大块,例如 8 KB,称作 mspan
再将大块继续划分成特定大小的小块,用于对象分配
noscan mspan: 分配不包含指针的对象 —— GC 不需要扫描
scan mspan: 分配包含指针的对象 —— GC 需要扫描
展开
评论
点赞
好多人问我git和github的区别,想必对于好多人没学过的大佬们恐怕也是一脸懵逼,但是不知道也是不行的,所以我今天就来讲一讲这二者的区别和联系。
用一句话形容这二者的关系:git是弓,你的代码是箭,github是靶子。
git是软件,它可在本地建立仓库,你写的代码的各个版本都可以存着
github是网上仓库,你写的代码的各个版本都可以存着。
用一句话形容这二者的关系:git是弓,你的代码是箭,github是靶子。
git是软件,它可在本地建立仓库,你写的代码的各个版本都可以存着
github是网上仓库,你写的代码的各个版本都可以存着。
展开
评论
点赞
核心API是linux提供给应用程序(各种编程语言开发的应用)访问的核心函数接口,这些核心函数接口以C样式函数声明定义,上层的应用程序都要通过它来达成目的。而这些核心API已经非常成熟,并且长达20多年了核心API接口的名字和参数都没有发生太大的变化,而它也是非常重要的一个东西是应用程序通过它调用了内核的相关核心功能。
评论
点赞
准大三,大一上老老实实跟着进度把语法基础和简单算法的还可以,然后寒假其他人在集训,我考驾照去了(本人也爱玩 晚上回来就不想学了),大一下都没怎么学,大一暑假参加了暑假集训,学了一些中阶的算法,但因为之前基础没打好,基础算法还不会,学的很痛苦,大二上最努力,打了一个学期的codefores,本来准备在大二寒假弯道超车的,结果失恋了,抑郁了一个寒假。结果现在啥成绩都没有,只有两个蓝桥杯省二,几个水赛省奖。接下来怎么办,有点迷茫,是不是搞搞找工作用的算法就润去考研了?
展开
评论
点赞
今天阅读了《前后端分离项目,该如何定义接口规范》,虽然有些没看懂,但还是有所感悟
1:职责分离
2:规范开发流程 后端编写好接口文档并及时更新接口文档,前端根据文档开发
1:职责分离
2:规范开发流程 后端编写好接口文档并及时更新接口文档,前端根据文档开发
评论
点赞
架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。架构描述语言(ADL)用于描述软件的体系架构。现在已有多种架构描述语言,如Wright(由卡内基梅隆大学开发),Acme(由卡内基梅隆大学开发),C2(由UCI开发),Darwin(由伦敦帝国学院开发)。ADL的基本构成包括组件、连接器和配置。[
评论
点赞
给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
评论
点赞
所谓前序,中序,后续遍历命名的由来是我们访问二叉树,根节点的顺序。前序遍历就是优先访问根节点,中序遍历是第二个访问根节点,后续遍历就是访问完左右节点之后,最后访问根节点。注意访问二字。访问和获取是两个不同的概念,我们可以获取一个节点,但是不访问他。对应在计算机里的概念是,获取一个节点表示将他入栈,访问一个节点是他处于栈顶,我们即将让他出栈。
评论
点赞