07 2020 档案
摘要:REDIS 较宽泛的支持5种数据结构 分别为 字符串 列表 集合 散列 有序集合 关于这几种数据结构的使用 相信网上有很多资料,查看官网API 也很详细了 读者可以自己随意翻阅 很方便 。 接下来介绍的是 这些数据结构背后的实现 。更底层的数据结构实现 (1)先介绍SDS这种数据结构 :SDS【si
阅读全文
摘要:HashMap扩容时究竟对链表和红黑树做了什么?
阅读全文
摘要:写这篇文章是看到网上的一篇面试题,有面试官问hashmap有一个loadFactory为什么是0.75 我先解释一下 0.75上下文,当一个hashmap初始数组大小暂时不考虑扩容情况,初始情况下它的值是16,随着hashmap的不断put操作,统计发现桶数组内累加的entry数 除以当下数组长度比如16 大于0.75 那么hashmap就会成倍的扩容数组,进行rehash;所以这个数字还是蛮关键的 。那么这个0.75是怎么定义出来的,为什么不是0.5 ,0.6 或0.7呢 这篇文章 或许你看了 有一定的明白!
阅读全文
摘要:服务器负载过高问题分析-不是cpu高负载也不是IO负载如何处理(阿里 几乎是必考题)
阅读全文
摘要:load average 定义(网易面试) 1. load average 定义 linux系统中的Load对当前CPU工作量的度量。简单的说是进程队列的长度。 Load Average 就是一段时间 (1 分钟、5分钟、15分钟) 内平均 Load 。 通过系统命令"w"查看当前load aver
阅读全文
摘要:mmap和sendfile
阅读全文
摘要:刚在看虚拟机相关知识点 看到一段代码,大家猜测一下这段代码会触发子类初始化吗 public class SuperClass{ static{ system.out.println("SuperClass init."); } public static int value=1233; } publ
阅读全文
摘要:分布式领域,CP模型下 数据一致性协议至关重要,不然两边数据不一致容易出现数据读混乱问题。像Etcd Consul zookeeper Eureka ,Redis集群方案这些中间件 都有一致性算法来保证数据一致性像Redis集群数据同步采用grosip是一个体现最终一致性协议算法,其他的算是强一致性算法或同步算法,作者认为既然同步 对于小规模的集群没什么问题,当然还是要知道同步的数据大小,如果很大,比如几千几万台服务器的要保持同步,那么势必会存在问题,比如网络开销巨大,延迟性增高等,所以要具体问题具体分析。今天文章讲解的是etcd,Consul支持的raft协议,这篇文章,作者比较形象的阐述了Raft这个协议的基础知识,想了解这个协议的读者可以简单看下
阅读全文
摘要:阿里技术专家详解 Dubbo 实践,演进及未来规划
阅读全文
摘要:作者在很早之前看了很多MYSQL的资料,但很少有文章比较简单易理解的讲解MYSQLB+树的索引内容组织过程讲解;这篇文章比较形象的告诉读者数据页里不仅存放数据,也存放键值和索引页指针;
页可以用于存放数据也可以用于存放键值 + 指针,在 B+ 树中叶子节点存放数据,非叶子节点存放键值 + 指针
顺便也回答了一道比较经典的面试题:
为什么 MySQL 的索引要使用 B+ 树而不是其它树形结构?
阅读全文
摘要:如果面试官问你 加入有用户反映访问你们网站比较慢,你怎么排查是服务端问题或其他问题,解决思路是什么;你怎么回答;记得这道题 有朋友在蚂蚁3面碰到。我自己画了一个脑图也算按自己的理解回答了这个问题...
阅读全文
摘要:原创文章,转载请务必将下面这段话置于文章开头处(保留超链接)。本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ ThreadLocal解决什么问题 由于 ThreadLocal 支持范型,如 ThreadLocal< StringBuil
阅读全文
摘要:使用ThreadLocal 阅读: 135212 多线程是Java实现多任务的基础,Thread对象代表一个线程,我们可以在代码中调用Thread.currentThread()获取当前线程。例如,打印日志时,可以同时打印出当前线程的名字: // Thread public class Main {
阅读全文
摘要:redis持久化机制RDB和AOF
阅读全文
摘要:分布式架构,是一种一致性HASH的完全P2P架构,集群间通过gossip协议通信
阅读全文
摘要:其实不管redis还好,Mysql也好 这种数据存储介质,在分布式场景中都存在共同问题:即集群场景下服务路由。比如redis集群场景下,原本我们分3主3从部署。但万一有一天出现访问量暴增或其中一台机器挂了的场景,那么服务路由(一般采用HASH取模定位的方式)重新计算后 会面临数据在新的节点找不到,于是乎又会走DB查询数据进缓存,如果又是流量很大的场景,会给数据库造成不少压力。如果有一种算法,无论遇到扩容、缩容问题,最终受影响面足够小,即只有部分数据可能需要重新落DB,其他还是能正确找到对应缓存机器节点,那这是最好的。以下文章 是摘自知乎上阿里工程师的一篇原文,还是比较赞许作者以图文思路,比较通俗易懂的文字,讲清楚了一致性HASH算法;推荐你阅读...文后有知乎链接也可以直接阅读作者原文
阅读全文
摘要:柔性分布式事务关于异步解决方案MQ版 二阶段提交思想
阅读全文