![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
山歌里滴放牛娃
始于心动,终于白首。
展开
-
JAVA并发编程实战笔记01
1.线程安全性:当多个线程访问某个类时,这个类始终能表现正确的行为,那么就称这个类是线程安全的。2.原子性:在化学中原子是最小的单位,不可分割(打个比喻,帮助理解,不喜勿喷)java(java.util.concurrent.atomic)包下,大部分都是原子变量类3.可见性:线程之间的可见性,一个线程修改的状态对另一个线程是可见的,比如volatile关键字,稍后再后来的文章中讲述它的适用场景4...原创 2018-05-10 16:09:13 · 155 阅读 · 0 评论 -
装饰者模式完成商品结算问题
引言随着现代社会的发展,网购已经成为日常生活之中必不可少的一部分,各大电商平台为了竞争,平台中的商家也想出各种各样的办法促销自己的产品,想出各种对策来提升竞争力,优惠券、生活、套餐、打白条等等的方式,可苦恼了这些码农了,如图所示:最终的价格是多少了?对于大部分的人来说,可不能一眼能看出个结果,业务复杂度不言而喻,平台和商家又不停地想出各种办法来促销产品,怎么适应这种需求得变化,需要工程师们绞...原创 2019-03-21 15:29:51 · 323 阅读 · 0 评论 -
业务解耦之观察者模式
今天下班比较早,带着我可爱滴小多多溜溜公园,买买菜,生活总是这样该多么的美好,“猿”也需要拥抱生活,享受生活,技术源自生活这一点都没错,当你真正领会到了“hello world”的真正含义,你就离大牛不远了。闲话少说,生活中公众号消息推送、微博粉丝消息推送、报纸的订阅等等都是观察者模式一种类型。这也是我在项目中运用设计模式(观察者+策略模式)来完成“变态需求”。今天要利用ApplicationE...原创 2019-03-15 17:15:33 · 239 阅读 · 0 评论 -
用策略模式“蹂躏”各种产品经理
从懵懂网瘾少年到搬砖码农已经有4个年头了,被各种变态需求到头皮发麻,甚至是无言以对,分分钟想“掐死”对方的有木有?从刚毕业开始,工作一段时间就想跑路有木有?大城市的快节奏,就像离了弦的箭一样,挤地铁、追公交、吃不起饭、又因为已毕业没脸往家里问生活费,朝七晚九,生活就像一把磨刀石一样拂去你的棱角,让你不再任性、不再贪玩,种种历历在目,世界皆苦,重在苦中作乐,只能积极面对,才能更好工作,更好生活。言...原创 2019-03-15 17:14:04 · 141 阅读 · 0 评论 -
JAVA并发编程之结构化并发应用程序01
1.Executor框架线程池:从字面含义来看,是指管理一组同构工作线程的资源池。线程池是与工作队列密切相关,其中在工作队列中保存了所有等待了所有等待执行的任务。工作者线程的线程很简单:从工作队列中获取一个任务,并执行,然后返回线程池并等待下一个任务。类库提供了灵活的线程池以及有用的默认配置。可以通过Executors中静态工厂方法之一来创建线程池newFixedThreadPool:创建一个固定...原创 2018-05-14 15:49:08 · 108 阅读 · 0 评论 -
并发编程实战笔记05
1.生产者-消费者模式 说的简单点,生产者:生产数据、消费者:消费数据,用来存放的数据队列一般有界的,一般使用FIFO,生产者-消费者模式应用的非常广泛,例如:JDK的线程池、JDBC连接池、Dubbo生产者-消费者模式1.数据public final class Data { private String id; private String name; public Data(S...原创 2018-05-14 11:06:26 · 117 阅读 · 0 评论 -
JAVA并发编程实战笔记-并发容器类04
1.Vector和Hashtable是早期jdk的一部分,Collections.synchronizedXxx等工厂方法创建。原创 2018-05-11 17:39:19 · 116 阅读 · 0 评论 -
JAVA并发编程实战笔记03
1.怎么设计线程安全的类? a.找出构成对象状态的所有变量 b.找出约束状态变量的不变性条件 c.建立对象状态的并发访问管理策略 对于b点大家肯定有疑惑怎么找出状态变量不变性条件,举个例子假如设计一个一天的时间点,时间只能是24个小时,60分钟,60秒,三个变量这是它不变性条件,找出不变性的目的是收集同步需求,保证不变性不会再并发情况下不被破坏,还有一个点必须提一下,先验性(空对象不能获...原创 2018-05-11 15:33:02 · 105 阅读 · 0 评论 -
JAVA并发编程实战笔记02
1.对象的发布与逸出发布:使对象能够在当前作用域外的代码中使用发布的方式:1.通过public属性、方法发布对象逸出:当某个不应该发布的对象被发布EventListener隐式地使this引用逸出 public ThisEscape(EventSource source) { source.registerListener(new EventListener() { ...原创 2018-05-10 17:59:00 · 102 阅读 · 0 评论 -
Java一切皆对象之Object
阅读jdk源码是一条”漫漫长路“,当你坚持下来,对于码农来说是一个很大的提升,能在其中学到很多不一样的东西,希望大家坚持,话不多说,来看看Java超类Object。Class Object是类Object结构的根。 每个班都有Object作为超类。 所有对象(包括数组)都实现了这个类的方法。方法列表public final native Class<?> getClass()p...原创 2019-03-21 15:31:44 · 151 阅读 · 0 评论