屈定‘s Blog

51 篇文章
10 人订阅

全部文章

屈定

工作--用户登录注册相关设计

最近做一个网站,网站需要用户登录注册,自然也就需要一套高扩展性的用户模块设计,该篇文章记录笔者遇到问题的解决方案,希望对你有帮助。

1005
屈定

并行设计模式--Future、Callback、Promise

在异步处理过程中需要大量使用Future,Callback,Promise,深入学习分析这几种异步编程的原理。

1054
屈定

Java--为什么需要主动关闭文件?

在Java编程中,对于一些文件的使用往往需要主动释放,比如InputStream,OutputStream,SocketChannel等等,那么有没有想过为什么...

1349
屈定

造轮子--文件分享工具

一般工作中会有我想把某个文件分享给别人,但是又不想直接发给对方,因此需要一个中转站,我把文件上传到这个中转站,然后中转站给我一个可以查看的url,我再把url发...

551
屈定

造轮子--Excel报表工具

由于公司内部之前对于excel封装操作并不是很方便,而且对于特殊的需求不是很容易满足,这个月的任务是迁移部分业务小报表顺便重构下,因此这里造个轮子,便于导入和导...

763
屈定

工作--如何封装第三方服务?

业务开发中经常会对接某某第三方服务,因此会经常写一些SDK供服务使用,一种比较好的做法就是使用命令模式封装第三方服务,命令模式对于调用方来说简洁明了,也正是封装...

632
屈定

并行设计模式--Thread Specific Storge模式

多线程的不安全在于共享了变量实例,因此Thread Specific Storge模式的思路是把变量与单一线程绑定,那么就不存在共享,自然就避免了加锁消耗以及其...

992
屈定

IDEA插件ASM Bytecode Outline

这款插件对于我学习JVM上的其他语言帮助非常大,很多高级语法糖反编译之后能够明白背后的原理,目前插件已经上传到JetBrains官方仓库,欢迎试用。 插件地址:...

825
屈定

(转)比AtomicLong还高效的LongAdder源码解析

接触到AtomicLong的原因是在看guava的LoadingCache相关代码时,关于LoadingCache,其实思路也非常简单清晰:用模板模式解决了缓存...

833
屈定

并行设计模式--immutable模式

线程不安全的原因是共享了变量且对该共享变量的操作存在原子性、可见性等问题,因此一种解决思路就是构造不可变的对象,没有修改操作也就不存在并发竞争,自然也不需要额外...

1396
屈定

并行设计模式--生产者消费者

Producer-Consumer与其说是模式,更不如说是一种思想,这种思想在很多模式中都有相应的体现,比如线程池,对象池,MQ等等。 Producer-Con...

1002
屈定

关于大量CLOSE_WAIT连接分析

某日线上登录出现故障,排查日志发现HttpClient请求时随机分配到的端口被占用,导致第三方登录拉取信息时无法拉取成功,错误如下:

1265
屈定

设计模式--动态代理的思考

在一些第三方框架中经常能看到动态代理的案例,尤其是RPC框架,ORM框架等,该篇将分析这些实现的原理,另外延伸在业务中的使用示例.

1033
屈定

设计模式--模板方法模式的思考

模板方法同样也是一种很实用的方法,目的是提高代码复用,并且统一大体的算法流程,比如一个一台电脑主机,定义好放置CPU,硬盘,内存等空位后,就形成了一个骨架,那么...

1214
屈定

设计模式--策略模式的思考

策略模式是一种简单的设计模式,但是其在业务开发中是一种非常有用的设计模式.举个例子,当你的业务需要针对不同的场景(可以简单理解为枚举类),执行不同的策略时那么使...

905
屈定

设计模式--装饰者模式思考

装饰者模式实际上是一直提倡的组合代替继承的实践方式,个人认为要理解装饰者模式首先需要理解为什么需要组合代替继承,继承又是为什么让人深恶痛绝.

772
屈定

Java--死锁以及死锁的排查

清单一代码有点长,但是逻辑很简单,有两个临界区变量lockA,lockB,线程A先获取到lockA在获取lockB,线程B则与之相反顺序获取锁,那么就可能会有以...

913
屈定

Java--CAS操作分析

CAS操作在Java中的应用很广泛,比如ConcurrentHashMap,ReentrantLock等,其常被用来解决独占锁对线程阻塞而导致的性能低下问题,是...

663
屈定

设计模式--组合模式的思考

组合模式是一种抽象树形结构的模式,其在业务开发中也是一种很有用的设计模式,下面开始分析.

1263
屈定

工作--JWT实战总结

公司的登录模块也从Session切换到JWT挺长一段时间了,抽时间来总结一下遇到的问题以及解决方案.

1104

扫码关注云+社区