![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计
松间-明月
这个作者很懒,什么都没留下…
展开
-
利用Scala高阶函数减少代码重复
理念所有的函数都可以分为通用部分和非通用部分。通用部分每次调用都相同,非通用部分在不同的调用中可能有变化。通用部分就是函数体的静态代码,非通用部分通过参数来表达。如果把函数作为参数,那么函数所代表的算法逻辑,也可以作为非通用部分,从而整个函数的扩展性进一步增强,可以面向逻辑进行扩展。Scala支持将函数作为参数传递,这给了我们更多优化代码的空间。把函数作为参数的函数,称为高阶函数。实践以一个文件搜索匹配的代码为例,优化之前的代码如下def filesHere = new File("./src/m原创 2022-04-29 20:25:17 · 439 阅读 · 0 评论 -
多个资源分布式锁的问题
多个资源分布式锁的问题问题描述一般来说,分布式锁的场景是,多个程序共享同一个资源,加锁的时候只要把这个资源入口锁上就可以了,比如抢火车票。这个场景中,程序和资源是多对1。多个资源锁的场景是,多个程序要共享多个资源,程序和资源是多对多,比如资源是每个城市的火车票,一个人可以提交多个城市的抢票请求。方案1最简单粗暴的方式是总线锁,我一次把全国都锁住,这样肯定是安全的,但是效率会降低,抢上海和广州的人会冲突。方案2就是把用到的资源锁住,比如抢了ABCD个城市,就锁住这4个另一个人来了之后,假原创 2022-04-15 14:33:33 · 1057 阅读 · 0 评论