北方轻巡舰的博客


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

Week01总结

发表于 2021-04-10 | 分类于 学习打卡

1. 检索结构复习(所有的设计都是 trade off):

  • 线性检索,数组与链表效率分析,二分查找法,对于有序数组的范围查找 [x,y],先二分法定位 x,缩小区间后在 [x,max] 之间再二分找到 y 是比较好的方式,数组可以利用内存局部性原理加快查询,小数据量下的插入操作可以使用到内存拷贝,也不会很慢。

  • 非线性结构,链表 O(N) –> 二叉排序树 (OlogN),是为了增加链表的检索效率。由于存在树退化的可能,引申出了 红黑树、二叉平衡树等平衡结构,Set、Map的底层就用到了红黑树;

  • 跳表(链表的二分查找),空间换时间的一种结构。采用分层存储的方式,缩小检索范围,

    阅读全文 »

ES集群滚动升级

发表于 2021-04-07 | 分类于 ELK

滚动升级

滚动升级即每次升级一个集群节点,但有以下的注意事项:

  • 先升级普通的数据节点,最后升级 master ,否则老版本的 node 无法加入到新版本集群中,集群就分裂开了!
  • 支持滚动升级的版本为:mirror 版本之间,跨大版本之间只支 持 5.6--->6.8, 6.8--->7.2.1,其余情况需要 full cluster restart,或者多次升级。

升级准备

  • 检查 deprecation log,确认是否有使用涉及到已过期的功能,需要对数据进行变更处理的修改这部分内容!
    阅读全文 »

向着ECE努力

发表于 2021-04-05 | 分类于 杂谈

果然一个人的学习自制力是很差的,趁着这次官方团购优惠报名了ECE认证。算是以考代学逼自己一把。

未来的两个月内会坚持每天打卡,记录下认证准备的过程~,目前的大致目标如下:

  • 4月熟悉官方文档,复习考点知识及相关原理
  • 5月模拟题演练、实战记录
  • 6月再巩固一小短时间,月内拿下认证(7月之后的考试版本就升级了)。

明日香 –>

阅读全文 »

mysql5.7-31 主从复制安装(windows)

发表于 2021-03-07 | 分类于 数据库

准备两个MySQL服务实例

windows上可以用压缩版本,例如mysql-5.7.31-winx64.zip,解压文件夹再复制一份,添加my.ini配置文件。假设一个叫mysql-5.7.31-winx64,一个叫mysql-5.7.31-winx64-2,以为分别配置其为主和从

修改主mysql-5.7.31-winx64的my.ini

解压出来默认没有 my.ini 需要自己新建:

1
2
3
4
5
6
7
8
9
[mysqld]
basedir = ./
datadir = ./data
port = 3316
server_id = 16

sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log_bin=mysql-bin
binlog-format=Row

阅读全文 »

无锁队列的简单实现及ConcurrentLinkedQueue源码解析

发表于 2020-09-02 | 分类于 深入java

无锁队列

无锁也称为 LockFree,其实现原理是基于 CAS( compare and swap) 原子操作来保证多线程下共享资源的线程安全问题。

  • CAS(V,E,N) 代表的是要更新的值 V,预期值 E,当且仅当要更新的值等于预期值时(V=E),将 V 的值设为 N。
  • CAS 操作会返回一个 boolean 值,true 表示交换成功,失败时进入循环,重新进行下一轮操作。

无锁队列则是使用 CAS 来实现的,且支持并发操作的队列。在阅读源码之前,我使用 Atomic 包里的原子类及网上的一些参考信息编写了一个使用数组实现的简易无锁队列。

代码如下:

阅读全文 »

1…345…7
北方轻巡舰

北方轻巡舰

35 日志
8 分类
16 标签
GitHub
© 2022 北方轻巡舰
0%