摘要:
在项目中,我需要维护一个应用层的字节流协议。这个协议的每条报文都是一个字节数组,数组的头两个字节表示消息的传送方向,第三、四个字节表示消息ID,也就是消息种类,再往后是消息内容、时间戳、校验码等……整个消息看起来差不多长这样: Message ID指定了消息类型,根据不同的消息类型,对Content 阅读全文
摘要:
这一节来讲一讲java.util.concurrent这个包里的一些重要的线程安全有关类。 synchronized容器 synchronized容器就是把自己的内部状态封装起来,通过把每一个public方法设置成同步来控制对共享变量的访问的容器。主要包括Vector, Hashtable,以及Co 阅读全文
摘要:
读完第三章那些繁琐的术语和细节,头疼了整整一个星期。作者简直是苦口婆心,说得我如做梦一般。然而进入第四章,难度骤然降低,仿佛坐杭州的过山公交车突然下坡,鸟鸣花香扑面而来,看到了一片西湖美景。 从开始看书以来,无时无刻不体会着自学的痛苦。以前看一个大牛的博客,说自己换工作后现学Java,由于工作中有多 阅读全文
摘要:
在当我们谈论线程安全时,我们在谈论什么中,我们讨论了怎样通过Java的synchronize机制去避免几个线程同时访问一个变量时发生问题。忧国忧民的Brian Goetz大神在多年的开发过程中,也悟到了人性的懒惰,他深知许多程序员不会在设计阶段就考虑到线程安全,只是假设自己的代码能按照自己的想法很好 阅读全文
摘要:
现在是2018年4月,掐指一算,还有三个月我就工作整整两年了。刚工作的时候,虽然工作上压力不大,但是因为对工作有一些地方不太满意,加上对未来很迷茫,每天都很压抑,动不动就想哭。幸运的是我遇到了一些愿意指点我的人,而我自己也没有放弃努力。如今我还没有离开我的第一份工作,但是我的心境已经和两年前有很大的 阅读全文
摘要:
总听组里几个大神说起线程安全问题。本来对“线程安全”这个定义拿捏得就不是很准,更令人困惑的是,大神们用这个词指代的对象不仅抽象而且千变万化。比如,我们的架构师昨天说: “ 平台的A功能不是线程安全的,所以我们要在上层应用中多做一层封装,让它变成一个独占式的功能。 ” 啥?一个功能还能是线程安全的? 阅读全文
摘要:
在很久很久以前,那时的计算机还没有操作系统这种东西,所以只能有一个程序,从头到尾地跑。于是这个程序要负责使用所有的资源,还得响应外部请求。想想这个程序得多复杂啊——为了做成一件事,可能要先把内存啊、IO啊这些外缘的东西搞定,而且在做事的时候还不能及时响应用户的请求。同时,由于这个程序一次只能做同一件 阅读全文