树哥聊编程

其他

从全局角度,如何设计一个秒杀系统?

大家好,我是树哥。秒杀系统的设计是高级职位面试中非常高频的一道题目,它可以较好地考察候选人的知识体系情况。对于我们来说,学习秒杀系统的设计,能够让我们学以致用,设计系统的时候考虑得更加全面。今天就让树哥带你一起来看看怎么设计一个秒杀系统!活动一般出现在电商的促销活动中,一般是指定了很少数量的商品,以极低的价格,让大量的用户参与,从而造成大量用户在极短的时间内参与活动,进而造成系统在极短的时间内有极高的流量。系统设计的目的是使系统能够稳定地支撑活动的进行,因此其稳定性、高可用是我们考虑的第一位。要知道如何进行秒杀系统的优化,那我们需要先对请求的整个流程有个全局的认识。一般来说,秒杀活动请求以公网为划分点,可以分为:前端部分、后端部分。
2022年7月18日
其他

思否这个哥们的文章,真是太香了!!

年的同学,如果你们想技术更进一步,那么这个系列的文章对你们来说,绝对是宝藏般的存在!如果你喜欢今天的分享,记得一键三连支持我!你的鼓励,是我写文章最大的动力!推荐阅读Java
2022年7月15日
其他

系统总出故障怎么办,或许你该学学稳定性建设!

大家好,我是树哥。说到系统稳定性,不知道大家会想起什么?我想大多数人会觉得这个词挺虚的,不知道系统稳定性指的是什么。一年前的我看到这个词,也是类似于这样的感受,大概只知道要消除单点、做好监控报警,但却并没有一个体系化的方法论。经过一段时间的摸索,我对系统稳定性有了较为体系化的认识,于是迫不及待地希望和大家一起分享。所以今天,就让我跟大家简单聊聊系统稳定性建设这个话题吧!何谓稳定性?系统稳定性,从字面上来看,就是让系统尽可能稳定,不要出问题。
2022年7月13日
其他

服务器宕机了,Kafka 消息会丢失吗?

log.flush.interval.messages=1,那么每次来一条消息,就会刷一次磁盘。通过这种方式,就可以降低消息丢失的概率,这种情况我们称之为同步刷盘。
2022年7月11日
其他

微信背后的产品观,确实厉害!

来写高考作文,能得多少分?不懂优雅停机,搞挂了线上服务,咋办?懂得了那么多道理,为什么还是过不好这一生?我找到了答案!
2022年7月9日
其他

Java 内存模型,或许应该这么理解

原则?这些内容基本上没有一个说得清楚,这就让人很困惑了。此外,有些还扯出了内存屏障、执行时序的问题,但都没啥逻辑,听起来乱糟糟的。我就曾专门花了一个晚上认真看某篇很火的文章,但最终也没搞懂。对于
2022年7月7日
其他

深入理解 Java 对象的内存布局

虚拟机的对象头包括两部分信息,第一部分用于存储自身运行时的数据,第二部分用于存储类型指针。自身运行时数据对象头第一部分用于存储对象自身的运行时数据,如哈希码(HashCode)、GC
2022年7月6日
其他

深入理解 synchronized 的锁优化

虚拟机做了一系列的锁优化,其中最重要的便是:自旋锁、轻量级锁、偏向锁。这三个锁的诞生原因,以及提升的点如下表所示。现状锁名称收益使用场景大多数情况下,等待锁的时间比操作系统
2022年7月4日
其他

树哥的 JVM 小站上线了!真不错!

来写高考作文,能得多少分?不懂优雅停机,搞挂了线上服务,咋办?懂得了那么多道理,为什么还是过不好这一生?我找到了答案!某站裁员会这做法,应该被全社会唾弃!完蛋!面试官问我
2022年7月2日
其他

深入理解 volatile 关键字

动作,指的是将工作内存的一个变量传送到主内存,方便后续写回主内存。那么这句话合起来的意思可以理解为:要讲工作内存的变量写回主内存,那么必须是工作内存的变量收到执行引擎的赋值。并且,只有当线程
2022年6月29日
其他

深入理解 happens-before 原则

