Fork me on GitHub
上一页 1 2 3 4 5 6 ··· 13 下一页
摘要:HashMap的初始容量 背景 很多人可以把HashMap的原理描述的很溜。比如JDK1.7之前,底层数据结构是数组+链表。JDK1.8之后,出于效率上的考虑,在数组长度大于64,链表长度大于8的时候,会转换为红黑树。 甚至知道对于赋值了容量的都会做一个变成2的n次方的操作。它的hash方法为了防止 阅读全文
posted @ 2020-05-27 00:51 编程一生 阅读(554) 评论(1) 推荐(1) 编辑
摘要:题目一 MyISAM和InnoDB的区别,什么时候选择MyISAM 参考回答 InnoDB是目前MySQL主流版本(5.6、5.7、8.0)默认的存储引擎,支持事务、外键、行级锁,对于并发条件下要求数据的一致性,适用于对数据准确性要求高的场景。 MyISAM只支持表级锁、数据排列是按照插入顺序,没有 阅读全文
posted @ 2020-05-26 00:29 编程一生 阅读(1170) 评论(0) 推荐(8) 编辑
摘要:字符串拼接:请用StringBuffer代替String直接相加提高性能 过去的理论 有没有人告诉过你开发中不要 String newString = "牛郎"+"织女"; 而是要根据是否线程安全采用 String newString = new StringBuffer("牛郎").append( 阅读全文
posted @ 2020-04-02 23:27 编程一生 阅读(653) 评论(1) 推荐(4) 编辑
摘要:引子 先介绍几个概念,同步一下认知: 容灾:是指系统冗余部署,当一处由于意外停止工作,整个系统应用还可以正常工作。 容错:是指在运行中出现错误(如上下游故障或概率性失败)仍可正常提供服务。 可用性:描述的是系统可提供服务的时间长短。用公式来说就是A=MTBF/(MTBF+MTTR),即正常工作时间/ 阅读全文
posted @ 2020-03-17 13:25 编程一生 阅读(1192) 评论(0) 推荐(2) 编辑
摘要:引子 为什么我要刷leetcode?换工作?不是!那是?玩!巴菲特的双目标清单系统,基本方法是列两个清单,一个是职业生涯最重要的目标(不超过5个),另一个是比较重要的目标。对于比较重要的目标,要像躲避瘟疫一样的去躲避它们,不投入任何的时间和精力,把这些资源花在最重要的目标上。这个双目标清单系统以方法 阅读全文
posted @ 2019-10-29 09:21 编程一生 阅读(2727) 评论(7) 推荐(6) 编辑
摘要:引子 很早之前听同事说:“要开会了。我都知道领导要问什么,就那几板斧。”其实领导之所以为领导,人家问的问题确实很合情合理,甚至可以说一针见血。而之所以能问出来这些合理的问题,就是因为头脑中有自己的思考框架。比如要做一件事情,一个思考框架就是: 1,我们现在是什么样的? 2,我们要做成什么样(解决什么 阅读全文
posted @ 2019-10-28 09:17 编程一生 阅读(1024) 评论(3) 推荐(2) 编辑
摘要:引子 这是我第二遍读此书,我认为并且希望这次阅读对我整个人生产生深远的影响。人一出生身上带着母体的抵抗力,大概6个月以后开始渐渐消失,靠自身的抵抗力活着。30岁前很多人会带着上天给的运气,终有一天,用尽了所有的运气,从此只能靠实力活着了。几年前,我非常失败,同时却非常骄傲。相比一起毕业的同届,混的并 阅读全文
posted @ 2019-10-27 19:46 编程一生 阅读(555) 评论(0) 推荐(1) 编辑
摘要:引子 妈妈要我的时候已经40岁了。她一定是下了很大的决定才决定终究还是想要个女孩,希望这个女孩可以解救她的孤独。上高三的时候,有次又是因为哥哥的事情,妈妈把我从学校接回家。一个劲儿的问我怎么办好。在我能和她一起思考前的50多年里,她该是多么无助。所以当我不断看自己的掌纹,上面的起起伏伏。在想这一切解 阅读全文
posted @ 2019-10-24 12:34 编程一生 阅读(1831) 评论(0) 推荐(4) 编辑
摘要:Tair是为了解决什么问题而生? Redis很好用,相比memcached多了很多数据结构,支持持久化。但是在很长一段时间里,原生是不支持分布式的。后来就出现了很多redis集群类产品,Tair是其中胜出的优秀作品之一。 所以Tair的特性都是一些集群的特性,比如:容错、解决单点故障、跨机房管理、多 阅读全文
posted @ 2019-10-11 09:36 编程一生 阅读(1152) 评论(0) 推荐(1) 编辑
摘要:kafka的术语(Terminology) Topic 和Consumer Group Topic 每条发布到 Kafka 集群的消息都有一个类别,这个类别被称为 Topic。(物理上不同 Topic 的消息分开存储,逻辑上一个 Topic 的消息虽然保存于一个或多个 broker 上但用户只需指定 阅读全文
posted @ 2019-10-10 22:52 编程一生 阅读(593) 评论(1) 推荐(1) 编辑
摘要:背景 事情是这样的。一天下午4点42分左右。业务反馈我开发的服务在测试环境出现问题,返回资源数据是0。查日志发现是ES访问超时。相当于数据库挂了。持续了20多分钟自己恢复。咨询了ES团队,最终得到下面的答复: 调查 1.需要换成本地磁盘,测试环境也是我们的正式环境。是否能直接替换成物理机?多少台合适 阅读全文
posted @ 2019-10-06 17:52 编程一生 阅读(2743) 评论(0) 推荐(0) 编辑
摘要:在工作和生活中,沟通是重要的一环。想把事情叙述清楚有几个常用的逻辑结构。主要分为四种类型:传统型、流程型、情境型、要素型。 传统型 传统型是知识点按照常用逻辑,抽丝剥茧般的展示出来。又有三种主要的结构。 流程型 知识点按照完成一项任务的顺序来呈现。 情境型 知识点按照一项能力在不同情境中的应用来呈现 阅读全文
posted @ 2019-09-26 13:15 编程一生 阅读(708) 评论(0) 推荐(0) 编辑
摘要:背景 在实际开发中,数据的处理有五种:获取、传输、存储、分析、转换。每种各对应一些常用的技术。序列化和反序列化 序列化是将对象的信息转换为可传输或可存储形式的过程。反序列化就是反过来让这些可传输的、可存储的信息变回对象。 传输的序列化除了安全性的考虑,因为涉及到和第三方通信,所以还有重要的一点是可读 阅读全文
posted @ 2019-09-25 09:58 编程一生 阅读(1909) 评论(1) 推荐(4) 编辑
摘要:考察实践经验和方法 很早之前阿里打电话过来面试我,是一个架构师的职位。当时问我一个问题:在review代码的时候,如果代码特别长,比如几千行几万行,你如何去review呢?我的回答角度是这样的: 1.review PR我一般不会review所有的代码,而是变更点。整体的代码review会以模块rev 阅读全文
posted @ 2019-09-02 13:42 编程一生 阅读(1499) 评论(2) 推荐(6) 编辑
摘要:最正统的方法 日志 这是排查问题的最常用的方法,需要预估自己每日日志量和需要存储的日志时间。申请磁盘空间时一般会留35%的冗余以备突发流量。 一般需要打日志的有:每个对外提供方法的入口和出口,调用第三方的调用前和调用后。打印内容主要包括入参和出参。https://github.com/xiexiao 阅读全文
posted @ 2019-08-20 10:16 编程一生 阅读(908) 评论(2) 推荐(1) 编辑
上一页 1 2 3 4 5 6 ··· 13 下一页