5 诸葛蜗牛

尚未进行身份认证

https://github.com/dubaokun 互联网老兵 搜索 分布式 高并发 机器学习 现供职于京东广告部门 没事喜欢看看书 跑跑步

等级
TA的排名 10w+

redis之压缩列表

redis之压缩列表文章目录redis之压缩列表压缩列表**2.2.2** 节点的构成pre_entry_lengthencoding 和 lengthcontent**2.2.4** 将节点添加到末端**2.2.5** 将节点添加到某个**/**某些节点的前面**2.2.6** 删除节点**2.2.7** 遍历**2.2.8** 查找元素、根据值定位节点**2.2.9*...

2019-04-08 10:42:08

操作系统中锁的实现原理

在多线程编程中,为了保证数据操作的一致性,操作系统引入了锁机制,用于保证临界区代码的安全。通过锁机制,能够保证在多核多线程环境中,在某一个时间点上,只能有一个线程进入临界区代码,从而保证临界区中操作数据的一致性。所谓的锁,说白了就是内存中的一个整型数,拥有两种状态:空闲状态和上锁状态。加锁时,判断锁是否空闲,如果空闲,修改为上锁状态,返回成功;如果已经上锁,则返回失败。解锁时,则把锁状态修改为空...

2019-03-19 15:39:54

原子操作的实现原理及CAS分析

原子操作的实现原理及CAS分析目录 原子操作的实现原理及CAS分析1.原子操作意为“不可被中断的一个或一系列操作”。再多处理器上实现原子操作就变的有点复杂。2.处理器如何实现原子操作? 首先处理器能自动保证基本的内存操作是原子性的。表示当一个处理器读取一个字节时,其他处理器不能访问这个字节的内存地址。但是对于复杂的内存操作处理器是不能自动保证其原子性的,比如跨总线宽度、跨多个缓存行和跨...

2019-03-19 11:08:58

std stable_sort

std stable_sort转载:https://www.jianshu.com/p/bbabf83b13ea上周,刚上线的项目中,发现推荐结果排序不稳定,如果用stable_sort()性能会比降低,然后我就修改了比较函数,如果评分相等,比较上架时间auto cmp = [](const GidScore& a, const GidScore& b) { if (...

2019-03-13 16:38:21

cpu 性能 load

CPU的性能指标说到CPU的性能指标,大家都会熟练的使用top命令,观察每个进程的cpu、内存等指标,但是对于头部的指标,部分同学还不是十分清晰,所以本文讲述一下。CPU load average.首先输入top命令,可以看到load average指标:3个值,分别记录了1min,5min,15min的系统平均负载。CPU load这个值在多少的时候,表示机器出问题了呢,记...

2019-03-12 10:35:50

std::tr1::function and std::tr1::bind

std::tr1::function and std::tr1::bind每日一话一本正经的胡说八道引言在C++的TR1中(Technology Report)中包含一个function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类的非静态成员函数时。可以参考Scott Meyers. <<Effective C+...

2019-03-08 11:04:46

概率论与数理统计基础知识

文章目录1. 概率论的基本知识条件概率(先验概率VS后验概率)1. 概率论的基本知识随机试验。样本空间、随机事件、基本事件。频率、概率、加法公式、乘法公式。古典概率:取球模型、分球模型。条件概率:条件概率(先验概率VS后验概率)个人感觉后验概率类似条件概率;条件概率是一种相对的概念,古典概率相对的是全部的样本,条件概率相对的是部分的样本,直白的说就是分母...

2019-03-06 15:01:40

git rebase解决方案

gitcheckoutdevgitrebasemaster#将dev上的c2、c5在master分支上做一次衍合处理git提示出现了代码冲突,此处为之前埋下的冲突点,处理完毕后gitaddreadme#添加冲突处理后的文件gitrebase--continue#加上–continue参数让rebase继续处理...

2019-03-04 19:51:58

为啥要用位运算代替取模

为啥要用位运算代替取模文章目录为啥要用位运算代替取模引言引言在hash中查找key的时候,经常会发现用&取代%,先看两段代码吧,JDK6中的HashMap中的indexFor方法:/***Returnsindexforhashcodeh.*/staticintindexFor(inth,intlength){returnh...

2019-03-04 17:00:41

机器学习基础知识

机器学习技巧文章目录机器学习技巧基本知识异常情况经验误差与过拟合评估方法留出法交叉验证法(cross validation)自助法调参与最终模型性能度量(performance measure)基本知识监督学习、非监督学习、半监督学习、强化学习:分类与回归是监督学习的代表;聚类是非监督学习的代表;生成模型、判别模型分类、回归:预测的是离散值还是连续值;模型:泛化能力模型、策略、算没...

2019-02-28 15:22:51

mysql乱码问题解决

mysql乱码解决目录mysql乱码解决(原创)Linux下MySQL5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)PS:昨天一同事遇到mysql5.5中文乱码问题,找我解决。解决了,有个细节问题网上没人说,我就总结一下。一、登录MySQL查看用SHOWVARIABLESLIKE‘character%’;下字符集,显示如下:±--------------------...