Rule):在一个线程内,按照程序代码顺序,书写在前面的操作先行发生于书写在后面的操作。准确地说,应该是控制流顺序而不是程序代码顺序,因为要考虑分支、循环等结构。管程锁定规则(Monitor
2022年6月27日
其他

从 CPU 说起,深入理解 Java 内存模型!

语言就是这么做的。但由于不同操作系统的内存模型不同,有可能导致程序在一套平台上并发完全正常,而在另外一套平台上并发访问却经常出错。因此在某些场景下,就必须针对不同的平台来编写程序。而我们都知道
2022年6月22日
其他

真厉害!1 秒写入 10 万条消息,Kafka 写得这么快,都是因为这些优化!

可以批量、顺序写入,从而减少磁盘寻道的时间。并且通过小文件的存储方式,提高了整体磁盘的耐受力。批量写入、压缩的传输方式,与磁盘顺序写入、小文件多
2022年6月20日
自由知乎 自由微博
其他

面试常问:四层与七层负载均衡有啥区别?

大家好,我是树义。学过计算机网络的同学都知道,我们工作、生活所使用的互联网,其实是通过一个网络模型来进行数据传输的,这个网络模型叫做:OSI
2022年6月15日
其他

状态比计划更重要

「状态比计划更重要」是我的价值观之一后续计划把我所有的价值观都列一下。前几天我分享了一篇关于人生意义的文章:懂得了那么多道理,为什么还是过不好这一生?我找到了答案!。在评论里,有小伙伴提到了心态的重要性。而我也提出:状态比计划更重要。同时也通过点赞的方式咨询了小伙伴们是否感兴趣。虽然最终只有
2022年6月11日
其他

如果让 AI 来写高考作文,能得多少分?

年)热搜榜中最多的专业竟然是人文社科专业占主流。在今日的工科占据绝对优势的时代,很多人会觉得工科占优势的年代应该持续了很多年,可是从热搜榜中来看,竟只是近三年的事情,以往都是人文社科的天下。百度热搜
2022年6月9日
其他

不懂优雅停机,搞挂了线上服务,咋办?

并不保证它们的执行顺序,因此需要保证钩子中的操作是线程安全的。当然了,如果你只有一个钩子的话,那这个提示可以忽略了。不要做耗时的操作在钩子中,不要做耗时的操作。因为当我们要关闭
2022年6月8日
其他

懂得了那么多道理,为什么还是过不好这一生?我找到了答案!

我在之前的文章中也说过,自我认知是个很重要的东西。这个问题没想清楚,很多事情其实都无法推进,因为这是最底层的认知问题。脉脉上的大佬在脉脉上看到这样一个提问,大致意思是:同时收到了虾皮和腾讯的
2022年6月5日
其他

写了 12 年代码,仍旧奋斗在一线,佩服!

Cloud集成Nacos服务发现源码解析?翻了三套源码,保质保鲜!》《学习Nacos?咱先把服务搞起来,实战教程~》《一个实例,轻松演示Spring
2022年6月2日
其他

某站裁员会这做法,应该被全社会唾弃!

昧着良心是一种,真诚沟通也是一种。我们只需要选择自己相信的那种,然后坚定不移地做下去就可以了。即使看着挺苦逼的,但我就是这样的人,这就是我的人生观、价值观。你的选择呢?推荐阅读Java
2022年5月31日
其他

软件行业如何变得更好?这里有几点见解

