Fork me on GitHub
摘要:背景 前段时间接手了一个还处于方案设计阶段的工作,我重新做了设计。觉得新方案比旧方案业务清晰明朗、解决了旧方案的缺陷。我就很高兴,跟同事聊这个事情。同事就问我是怎么想到这些的呢。 我说了一些细节的,但是没有把核心本质讲出来。我觉得这是个很难回答的问题。因为一个方案怎么更合适,主要因素包含业务理解、个 阅读全文
posted @ 2020-11-21 18:02 编程一生 阅读(272) 评论(0) 推荐(2) 编辑
摘要:背景 工程中用到guava的本地缓存。它底层实现和API接口上使用了强引用、软引用、弱引用。所以温故知新下,也夯实下基础。 预备知识 先来看下GC日志每个字段的含义 Young GC示例解释 [GC (Allocation Failure) [PSYoungGen: 273405K->20968K( 阅读全文
posted @ 2020-11-18 13:48 编程一生 阅读(259) 评论(0) 推荐(1) 编辑
摘要:概念 加密领域主要有国际算法和国密算法两种体系。国密算法是国家密码局认定的国产密码算法。国际算法是由美国安全局发布的算法。由于国密算法安全性高等一系列原因。国内的银行和支付机构都推荐使用国密算法。 从上图可知,对称加密算法在算法体系里占了半壁江山。因为国际和国密算法的过程差异并不大。只是应用的数学公 阅读全文
posted @ 2020-11-14 17:31 编程一生 阅读(164) 评论(0) 推荐(1) 编辑
摘要:背景 1> 大家都知道SpringBoot是通过main函数启动的,这里面跟踪代码到处都没有找到while(true),为什么启动后可以一直跑? 2> SpringBoot默认使用tomcat作为web容器。大家也可以通过在pom文件中exclusion掉tomcat,denpendency jet 阅读全文
posted @ 2020-11-11 18:33 编程一生 阅读(435) 评论(5) 推荐(3) 编辑
摘要:引子 幸福很简单: 今天项目半年规划被通过,终于可以早点下班。先坐公交,全程开着灯,买了了几天的书竟然有时间看了。半小时后,公交到站,换乘大巴车。车还等着上人的功夫,有昏暗的灯光,可以继续看会儿书。过会儿车跑起来了,灯关了。我合上书,头靠着车窗,眼睛看着窗外,脑子想着怎么把书里的东西用到工作中进行知 阅读全文
posted @ 2020-10-23 09:40 编程一生 阅读(418) 评论(3) 推荐(0) 编辑
摘要:背景 做面试官也是一个需要持续完善和改进的技能,避免面试官和面试者都没有收获或者面试感觉不舒服,间接影响公司的形象。 作为面试官的核心要点 1. 不要透露公司内未官方宣传的数据和信息。2. 面试官代表公司的形象,要尊重面试者。信息的传达注意对公司的影响。3. 要明确招人的标准,找:能做事、会做事、做 阅读全文
posted @ 2020-09-25 09:25 编程一生 阅读(778) 评论(2) 推荐(4) 编辑
摘要:两个流程链路问题的排查和总结 原创 编程一生 编程一生 8月13日 乱码问题 现象 在一类简单的业务场景下发起http请求的测试案例,返回的时候会100%有乱码。如果跳过跟厂商定制的7层负载均衡设备,直接连后端一台机器,则100%无乱码。在其他测试场景,则100%无乱码。 注意,此处的100%是那段 阅读全文
posted @ 2020-09-21 09:44 编程一生 阅读(252) 评论(0) 推荐(0) 编辑
摘要:情景我们想搭建一套线上变更前,上线代码的一个回归验证环境,跑测试用例的平台工具已经有了,苦于整套链路没有搭建好,并且总有问题,测试用例跑不通。 目标 1.项目的目标是15分钟(有可能的话尽量控制在5分钟内)跑成功100w案例(测试用例);案例包含两套环境,每套环境不仅要和预期的结果一致,而且要求同一 阅读全文
posted @ 2020-09-15 09:43 编程一生 阅读(321) 评论(1) 推荐(1) 编辑
摘要:总述 稳定性问题分为逻辑问题和架构问题。 逻辑问题三板斧:理念正确、流程规范、刨根问底。 逻辑问题 理念正确 曹操煮酒论英雄,对刘备发表了自己对英雄的看法: 胸怀大志,腹有良策,包藏宇宙之机,吞吐天地之气。 意思是说所谓英雄,要志气远大,计谋精良。胸怀能包含宇宙,志气能吞吐天地。对稳定性建设来说就是 阅读全文
posted @ 2020-09-08 10:24 编程一生 阅读(403) 评论(0) 推荐(3) 编辑
摘要:背景 如果前人认为这个一种学习提高或者检验能力的成功实践。而自己目前又没有更好的方法,那就不妨试一试。 而不管作为面试官还是被面试者,编码题最近越来越流行。而两种角色都需要思考的问题是希望考察什么能力,通过什么题目,需要达到怎样的程度可以说明面试者具有了这样的能力。 而要找到上面这些问题的答案,比较 阅读全文
posted @ 2020-06-28 08:44 编程一生 阅读(1277) 评论(0) 推荐(5) 编辑
摘要:背景 之前做过一个项目,数据库存储采用的是mysql。当时面临着业务指数级的增长,存储容量不足。当时采用的措施是 1>短期解决容量的问题 mysql从5.6升级5.7,因为数据核心且重要,数据库主从同步采用的是全同步, 利用5.7并行复制新特性,减少了主从同步的延迟,提高了吞吐量。 当时业务量高峰是 阅读全文
posted @ 2020-06-16 09:52 编程一生 阅读(684) 评论(1) 推荐(3) 编辑
摘要:背景 有人对Java主流锁做了下面全面的梳理。梳理的确实挺好的。但是我看到这张图,第一个感觉是:记不住。 因为分了太多类,彼此之间没有什么联系。做PPT可以。如果聊天或者面试,不用纸笔的情况下,就不太好描述了。也不利于对原理和应用的理解。 基于上述的考虑,我就自己系统的梳理一下锁,希望可以有助于大家 阅读全文
posted @ 2020-06-04 07:52 编程一生 阅读(640) 评论(5) 推荐(6) 编辑
摘要:背景 最近了解到很多朋友对限流、熔断、降级、隔离、超时重试的概念和应用场景理解的不是很到位,所以想用五篇的篇幅稍微系统的介绍一下。 本篇是第一篇,是限流做详解,如果反馈好的话,我会继续写下面四篇。不好的话就算了,算我理解不够,再自己总结总结。 限流的概念 有朋友问我限流和熔断有什么区别,我的理解很简 阅读全文
posted @ 2020-06-02 07:57 编程一生 阅读(581) 评论(0) 推荐(1) 编辑
摘要:背景 阿里云上有个阿里巴巴编码规范认证,我估算一下时间成本很低,多个认证也没什么坏处,就花了1分钱报了个名。这个认证报名后就可以下载链接下的编码规范,然后参加个考试应该就OK了。 共48页的规范实际上每读一遍都是要花一些时间的,因为每读一遍就会发现上面有些东西我不信。我需要去证明。过去证明过的因为J 阅读全文
posted @ 2020-05-28 05:32 编程一生 阅读(1446) 评论(3) 推荐(4) 编辑
摘要:HashMap的初始容量 背景 很多人可以把HashMap的原理描述的很溜。比如JDK1.7之前,底层数据结构是数组+链表。JDK1.8之后,出于效率上的考虑,在数组长度大于64,链表长度大于8的时候,会转换为红黑树。 甚至知道对于赋值了容量的都会做一个变成2的n次方的操作。它的hash方法为了防止 阅读全文
posted @ 2020-05-27 00:51 编程一生 阅读(445) 评论(1) 推荐(1) 编辑