自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 思维能力--提升认知、效率、耐心

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-09-24 21:51:26 426

原创 随笔--纪录片《Undercover billionaire》随感

前言财商一直强烈推荐这部记录片,豆瓣分数也比较高,成片比较早了19年的综艺片,一直没来得及看。假期期间在家第一次刷,感触还是比较深,对整体的个人的理解和感触做个总结。简介主要是美国一个亿万富豪身上只带100美元,在90天变成百万资产的规模的事情,整个过程中如何思考、组建团队、获取资金等等,是一部综艺片,期间的过程,很多值得深思。随感这个纪录片虽然偏综艺性质,但是整体看下来感触还是颇多的:1.先找买家,再找产品2.选择市场需要的商品,组织团队,分析需求,加以满足3.懂得鼓励人:拉齐团队其他人

2022-05-03 18:51:30 631 1

原创 思维能力----影响决策的经济效应

前言适逢五一假期,笔者因为疫情政策原因,看了一下《金钱与我》这部记录片,本文是对整个内容的感知和复盘。简单体会这里面讲述了很多遇到财务困境的家庭,每个家庭都有自己独特的原因,但是也有一个共同的原因:没有对自己的消费进行思考和复盘,没有对自己每月的账单进行复盘。比如应该买品牌的食物还是小商家的食品,在食用过程中并没有发现差别。超市打折买了很多冗余商品等等,这些都是纪录片中导致财务困境的原因。如何破局,复盘消费记录,减少不必要的开支,进行储蓄,节流。经济学效应赋予效应:简单说来:当你没有拥有一件东

2022-05-01 23:03:03 527

原创 性能优化---线程池拒绝问题解析,线程池调优漫谈

线程池C端常见使用经验,对于线程池调优探讨。

2022-04-06 11:12:46 5225

原创 技术管理沉淀

前言随着工作时间的增长,越来越体会到管理的重要性,管理自己,管理团队。如何在自己的工作卓有成效,管理是一门技术,也是艺术。这里沉淀一些常见的管理方法,项目、团队、时间、自己。管理自己如何使自己的工作卓有成效:掌握自己的时间,与时间做朋友,做减法,消除浪费时间的活动,统一安排可以自由支配的时间。正确的人际关系,正确处理会议,保证会议有效性。要事优先 ---- 考虑每天做事情的先后次序,这个很重要。领导力培养:综合素质提升,人际交往 和 团队管理,两个方面齐头并进。有意识注意自己的言行,管住

2022-04-03 22:00:24 715

原创 性能优化--如何保证自己服务的SLA与稳定性?

性能优化

2022-03-06 11:13:06 11792 1

原创 系统冰火两重天--如何做好“系统资源隔离”?

前言最近在研究系统之间的优化措施,如何保证系统各个服务在高并发、大流量的情况下,遇到突发问题,能够最大限度的减少影响,柔性可用。今天主要介绍一下,如何做系统隔离。常见的“隔离”方案其实谈到“隔离”,这个概念并不陌生,大家时时刻刻都能体会到,比如操作系统各个进 程之间也做了隔离,你在使用word,word突然崩溃关闭了,不会影响你正在听的音乐。数据事务之间也有隔离特性。在互联网大流量的催化下,常见的隔离方案比如hytrix提供的线程池隔离、信号量隔离,从硬件层面,部署隔离(不同集群之间隔离),还有另外

2021-09-12 18:35:12 798

原创 如何高性能将Map转化成对象--MapStruct来解决~