在一篇名为《软件开发是输家的游戏》(https://thehosk.medium.com/software-development-is-a-losers-game-fc68bb30d7eb)的文章中,作者曾表示:“我认为,80%
2022年5月27日
其他

完蛋!面试官问我 InnoDB 的物理存储结构!

推出的表空间,其与系统表空间类似,可以用于存储表的数据和索引。其作用是可以将一些业务逻辑不同的表,存放在这个通用表空间中,从而达到物理隔离的作用。临时表空间(Temporary
2022年5月24日
其他

从输入 SQL 到返回数据,到底发生了什么?

存储引擎体系架构在上图中,后台线程负责刷新内存池的数据,内存池负责缓存磁盘的数据,文件则是具体的数据存储。后台线程的主要工作是负责刷新内存池的数据,保证缓冲池中的内存缓存的是最近的数据。InnoDB
2022年5月20日
其他

从俄乌战争看数字化的价值

年为止,互联网的数字化还停留在虚拟经济方面,在传统行业方面还不够深入。但即使如此,一些较为早期的数字化尝试已经开始崭露头角,开始在我们的生活中发挥作用。疫情防控的数字化2019
2022年5月18日
其他

如何找到人生目标,有什么书可以推荐?

一个正在人生目标探索路上的人,前来说道两句。人生目标,是一个很大的词,大到当你说到这个词的时候,你都不知道从何入手。要弄清楚你的人生目标,你需要先明白人生有什么意义。如果你连人生有什么意义都不明白,那你肯定也弄不清楚你的人生目标。在继续往下看之前,给自己
2022年5月13日
其他

MySQL 锁机制存在的价值是什么?

元,转账是没问题的。这种数据库访问方式虽然能保证数据一致性,但是每次只能执行一个请求,并发访问性能太差。没有锁的并行世界为了提高数据库的并发访问性能,MySQL
2022年5月11日
其他

全网显示 IP 归属地,是怎么实现的?

地址的隐私问题那是不是只有运营商才能查到某个人的住址信息呢?在大数据时代的今天,各种互联网应用搜集了大量的数据信息,它们其实也可以根据这些信息,推断出某个人的大致地址位置。例如百度地图会一直用
2022年5月8日
其他

MySQL 这 6 个文件,90% 的人都没认全!

./重做日志文件不能设置得太大,如果设置得很大,在恢复时可能需要很长时间。另一方面又不能设置得太小,否则可能导致一个事务的日志需要多次切换重做日志文件。此外,重做日志文件太小会导致频繁发生
2022年5月7日
其他

最新资讯!ONES 宣布收购「思否」技术社区!

年,我陷入的思维误区本着什么原则,才能写出优秀的代码?图解设计模式:身份认证场景的应用认识到这点,你会飞速成长关于技术驱动业务的一些思考分享几点我的读书心得张一鸣:给面试候选人的
2022年5月6日
其他

做好一个中台,需要具备哪些能力?

关于中台,现在已经烂大街了。随便几个微服务整一整,对外就号称中台。但中台到底是什么?做好中台需要具备哪些能力?今天我们就来聊一聊中台。什么是中台?2015
2022年4月22日
其他

工作 7 年,我陷入的思维误区

点建议一封小小邮件背后的防范策略成功,就是寻找确定性!这几本书,让你更懂自己!这本书能让你看懂中国经济!变化莫测的时代,如何面对不确定性?悄悄成长的
2022年4月19日
其他

认识到这点,你会飞速成长

还记得我刚写公众号的时候,我在「关于我」的那篇文章中说到:希望有个人能带着自己成长,但总是等不到。所以我的愿景是能有这样一个圈子,大家一起进步。从这句话可以看得出来,当时的我还是会有这种期盼:希望有人能带着自己成长。甚至在几个月前,我还是有这种想法。新学习一个框架,遇到了一些困难,于是想着:要是有一个人能带着我,给我答疑解惑就好了。新入职一个公司,入职流程和文档乱得一批,于是想着:要是有完善的流程,有人手把手教我就好了……
2022年2月10日
其他

关于技术驱动业务的一些思考

我们经常会说到:技术驱动业务。那到底什么才叫技术驱动业务呢?在我看来,技术驱动业务就是用技术手段帮助业务发展。会想到这个问题,是前阵子参加
2022年2月9日
其他

分享几点我的读书心得

前段时间分享了关于读书的一些心得,还推荐了一些书籍。有一些朋友跟我说,改天分享一下如何高效地读书。于是便有了这篇文章。但这篇文章岂不是说如何高效读书的,而是如何读书的。因为在我看来,高效并不是重点,重点是如何快乐读书。很多时候读书目的性都很强,总怎么想着样可以高效地读。但有时候想多了,就让阅读这件事情变得没有什么趣味了。整体而言阅读应该是快乐的,好久之前我写过一篇文章,标题是:读书应该是快乐的一件事。如果你读书的时候很痛苦,那基本上你是难以坚持下去的。唯有让读书变成一件快乐的事情,至少不痛苦,你才能很轻易地坚持下去。说到这里,我要批判一下那些毒鸡汤,总是说:当你觉得痛苦的时候,你就是在成长。其实读书、成长也可以是很快乐的。很多时候你读得很痛苦,你要想一想是不是你读书的方法不对。你要找到那种读书的状态,这种读书的状态让你很快乐。只要你找到了这种状态,你就能够读得下去了,不需要我告诉你怎么读书。找适合自己的书。
2022年2月7日
其他

一封小小邮件背后的防范策略

Mail,即域名密钥识别邮件标准,其存在的意义是用于防止电子邮件欺诈,即防止别人冒用你的域名给别人发邮件。一般来说,发送方会在电子邮件中插入签名,而接收方则通过域名
2022年1月26日
其他

成功,就是寻找确定性!

很多成功人士会把他们的成功归因于运气。民间也有许多俗语对此表示赞同,潮汕话里就有这样一句:小富靠努力,大富靠命运。在知乎、抖音上也有很多人说到:选择大于努力。看到这里,或许很多人会觉得很沮丧,原来我那么努力都比不起一个正确的选择,那我还努力干嘛呢!有一段时间我也困惑过,但后面我慢慢想明白了。确实,选择是很重要的,运气也是很重要的。一个正确的选择、好的命运,可以让你少奋斗几十年、甚至几百年。按照这么想下去,我们自然会得出奋斗无用这个结论。但奋斗真的没有价值吗?在我看来,运气与奋斗的一个很大的差别是:运气是无法把握的,但奋斗是自己能把握的。
2022年1月10日
其他

这几本书,让你更懂自己!

之前在「变化莫测的时代,如何面对不确定性?」这篇文章中,我提到一个很重要的点是:寻找比较优势。而要找到自己的优势,很重要的就是了解自己,不断与自己对话。在我了解自己的过程中,看心理学的书籍给我带来了一些帮助,所以今天就推荐几本不错的心理学书籍给大家,希望对大家有帮助。《被讨厌的勇气》阅读地址:被讨厌的勇气:“自我启发之父”阿德勒的哲学课-岸见一郎
2022年1月6日
其他

这本书能让你看懂中国经济!

起这个标题,心里还是很忐忑,很容易被喷为标题党。但除了这个标题,我想不出另外能形容这本书的词句了。这本书确实让我明白如何看懂一个国家的经济,学会了基本的逻辑分析,而不再像之前那样人云亦云。如果说用一个词来形容读完之后的感受,我只能用「通透」来形容!这本书就是——《经济学原理》!《经济学原理》有上下两册,上册是微观经济学,下册是宏观经济学。宏观经济学其实就是国家层面的事情,而微观经济学就是公司、个人层面的事情。本质上宏观是由许多微观组成的,所以宏观与微观之间是相互联系的。想必有许多人有听说过这本书,它是全世界所有经济、金融专业的教材。这本书的作者是美国经济学家曼昆,他是哈佛经济学教授、美国经济顾问委员会主席。在
2022年1月4日
其他

变化莫测的时代,如何面对不确定性?

写这篇文章是回答我对所谓中年危机的解决方案,但因为中年危机这个词被用烂了,所以我并不愿意用这个词作为标题。虽然用这个词可以吸引很多流量,但这会让人觉得很焦虑,我不愿意制造焦虑,于是我放弃用这个词了。说起中年危机,我们每个人似乎都身在其中,特别是对于互联网行业的人来说。在这一两年时间里,我也一直非常焦虑,不知道如何应对未来的中年危机。但经过了一段时间的思考与实践,我想清楚了关于中年危机的一些事情,以及我自己应该怎么做。这篇文章就是分享我对中年危机的思考,以及我自己的计划。中年危机,其实就是随着年纪的增长,你的竞争力越来越不如年轻人,然后你就被淘汰了。这里为何会被淘汰,很多人知道的原因是:精力不如年轻人、时间不如年轻人等等。但是否我们需要拿精力、时间去跟年轻人拼呢?这就像马云是否要和我们拼加班一样。人家需要吗?人家不需要!因为人家有人脉资源、金钱资源。所以如果到了
2022年1月1日
其他

悄悄成长的 2021 年!

个小时。也就是在那段时间,我看到了一本书——《通识:学问的门类》。这本书介绍我们人类所有学科的分类,包括:哲学、历史学、宗教学、语言学、心理学等等。之前就知道每门学科都可以让你有看问题的不同角度。
2021年12月31日
其他

听说 2022 年个税改革了,这是咋回事?

块就是应缴纳所得额。我们国家采用的是超额累进税率,指的是把应征税的金额按照大小分成若干等级,每个等级按照不同税率征收。举个例子某人某月应纳税所得额为
2021年12月18日
其他

图解排序算法,这五种最热门!

例子,尝试自己手写实现。定期复习手写实现,不断巩固知识点。好了,废话不多说,让我们开始今天的图解排序算法吧!选择排序选择排序,意思是每次从待排序的元素选出极值作为首元素,直到所有元素排完为止。
2021年12月16日
其他

听说我们是新生代农民工?

大概昨天下午开始,我的朋友圈就被一个名为「2020年北京市外来新生代农民工监测报告发布」的报告刷屏了。这是一个由国家人力资源与社会保障部发布的,关于新生代农民工的检测报告,其中有一句话是这么说的:「就业集中于劳动密集型行业,从事信息传输、软件和信息技术服务业的新生代农民工占比大幅提高。」听到这句话大家就乐了,纷纷调侃:自己多年的码农身份终于官宣了,原来我们真的是农民工!什么是农民工?当我看到这消息的时候,我也被逗乐了,也加入了自嘲的队伍中。但是冷静下来之后,我在想:什么是农民工?我们真的算是农民工吗?下面是百度百科关于农民工的定义:进城务工人员是指本县(市)境内,户籍地在乡村,进入城区从事非农产业劳动6个月及以上,常住地在城区,以非农业收入为主要收入的劳动者;或外县(市)进入本县(市)城区从事非农产业劳动6个月及以上,常住地在城区,以非农业收入为主要收入的劳动者。进城务工人员的主体是乡村籍工人(乡籍工)。简单地说,农民工是指户籍在农村,进城从事非农工作达到
2021年8月17日
其他

做管理就可以高枕无忧了吗?

岁了还没做管理,是不是很失败?年纪大了,卷不动了,不转管理不行了!但是你转管理之后,真的就高枕无忧了吗?我将用我的亲身经历告诉你,转管理并不是银弹,转管理并不意味着高枕无忧。困局我在
2021年7月19日
其他

代码腐烂可以避免吗?

一个苹果放在桌子上不理它,它会慢慢地变坏。代码也跟苹果一样,会发生代码腐烂。坏的代码就跟坏的苹果一样,会更容易发生腐烂、腐烂得更快。工作时间久了,关注的角度从个人变成了团队整体。我就会想:代码腐烂是否真的不可避免?有什么办法能够避免代码腐烂呢?代码腐烂可以避免吗?对于这个问题,我想了挺久,后面发现答案是:代码腐烂不可避免,只不过是时间问题。
2021年7月5日
其他

其实 Linux IO 模型没那么难

下的进程就可以不阻塞,可以去做其他事情了。而当进程收到信号,进程再将数据从内核缓冲区复制到程序缓冲区。这个过程与上面几个是完全一样的,同样也是阻塞的。信号驱动
2021年7月1日
其他

七年三次大重构,聊聊我的重构成长史

单元测试是最基本的内容,一定要做好单元测试。对于无法做单元测试的,一定要让测试同学做充分的功能测试。好了,关于重构的分享,今天就聊到这儿。谢谢大家的阅读。如果文章对你有帮助,点个
2021年6月28日
其他

听说 JVM 性能优化很难?今天我小试了一把!

次数就会提升,提高应用的内存利用率。在进行内存空间调整的时候,为了避免内存剧烈波动导致的问题,一般我们都是小步快跑地一点点调整。先调整一点试一试,没太大问题之后再调整到目标值。
2021年6月3日
其他

如何快速实现一个连接池?

poolConfig.setEvictionPolicyClassName("tech.shuyi.javacodechip.acp.SftpEvictionPolicy");
2021年5月27日
其他

盘点三年来写过的原创文章

篇文章里,各种内容都有,包括了九大种类:技术知识、认知成长、成长建议、生活记录、热点事件、读书分享、商业分析、管理思考、效率工具。从文章类型方面分析,「技术知识」类的文章占比最大,达到了
2021年5月24日