自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式--工厂和策略的区别

工厂(Factory)模式我们可以做如下理解,假设有一个Audi的公司生产汽车(似乎也不用假设了),它掌握一项核心的技术就是生产汽车,另一方面,它生产的汽车是有不同型号的,并且在不同的生产线上进行组装。当客户通过销售部门进行预定后,Audi公司将在指定的生产线上为客户生产出它所需要的汽车。策略(Strategy)模式在结构上与工厂模式类似,唯一的区别是工厂模式实例化一个产品的操作是在服务端来做的,换句话说客户端传达给服务端的只是某种标识,服务端根据该标识实例化一个对象。而策略模式的客户端传达给服务端的是一个

2022-06-27 11:29:26 589

原创 兑换零钱问题

动态规划解决兑换零钱问题

2022-06-22 14:05:19 168

原创 Wait/Notify线程通信方式

线程状态机WATING和TIMED_WAITING被唤醒后,是进入BLOCKED阻塞状态,进入阻塞同步队列线程状态与锁状态关系● 锁池状态也就是同步队列,当调用notify和notifyall时,线程只是先进入了BLOCKED状态,只有拿到对象o的锁,才能唤醒线程;当调用wait时,会释放锁,并进入等待队列,同时线程状态变为WAITING。● wait状态唤醒有三种方式○ being notified, 即调用notify()或notifyAll()○ interrupted, 这种方式会抛

2022-03-09 23:36:16 204

原创 LockSupport线程阻塞器

语义说明线程阻塞器,用于锁和同步场景。底层有个二元信号量(即1个牌),当持有令牌时,调用park会直接返回,否则阻塞。当执行unpark时,可以获取令牌。该类解决了阻塞轮询问题(busy wait)。park(blocker)设置阻塞对象(实际写入Thread.parkBlocker属性),一般就用this即可,用于记录阻塞原因,可以通过getBlocker(Thread)获取park返回方式有Thread.interrupt()unpark本身持有令牌超时/到时间parkUntil,并不

2022-03-09 23:30:52 360

原创 一次线上大日志打挂机器引发的思考

本文通过一次日志打满问题引发的一次思考,探讨了常用日志问题的解决套路,引申思考了2个技术问题,其一:如何大日志预防与监控;其二:老应用如何快速支持日志降级能力,并在最后提供了一点技术上的解法思路供参考。

2022-02-22 15:58:47 286

空空如也

空空如也

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

TA关注的人

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