程序员的时间管理哲学 —— 如何更好的利用我们的时间

点击上方“芋道源码”,选择“置顶公众号”

技术文章第一时间送达!

源码精品专栏

 

来源:http://t.cn/EyE92X9

  • 开篇

  • CPU的运作机制

  • 人脑的运作机制

  • 打造自己的分时管理系统

  • 有什么好处


艿艿:对于我们所有人,每天的时间就是 24 小时?

但是仔细一回想,我们能精准的回想起,我们 9 点做了什么?10 点做了什么么?

开篇

  说实在话,我接触的很多人,都是浑浑噩噩的过日子,脚踩西瓜皮——滑到哪儿算哪儿;

  这篇文章就是想说说我的时间管理方法;

  但话又说回来,想管好自己的时间,还是得靠自己有强烈的意愿才行,

  没有意愿,光有方法也是白搭!

  这篇文章不谈怎么鼓动你树立意愿,只谈方法!

CPU的运作机制

  我们搞程序的,都知道操作系统的运作机制:

  单个CPU是不能处理多任务的,

  你让他算1+1的那一刻,他只能算1+1,那一刻不能做任何其他的任务,

  然而一个现代操作系统是怎么实现并行任务的呢?

  它是通过划分时间片,来实现多任务的,

  划一小段时间,来处理任务A的事情,这段时间用完之后,把当前处理的状态记下来,

  再划一小段时间处理任务B的事情……

  如此看来,划的时间片足够小,成千上万个任务,就得以“并行执行”了

  其实对于CPU来说,还是串行执行的,

  只不过对于使用他的人来说,看起来就是并行执行了;

人脑的运作机制

  人的大脑跟CPU很相似,

  人脑也是串行处理事情的,你让一个人同时处理两样事情,是非常难的,

  就拿“左手画圆,右手画方”来说,只有练九阴真经潜质的人才能做到,

  有些人可能说,我可以一边跑步,一边听英语,那么你仔细想想,你跑步用脑了吗?

  把那些不需要用脑的事儿剔除掉,你的大脑是不可以并行处理事务的;

  或者换句话说,你如果想做好一样事儿,你就不要三心二意,专心做这一件事就好;

  人脑跟CPU也有不同之处

  CPU长时间处理一项事务,不会感到厌烦;

  但人脑长时间处理一项事务,会感到厌烦,

  哪怕这是你非常喜欢的事也好,你如果长时间做这项事,就做不好了;

打造自己的分时管理系统

  现代社会的人,往往每天也有若干项事务要处理,

  尤其是管理角色,我们说,管理就是协调;

  你管理的资源或者事务越多,你需要协调的内容也越多;

  我没办法像CPU一样,可以把时间片划分到足够小,

  几毫秒的时间都分的出来,去做一项事务的一部分,

  但我又不想让自己的大脑长时间的泡再一个事情上,

  一方面是怕自己厌烦,

  另一方面是时间是有限的,这样事情上投入的时间多了,那样事情就会受影响;

  所以没办法,就要把自己的大脑切一块出来,让他来做操作系统做的事儿

  事情来了,先让操作系统把这些事情编好号、排好队;

  然后,最重要的一步就是做拆分;每个事情按时间颗粒度拆好;

  处理这些事情的时候,也按这个颗粒度来处理,

  实际用的时间上可能没计划的那么准确,没关系,

  只要你做到了预期的程度,就停下手头的工作,来处理另一个事情;

  等另一个事情(或另几个事情)处理好之后,

  再回头处理第一个事情的第二个任务,

  因为你前面由“操作系统”做好了任务的拆分,

  所以现在处理第一个事情的第二个任务,也不会有太多进程切换的成本;

  把眼光放长远一些,你会发现:你一天(一周或一个月)在同时处理好几项事务;

  而且处理的井井有条。

  一开始这个过程是痛苦的,时间久了,你会觉得神清气爽、精神舒畅!

有什么好处

  只要实施了这套方法,你就不会被人说:

  “脚踩西瓜皮——滑到哪儿算哪儿”、“顾头不顾腚”之类的话了;

  当然这最主要的还是看你怎么划分任务的优先级和重要程度;

  但光有这个,根本不够用,只有实施我这套方法,

  才能做到“面面俱到”,再多的事情来都不用发愁,

  所谓的“事繁不慌”的境界,也是因为有这套方法,才能做到的!




欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

640

已在知识星球更新源码解析如下:

  • 《精尽 Dubbo 源码解析系列》69 篇。

  • 《精尽 Netty 源码解析系列》61 篇。

  • 《精尽 Spring 源码解析系列》35 篇。

  • 《精尽 Spring MVC 源码解析系列》24 篇。

  • 《精尽 MyBatis 源码解析系列》34 篇。

  • 《数据库实体设计》17 篇。


目前在知识星球更新了《Dubbo 源码解析》目录如下:

01. 调试环境搭建
02. 项目结构一览
03. 配置 Configuration
04. 核心流程一览

05. 拓展机制 SPI

06. 线程池

07. 服务暴露 Export

08. 服务引用 Refer

09. 注册中心 Registry

10. 动态编译 Compile

11. 动态代理 Proxy

12. 服务调用 Invoke

13. 调用特性 

14. 过滤器 Filter

15. NIO 服务器

16. P2P 服务器

17. HTTP 服务器

18. 序列化 Serialization

19. 集群容错 Cluster

20. 优雅停机

21. 日志适配

22. 状态检查

23. 监控中心 Monitor

24. 管理中心 Admin

25. 运维命令 QOS

26. 链路追踪 Tracing

... 一共 69+ 篇

目前在知识星球更新了《Netty 源码解析》目录如下:

01. 调试环境搭建
02. NIO 基础
03. Netty 简介
04. 启动 Bootstrap

05. 事件轮询 EventLoop

06. 通道管道 ChannelPipeline

07. 通道 Channel

08. 字节缓冲区 ByteBuf

09. 通道处理器 ChannelHandler

10. 编解码 Codec

11. 工具类 Util

... 一共 61+ 篇


目前在知识星球更新了《数据库实体设计》目录如下:


01. 商品模块
02. 交易模块
03. 营销模块
04. 公用模块

... 一共 17+ 篇


目前在知识星球更新了《Spring 源码解析》目录如下:


01. 调试环境搭建
02. IoC Resource 定位
03. IoC BeanDefinition 载入

04. IoC BeanDefinition 注册

05. IoC Bean 获取

06. IoC Bean 生命周期

... 一共 35+ 篇


目前在知识星球更新了《Spring MVC 源码解析》目录如下:


01. Spring MVC 面试题
02. Spring MVC 学习指南
03. 调试环境搭建
04. 容器的初始化
05. 组件一览
06. 请求处理一览
07. HandlerMapping 组件
08. HandlerAdapter 组件
09. HandlerExceptionResolver 组件
10. RequestToViewNameTranslator 组件
11. LocaleResolver 组件
12. ThemeResolver 组件
13. ViewResolver 组件

14. MultipartResolver 组件

15. FlashMapManager 组件

... 一共 24+ 篇


目前在知识星球更新了《MyBatis 源码解析》目录如下:


01. 调试环境搭建
02. 项目结构一览
03. MyBatis 面试题合集

04. MyBatis 学习资料合集

05. MyBatis 初始化

06. SQL 初始化

07. SQL 执行

08. 插件体系

09. Spring 集成

... 一共 34+ 篇


源码不易↓↓↓

点赞支持老艿艿↓↓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值