前言最近有个项目动态化处理,导致返回的都是Map<String,Object> 结构,但是处理过程中,肯定不能用Map,因为Object可能是各种对象,逻辑过于复杂,这个时候应该怎么处理呢?问题:为什么不用json工具如何高效的将Map<String,Object> 转换成我们心仪的对象呢?当然,方案有很多,比如gson、Jackson、fastjson(漏洞多,已经放弃)等,这些json工具可以先序列化字节流,再反序列化成对象(即使提供直接方法的比如Jackson,底层也是

2021-05-25 00:47:10 2332

原创 随笔--读书笔记 《乌合之众:大众心里研究》勒庞

前言早就了解到这本书,在豆瓣一直是遥遥领先,一直稳居社会心理学排行榜。五一假期期间闲暇时间读了一下,书比较简短。 这本书作者应该是在1894年以后写的这本书,时代比较久远,100多年了,有些需要带着一些批判的思想取阅读。我一直认为,作为一名程序猿,除了技术的历练,对其他领域的涉猎,能够活跃思维,了解社会百态,弥补职业带来的短板,奥利給~整体感受这本书通过对集体心理和行为的研究,探讨了一系列关于群体所受的影响因素比如言语、威望,群体的欲望比如权势,如何控制群体的常用手段心理的探讨,也介绍了一些现代生

2021-05-09 21:01:34 438 2

原创 关于灰度发布的探讨

前言灰度发布,大家可能并不陌生,这是很多互联网行业上线的必经一环,但是这里说的广义的“灰度”发布,可能并不仅仅是发布上线,比如配置的灰度变更等等,这里主要对于笔者遇到的情况做一个整理。前端的灰度这个很好理解,比如京东、滴滴打车等这些微信小程序,在开发完成后进行发版本,可以控制放量,比如先灰度 10%的人群,那么只有10%的人群可以看到最新的小程序功能,剩余的还是看不到。也正是这种方式,在前端也可以做验证、回滚。笔者认为,这也是小程序优于APP的地方,可以灰度,可以随时回滚。服务端的灰度这里重

2021-04-27 01:03:38 556 2

原创 随笔--读书笔记《软技能:代码之外的生存指南》

前言最近读完的一本书,记录下随笔,留下对自己的影响。作为一个入行近10年的十年程序员,这本书中作者对待软件这个职业之外的观点看法,确实很多是我们不经常考虑的。比如健身,你的身体就是你灵魂的真实写照。如何选择饮食,如何控制卡路里,带你入门,引起注意。比如如何提前退休,如何投资,讲解基本的投资知识和经济学原理。对于职业生涯,经常面试看看自己在行业中的位置,番茄工作法,提高工作效率等等。心得绝不要做他人都在做的事。做事情、工作思考目标,目标是什么?关注人际交往能力,虽然是程序员,但不仅仅是跟电脑打交道

2021-04-25 00:43:43 301

原创 一次Spring循环依赖引入的问题及原理分析

前言最近项目工作中,发现团队小伙们还在犯spring循环依赖使用的错误,感觉有必要系统整理一遍。使用问题简单描述: 系统需要使用两个本地缓存,场景本地缓存 和 字段本地缓存。 场景本地缓存数据包含 字段本地缓存需要的数据。 ===》 那么字段本地缓存初始化数据依赖 场景本地缓存初始化。 问题就发生在这里。代码://场景缓存代码@Slf4j@Componentpublic class SceneCache { @Resource private Fiel

2021-04-23 01:05:36 174

原创 随笔:读书笔记--《学会提问》 尼尔·布朗

前言这本书我读了两遍,是对我触动非常大的一本书,很后悔没有早点读到它,如果可以在高中遇到他,可惜没有如果。这本书从不同角度分析问题,建立批判性思维,更客观清晰的分析问题,认识问题,识别很多谎言,同样也提高自己叙述的能力、严谨性,从而提高提问题的效率,非常值得阅读~心得遇到别人提出相反的观点时,就认为别人是没事找茬,有意和自己过不去,甚至为此恼火:他为什么横竖不肯接受我的观点?这时不应该恼火或者感觉没面子,应该找到对方为什么反对,是我们的观点有漏洞?是我们没有解释清楚?一切从“批判性思维”开始,批判性

2021-04-14 02:14:21 565 1

原创 记一次Arthas火焰图(Flame Graph)性能分析实战

前言 最近负责的一个核心服务,TP999总是被上游吐槽,失败率也比较高。TP999达到了200ms+,最终通过arhas的火焰图,定位到了耗时的原因,是由于对象多余的序列化和反序列化导致的,去掉后性能提示了30%。本文将会顺带介绍一下火焰图的使用。...

2021-04-11 23:10:16 13136 3

原创 MySQL分页limit m,n 慢问题优化思路

前言最近梳理遇到的问题,发现mysql分页的问题,组里的同学还是很容易忽视的。有必要记录一下。问题一个管理端的老系统,主要提供供货商查询历史订单信息,有反馈查询打开特别慢,后来发现,他们回溯查询历史订单,页数很深,导致分页特别慢。分页SQL用于分页的sql说明: // 查询admin表中前10条记录,从第一条开始 1.SELECT * FROM admin LIMIT 10 2.SELECT * FROM admin LIMIT 0, 10; -- 其实0可以省略不写 3.SELECT *

2021-04-11 13:26:43 493

原创 随笔--读书笔记《人人都是产品经理2.0--写给泛产品经理》苏杰

前言最近整理读过的对自己有影响的书,整理一下,回味一下。人人都是产品经理2.0 是苏杰老师的力作,书中的很多业界的产品思路都是值得回味和学习的。心得书中通过很多现实的产品设计比如火锅鸳鸯锅的产品设计、淘宝支付宝下单扣库存的产品设计,再到产品的思维方式、产品的设计理念,考虑利益的均衡(比如商户和用户)等等。一些产品概念的筛选、需求的采集、用户需求的理解,需求的分析。Y 模型:1.用户的需求场景,表象,第一深度2.用户需求背后的目标和动机,第二深度3.产品功能,是解决方案。4.人性,或者说价值

2021-04-11 01:17:07 368 1

原创 Arthas实战教程

前言:最近团队在研究线上问题排查方式,对于大流量高QPS的系统,传统的通过日志排查问题的思路已经不可行,因为流量太高,每个请求都打日志,会对服务本身造成较大的影响比如磁盘写入较高,cpu消耗高,线程阻塞等等。那么此时即使打日志,也会部分打或者不打日志。排查利器Arthas,阿里巴巴的产品,开源的Java诊断工具,个人喜欢玩儿魔兽,这个名字还是很有魔力的。功效:那么Arthas能帮我们做什么事情呢?详细的用法大家可以查官方文档,这里带大家实践:1.可以监控到JVM的实时的运行状态2.可以实时查看

2021-04-10 23:19:30 1310

原创 stream 常用代码片段

前言java8 stream 及 Lambda 表达式已经在之前章节介绍过,这里主要梳理一些常用的代码片段,便于使用查阅,人的记忆毕竟是有限的。准备数据-- List准备如下User对象集合List<User> userList = new ArrayList<>(); userList.add(new User(1L, "a")); userList.add(new User(2L, "b")); userList.add(

2021-04-09 01:03:22 288

原创 随笔:读书笔记--《九败一胜:美团创始人王兴创业十年》

前言最近读完了这本书(3.30~4.6),写下随笔,记录一下心得。这本书是讲美团创始人王兴的创业生涯,还是带给了我很多触动、启发和成长,美团团队那些青涩年华,如何一步步成熟起来,建立起一个伟大的公司。心得过去的长期经验不是最重要的,快速学习能力是决定一个人发展现状以及未来前景的重要因素。以身作则不是塑造公司价值观的最好办法,而是唯一办法。美团创始团队王兴、王慧文、赖斌强均是技术出身,第一份创业书中记录的是校内网,来源六度空间理论,虽然三人都是技术,但是王兴负责从技术中脱离出来,学习或者寻找新的思路

2021-04-08 01:51:49 745 2

原创 随笔:读书笔记--《CEO说像企业家一样思考》拉姆·查兰

前言不久前读了这本书,书也比较言简意赅,作者用通俗的语言做了讲解,易懂,这边文章,也是对这本书的读后感。心得拉姆·查兰以杰克韦尔奇等商业领袖 与 小贩的售卖思维,做对比,通用的介绍了 商业思维 和 商业语言。商业公司的本质都是一样的:基本要素:现金、利润、周转率、成长性 和 顾客。赚钱的业务由三个基本要素:现金净流入 、 资产收益率(利润率 和 周转率的结合)、业务增长。这三个基本要素,决定了公司未来是否走的长远,如何了解顾客,如何保持业务高速增长。现实中公司关系错综复杂,要理清楚中公司

2021-03-31 01:28:44 911

原创 随笔:读书笔记--《一分钟经理人》

前言 最近整理读过的书,觉得有意思的,有帮助的可以记录下来,也帮助自己做内心的整理,这本书,大概是去年11月份或者更早10月份,用了一个周末读完的(估计就两个小时),内容比较简短。 豆瓣读书的介绍:https://book.douban.com/subject/1082725/读书心得一分钟,其实比较精炼,书中提到,做一分钟经理人,具体怎么说呢,一分钟对齐目标、一分钟称赞、一分钟更正。并对为什么有效做了解释,对于新做管理的同学,帮助快速带新同学。下面梳理下一分钟如何做: 一

2021-03-30 01:01:52 207

原创 随笔:读书笔记 --《见识:商业的本质和人生的智慧》

前言最近终于读完了吴军老师的《见识:商业的本质和人生的智慧》这本书 (3.14~3.29),大概两周时间吧,本文记录下自己的读书心得。读书心得 – 上半篇序言中介绍了“命” 和 “运”的关系,命 和 运 决定了人的一生,这里我也引入提到的名言:注意你的思想,因为它会变成你的语言;注意你的语言,因为它会变成你的行动;注意你的行动,因为它会变成你的习惯;注意你的习惯,因为它会变成你的性格;注意你的性格,因为它会变成你的命运 。我们不深究是谁说的了,接下来书中详细描述了商业的本质,从经营和管理

2021-03-30 00:44:54 442 4

原创 如何应对爬虫,反爬虫混淆方案浅析

前言最近在梳理之前工作中遇到的场景,在互联网技术日益竞争激烈的情况下,公司的业务数据非常重要,爬虫与反爬虫的对抗,也显得异常重要。比如京东、淘宝等页面上的商品销量、价格,旅游网站上门票的价格、销量。APP常规请求流程上图是一次常规的APP请求,一般来讲先到公司的Nginx服务器,再到后端的网关层,一般网关层返回统一的展示数据,然后再APP上展示。这个时候,如果有恶意的软件可以模拟所有的请求,自动的访问所有的展示层页面,那么等于所有的数据都会被这个恶意软件拿到,这是非常可怕的,如果到了竞争对手公司,他

2020-08-27 01:16:37 888

原创 如何做压力测试及其性能优化方案剖析

前言:最近业务高速迭代发展,需要考虑系统的稳定性,降低线上系统问题导致的业务风险,此时需要评估、确定系统的瓶颈,未雨绸缪,提前准备应对措施。这里主要介绍上如何做一场压力测试。目标:一定要搞清楚压力测试的目标,知道了目标,才知道压力测试的意义与成果。其实我理解的目标:1. 评估系统性能瓶颈,看系统瓶颈在哪里,是DB、磁盘、网络?2. 确定目前的系统能否支持预估的业务量,举个例子,比如业务线要开支持新城市,那么根据推算,新开城市之后,业务的高峰的流量能达到多少,比如5W qps,压力测试可以选择高于

2020-08-23 17:35:53 2156

原创 如何在线程间传递参数

前言最近排查业务系统一个与跨线程共享数据(或者说传递数据)错误的问题,决定在这里梳理一下线程间数据传输的问题。跨线程传输数据的方式有很多,后续再写文章介绍,本次只对ThreadLocal及其衍生的类InheritableThreadLocal、TransmittableThreadLocal做一些使用的梳理与原理的分析。应用场景1.业务系统参数传递假如你有一个web系统,每次访问客户端会有一些公共参数传递进来,然后你的不同的业务方法,都想使用,这个时候要么你做一层防腐层,将所有有用的参数封装一下接连

2020-07-16 00:55:47 3446

原创 重复调用、消息,幂等性方案全整理

一、前言最近遇到很多业务在前期告诉迭代过程中,忽略很多幂等性处理,这都是技术债务,趁此机会,梳理一下业界常用的幂等性方案。二、场景什么是幂等性呢?这里其实说的是:系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。例如 :前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果;这种情况开发过程中,经常遇到,用户点击按钮没反应,再次点击。秒杀类似的场景,用户疯狂在一个时刻多次点击。ps 当然前端可以加锁。我们发起一笔付款请求,应该只扣用户账户一次钱,当遇

2020-07-11 00:59:18 424

原创 五大超常用Java算法模板,七分理解,三分记忆,唯快不破

前言整理了一些,常见算法的通用模板写法,针对不同的数据结构, 都可以针对性的选择使用。BFS (Breadth-First-Search)广度优先 代码模版其实他属于一种盲目搜索方法,也是很基础的一种搜索方式,主要目的是系统地彻底的展开(暴力)并检查结构中的所有节点。比如:树中,可以理解为层序的遍历的方式。图中先找到第一节点,再找到第一个节点的所有相连节点,按次序再找到每个节点的所有相连节点,逐步扩散,很明显,他需要依赖队列的结构,保证先进先出。模板代码如下:public void bfs(Nod

2020-07-05 11:04:41 2690

原创 Java8 Lambda表达式系统梳理及其常规应用 相信你看了更清晰

前言Lambda表达式让java8的代码更加简洁,特别是处理一些复杂的集合运算的时候,这些都得益于java8的新特性–Lambda表达式,很多小伙伴,都会使用,但是有些时候还是一知半解,本文期望于帮助大家答疑解惑.Lambda表达式介绍简单来说,Lambda表达式提供了一种“将函数作为参数传递进方法中”的方式。这里你可以理解为,lambda表达式将一段代码(方法)像数据一样传递,可传递的代码(方法)。还有,是Java开发更加简洁紧凑。Lambda表达式接口要求:只能有一个抽象方法Lambda表达

2020-06-29 04:49:52 216

原创 开发神器IntelliJ IDEA快捷键常用梳理 for Mac Book Pro

前言无疑,快捷键可以极大提高开发效率,节省时间,不过笔者这里说明下,这里的快捷键都是笔者经常使用的,不是一个大而全的快捷键。主要是很多快捷键有可能很少用的上,却还要占用脑细胞,当然不乏有高手,很多快捷键都记得住。常用快捷键整理复制粘贴相关Command + X 剪切所在行或选中的代码块到剪贴板Command + C 复制所在行或选中的代码块到剪贴板Command + V 从剪贴板粘贴Command + Shift + V 从剪贴板缓冲区粘贴,会打开缓冲区,按时间倒排最近的列表Comm

2020-06-28 23:41:22 552

原创 Redis深水区经验梳理--面试参考

背景最近工作中遇到很多redis的问题,索性梳理一下redis的核心的基础技术点,一做分享,二是工作中需要理解透彻,才能解决奇怪的问题。Redis数据结构基础数据结构:字符串String、字典Hash、列表List、集合Set、有序集合SortedSet (zset)。如果只知道基础数据结构,可以说redis只了解的皮毛。高级数据结构:1. 位图 :本质可以理解为字符串,标识字节的每一位是否为 0 或者 1,比如用来统计用户每天是否签到, 就可以考虑用位图的结构。2. hyperLogLo

2020-06-27 20:05:34 252

原创 记一次GCEasy的垃圾收集分析

背景最近系统总出现younggc次数过高的情况,时间点还不统一,取了GC频繁时的GC日志,用GCeasy分析一下。GCEasy简介gceasy 是一款非常不错的GClog分析工具,是在线的,可以免费分析,可以上传相关的...

2020-06-27 00:46:22 1068 1

原创 常用性能工具:工欲善其事,必先利其器

背景随着业务量的飙升,公司的系统由于早期待为了业务高速迭代,从精益思维的角度,快速开发,留下了很多历史包袱(或者性能bad code),导致性能问题频出,这篇文章,主要梳理一些常用的性能工具,后续会更新一些排查性能问题的通用思路。Linux 下常用的性能工具一般来将,笔者的业务均是部署在linux服务器,这里不得不考虑,操作系统层面的性能排查。Linux系统分析的工具集:Brendan Gregg http://www.brendangregg.com/linuxperf.html大家详细的可

2020-06-26 01:46:20 1318

原创 工作中常用的Git命令整理

背景码农10年,git命令还是经常使用的,这里整理下常用的git命令,用于新人上手。常用git命令一览:从远端拉一个分支:git checkout -b accuse origin/accusegit push origin HEAD -u 【将新建分支推送到远端服务器】从当前分支拉一个分支:git checkout -b accuse创建分支 git checkout -b new_branch 注意,new_branch的代码来自于当前分支切换分

2020-06-25 14:06:51 420

原创 GC代码优化之路浅析及抛砖

GC优化之路浅析及抛砖背景GC--内存分配率功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入背景最近被一些GC问题困扰,处理一些工作中的GC问题,本文也算整体对笔者GC经验的一些梳理。GC–内存分配率谈起GC,我觉得首先要

2020-06-25 02:03:10 346

原创 索引为什么选择B+树

1. B树 和 B+树我们都知道Mysql innodb引擎,使用B+树实现索引,为什么呢? 我们先看B 树 和 B+树的结构。如图:这是B树的常见结构。这是B+树常见结构,由图可见,叶子节点有所有的节点数据,数据之间排好序,叶子节点之间有指针相连。顺便给大家推荐一个数据结构算法生成图的教育网站: https://www.cs.usfca.edu/~galles/visualization/Algorithms.html这里可以生成任何你喜欢的数据结构及演示生成过程。2.局部性原理C

2020-06-07 21:42:18 269

原创 消息的可靠性与重复性

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2019-12-28 22:40:28 343

原创 你经常遇到的IO模型

一、常见的IO模型: 按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO。二、IO模型介绍: 1. 阻塞I/O模型: 进程会一直阻塞,直到数据拷贝完成。 应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好。 如果数据没有准备好,一直阻塞等待….知道内核数据准备完成,从内核空间拷贝到...

2019-12-15 21:44:26 223

原创 字节码技术在动态代理中的实现探讨

谈到动态代理,大家估计都非常熟悉,本文旨在深入探讨java动态代理的实现技术。先看看一种jdk动态代理的简单实现:定义一个接口如下:1.BookOrderpackage com.tingyun.dynamicproxy.jdk; public interface BookOrder { public void order(); }接口的实现类,亦即目标类2....

2019-12-15 15:50:22 334

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除