仅以此文,献给自己。
我有拖延症,但是拖延是有原因的,经历了项目经理职位的这几年,我已经意识到拖延的原因,我也在找寻方法不断的去避免拖延。今天写这篇文章的时候,相比前几年,有很大的改善。
刚开始从技术岗转向项目管理岗,我因为需要跟项目组相关人员去沟通,我会拖延;我因为要去跟上级经理汇报进度,然后发现除了一些乱七八糟的事情,实际没干什么,我会拖延。我因为甲方需求一再变更,项目始终无法提上日程,我会拖延。我因为学习一个技术,然后不知道应用到哪里,我会拖延。其实一个人在工作上会有拖延,那么生活中肯定也会拖延。
做过项目管理的都知道,我们的项目一定会有计划,这一份计划面向项目组,面向上级经理。最早的计划做到月、周,后台的计划确实做到了天。其实当时对这种计划好像没有太大感觉。
真正感觉到有意义的是今天,此时此刻,我刚读完《终结拖延症》一书。这本书我没用心读,没有太大吸引力,所以拖延了很久,而且是为了读完才读完。但是其中一个点,印证了我这2年做的事情很有意义。
大概在3年以前,我用一个软件(忘了名字)来给自己做计划,每周、每天、哪个时间点要做的事情。计划随时都会调整,也会有后来补进来的计划。说一下这个后来补进来的计划,就比如读书,原定计划读一本书,但是后来发现了另一本,或者实在读不下去必须得换一本。然后怀孕生娃休产假,计划没了,这个软件也被搁置了。
然后现在用印象笔记记录工作要做的,还有自己要学习的技术。
工作要做的每一项任务,无论大小,比如更新一份用户协议文档,比如提供一个什么几口,都一一记录。然后在完成的时候,标记已完成或者XXXX-XX-XX(程序员/猿能看懂)已完成。每一周下来或者每个月下来,看一下自己完成的东西,会有成就感。各位小伙伴不妨试试。
再说自己要学习的技术,因为工作上用不到,所以学起来很困难。没有目标,没有实践,感觉学了也没啥用。所以就拆分的很细,而且尽量结合着学习。下面是我最近的计划:
-
jdk源码
-
https://mp.weixin.qq.com/s/PLGLuBzMITDn0z9w_03IEg,按照这个看一下jdk8的substring源码2019-10-29已完成。
-
java.lang.object,String,StringBuffer,StringBuilder。2019-10-29已完成。
-
java.util.ArrayList,LinkedList,2019-11-01已完成。
-
java.util.HashMap、Hashtable、源码没太看明白,还是先搜一下区别,再看源码。判断是否存在key,分别试试get和containskey,
-
继续修改HashMap和Hashtable实例,在put之前判断containskey,然后再看HashMap和Hashtable区别。没有加synchronized的时候,三者执行结果都是异步的,所以我不太明白hashtable和ConcurrentHashMap的线程安全体现在哪?
-
看一下HashMap,key对null的判断在哪。只有hash的时候,判断了
-
重要理解数组和链表的概念
-
看一下ConcurrentHashMap的源码
-
对比Hashtable和ConcurrentHashMap线程安全。
-
-
java.util.HashSet、TreeSet。2019-11-19已完成。
-
java.uitl.Collections。2019-11-22已完成。
-
java.lang.Thread、ThreadLocal、ThreadLocalMap
-
java.util.concurrent包下 Lock、Condition、ReetrantLock、ReetrantReadWriteLock
-
java.uitl.Timer
-
java.util.concurrent.ThreadPoolExecutor、
-
java.util.concurrent.AtomicInteger
-
java.util.concurrent.CopyOnWriteArrayList、ConcurrentHashmap、
-
-
听多线程并发编程的课程(百度网盘、腾讯课堂)
-
百度网盘
-
尚学堂-白鹤翔-系列课程
-
-
说实话,到多线程这里还是挺瓶颈的,源码看不明白,实践也用不上。
欢迎指导交流。