2021-05-30
ThreadLocal的作用以及应用场景ThreadLocal算是一种并发容器吧,因为他的内部是有ThreadLocalMap组成,ThreadLocal是为了解决多线程情况下变量不能被共享的问题,也就是多线程共享变量的问题;ThreadLocal和Lock以及Synchronized的区别是:ThreadLocal是给每个线程分配一个变量(对象),各个线程...
阅读全文
2021-04-26
比较有感悟,转载了
文章转自 鬼脚七 https://mp.weixin.qq.com/s/500hfiGkAmd5T1gplrquFw
朋友电话说,父亲刚诊断出患有癌症,而且可能是晚期,问我有什么建议。
这几句话只是我的描述,省略了朋友无数的焦虑与不安。
昨天文章发出后(人生的一段路),微信后台短时间就收到了上百条留言,其中有不少留言是家中亲人被诊断出某...
阅读全文
2021-04-12
前言Spring如何解决的循环依赖,是近两年流行起来的一道Java面试题。
其实笔者本人对这类框架源码题还是持一定的怀疑态度的。
如果笔者作为面试官,可能会问一些诸如“如果注入的属性为null,你会从哪几个方向去排查”这些场景题。
那么既然写了这篇文章,闲话少说,发车看看Spring是如何解决的循环依赖,以及带大家看清循环依赖的本质是什么。
正文通常来说,如...
阅读全文
2021-02-19
作者| 高福来(不拔)阿里云云栖号
平时听到一些同学说技术方案没什么深度,好难讲出来,怎么去体现技术方案设计的深度是大家普遍关心的一个问题,这个问题不是个例问题,因此分享下自己的一些观点和看法。主要从三个部分来讲:
第一部分主要分析为什么技术方案没有体现出深度,找到问题后就好解决,并提出技术方案的广度和深度特征;
第二部分是技术方案设计的方法论,主要包括了本...
阅读全文
2021-01-06
一、什么是单点登陆 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统
二、简单的运行机制 单点登录的机制其实是比较简单的,用一个现实中的例子做比较。某公园内部有许多独立的景点,游客可以在各个景点门口单独买票。对于需要游玩...
阅读全文
2020-11-20
一、背景
我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。
例如:
前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。
我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱;
发送消息,也应该只发一次,同样的短信发给用户,用户会哭的;
创建业务订单,一次业务请求只能创...
阅读全文
2020-11-13
什么是连接池?
深入思考连接池的本质,但不要思考的过于复杂!
“池”是一种非常形象化的描述,它是一种容器,做储存之用;在编程中我们往往使用数组、链表、队列、map来表达。
“连接”是网络中用于传输数据的通道;“连接”才是我们要真正去使用的对象,而“池”是用来管理“多个连接”的一种方式。
如果没有用“池”来统一管理“连接”,“连接”将散布在程序各处;那为了使用...
阅读全文
2020-11-11
文章转自:姚安峰 Thoughtworks商业洞见(微信号 tw-business-insights)
数字化时代,企业是否能够更灵活、科学地配置有限的IT资源,减少投资浪费,能将投资用到刀刃上实现突破,将直接影响企业在数字化竞争中的胜负。企业需要建立高响应力的、以价值驱动的数字化业务管理,应对不确定性,提升规模化创新能力。
Prepare for ...
阅读全文
2020-10-20
当程序员谈论开发设计时,常常会聊到非常多的定律,而Github上的一个名为「hacker-laws」的仓库收录了一些最常见的定律、原则等,获得了16.3k的Star。
还记得所有AI教程必提的「奥卡姆剃刀原则」吗?即:如无必要,勿增实体。这条原则也被收藏,还有一些不太常见的费茨法则、盖尔定律、康威定律等,都被一一收入囊中。
写代码累了困了?这些法则让工作事半...
阅读全文
2020-10-06
有没有想过要设计多大的企业规模系统?在主要的软件开发开始之前,我们必须选择一个合适的体系结构,它将为我们提供所需的功能和质量属性。因此,在将它们应用到我们的设计之前,我们应该了解不同的体系结构。
什么是架构模式?
根据维基百科中的定义:
架构模式是一个通用的、可重用的解决方案,用于在给定上下文中的软件体系结构中经常出现的问题。架构模式与软件设计模式类似,但...
阅读全文