xixi2


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

遇到过的linux面试题

发表于 2019-11-01 | 分类于 linux基础

此文档用于总结自身遇到过或网络找到的一些linux面试题。

阅读全文 »

TCP 粘包

发表于 2019-11-01 | 分类于 网络基础

zookeeper基础

发表于 2019-11-01 | 分类于 分布式

ZooKeeper是一种分布式协调服务。

阅读全文 »

alignment(字节对齐)

发表于 2019-11-01 | 分类于 C++基础知识

什么是字节对齐?

在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然边界(alignment)分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。

阅读全文 »

内存分配的几个函数

发表于 2019-11-01 | 分类于 C++基础知识

用于内存分配的函数有:malloc,calloc、realloc等。

阅读全文 »

RTTI(运行时类型识别)

发表于 2019-11-01 | 分类于 C++基础知识

运行时类型识别,在C++层面主要体现在dynamic_cast和typeid,VS中虚函数表的-1位置存放了指向type_info的指针。对于存在虚函数的类型,typeid和dynamice_cast都回去查询type_info。

阅读全文 »

redis实现分布式锁

发表于 2019-11-01 | 分类于 分布式

什么事分布式锁的特点

分布式锁

分布式锁一般有如下的特点:

  • 互斥性: 同一时刻只能有一个线程持有锁
  • 可重入性: 同一节点上的同一个线程如果获取了锁之后能够再次获取锁
  • 锁超时:支持锁超时,防止死锁
  • 高性能和高可用: 加锁和解锁需要高效,同时也需要保证高可用,防止分布式锁失效
  • 具备阻塞和非阻塞性:能够及时从阻塞状态中被唤醒

使用Redis实现分布式锁

从Redis2.6.12版本开始,SET命令的行为可以通过一系列参数来修改:

EX seconds : 将键的过期时间设置为 seconds 秒。 执行 SET key value EX seconds 的效果等同于执行 SETEX key seconds value 。

NX : 只在键不存在时, 才对键进行设置操作。 执行 SET key value NX 的效果等同于执行 SETNX key value 。

1
127.0.0.1:6379> set lock_sale_14 33 ex 30 nx

使用zookeeper实现分布式锁

参考文献

  • http://redisdoc.com/string/set.html
  • https://mp.weixin.qq.com/s/8fdBKAyHZrfHmSajXT_dnA

STL list排序函数

发表于 2019-11-01 | 分类于 STL

162. Find Peak Element

发表于 2019-11-01 | 分类于 leetcode

A peak element is an element that is greater than its neighbors.

阅读全文 »

二分查找各种不同的应用场景

发表于 2019-11-01

二分查找是一种十分重要的查找算法.通常在有序数组中查找某个指定的数.

阅读全文 »
123…18
xixi2

xixi2

一去不复返的远方还有无法抵达的过去

175 日志
21 分类
107 标签
© 2019 xixi2
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4
访问人数 总访问量 次