2019-02-27 11:50:16

使用git pull文件时和本地文件冲突怎么办?

[使用gitpull文件时和本地文件冲突怎么办?]文章目录[使用gitpull文件时和本地文件冲突怎么办?]同事在使用gitpull代码时,经常会碰到有冲突的情况,提示如下信息:error:Yourlocalchangesto'c/environ.c'wouldbeoverwrittenbymerge.Aborting.Please,commityour...

2019-02-26 14:34:23

git显示分支名称

在shell中显示git分支名称文章目录在shell中显示git分支名称引言解决办法引言在开发的时候,新申请了一个开飞机,但是这个机器在git切换分支的时候,不显示分支,每次都需要输入gitbranch命令,非常不方便。解决办法在shell的配置文件中,添加functiongit-branch-name{gitsymbolic-refHEAD2>/dev/...

2019-02-26 14:07:28

git简单教程

git简明教程文章目录git简明教程1 准备工作2 建立分支3 切换分支4 分支合并1 准备工作首先建立一个新目录,并在里面建立一个空数据库。这里我们创建一个名为tutorial的目录。[dubaokun@localhost test]$ mkdir git_test[dubaokun@localhost test]$ cd git_test/[dubaokun@localhost g...

2019-02-25 14:31:59

不可重入函数

不可重入函数文章目录不可重入函数举例保证函数的可重入性的方法:实时系统举例malloc维护内部的链表, 而且这个过程不是原子的。譬如, 应用正在执行一个函数, 该函数刚好调用malloc. 此时应用catch到某个signal, signal如果调用这个函数, 就会导致再一次malloc, 而此刻, malloc就可能出大问题。主要用于多任务环境中,一个可重入的函数简单来说就是可以被...

2019-02-25 11:59:27

死锁、活锁、饥饿

死锁、活锁、饥饿文章目录死锁、活锁、饥饿一什么是死锁二什么是活锁三什么是饥饿一什么是死锁死锁:是指两个或两个以上的进程(或线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。死锁发生的条件互斥条件:线程对资源的访问是排他性的,如果一个线程对占用了某资源,...

2019-02-25 09:40:31

进程、线程与协程的区别

进程、线程与协程的区别文章目录进程、线程与协程的区别一、概念二、区别:三、进程和线程、协程在python中的使用现在多进程多线程已经是老生常谈了,协程也在最近几年流行起来。python中有协程库gevent,py web框架tornado中也用了gevent封装好的协程。本文主要介绍进程、线程和协程三者之间的区别。一、概念1、进程进程是具有一定独立功能的程序关于某个数据集合上的一次...

2019-02-25 09:27:03

c/c++内存对齐

内存对齐文章目录内存对齐什么是内存对齐为何要进行内存对齐测试不对齐访问与对齐访问的差异内存对齐规则什么是内存对齐首先,举个例子,大家看看如下的程序中的结构体应该占用多大的内存。#include <iostream>using namespace std;#pragma pack(1)typedef struct{ char a ; int b;...

2019-02-22 11:45:38

二叉树的最大宽度

二叉树的最大宽度文章目录二叉树的最大宽度代码代码//themaxdepthforthebinarytree//usetherecursiontodealit//usethecirculationtodealit//sometimetherecurtionideaisnotagoodidea#ifndef_BIN_TREE...

2019-02-15 17:23:07

linux下so编写 - 动态库-类

linux下so编写 - 动态库-类文章目录linux下so编写 - 动态库-类引言代码引言加载类有点困难,因为我们需要类的一个实例,而不仅仅是一个函数指针。我们无法通过new来创建类的实例,因为类是在动态库中定义的而不是在可执行程序中定义的,况且有时候我们连动态库中具体的类的名字都不知道。解决方案是:利用多态性!我们在可执行文件中定义一个带虚成员函数的接口基类,而在模块中定义派生实现...

2019-02-13 18:01:13

查看更多

勋章 我的勋章
    暂无奖章