`
bjmike
  • 浏览: 283038 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

高明程序员比我强的那些地方

阅读更多
同一个程序,一个月以前我在解决时,仍然只是一个低级程序员,就在昨天,我解决时,仿佛变成了一个高级程序员。很多时候,在乎的往往多想的那一步。

众所周知,java的nio在1.6.x版本以前存在某种bug,而这个bug是导致cpu占用率100%的元凶。三个月前我们领导交给我了一个艰巨的任务——研发一个放之四海儿皆准的高性能底层通讯框架。在此之前,我从未用过nio从事过项目开发,最多时写点example,而突然收到这样一个艰巨的任务,当时的心理压力异常大。


废话少说,经过了长达数月的研究mina,等源码的结构及工作方式,终于写出了自己的nio框架。经过了项目组全体成员的审查,和长时间的压力测试,终于可以上线了。


事情就出现在上线后,程序有无数个case,可是某种case你遗漏的时候,疏忽的时候,问题就发生了。现在竟然经过项目组那么多成员的审查都没有发现,可见,这个case是多么的难以发现啊。实际上,这个case就是我们经常见到的nullpointerException,碰到这样问题,我们经常会忽略掉,或者是在程序中 if(obj==null) else 之类的,我们程序就是这样实现的,但是也正是这样的处理,导致了漏网之鱼啊。我们程序是这样处理的session断开时执行close方法,而close方法是通过session的processor属性来执行的,如果processor==null时,实际上什么也没有做。这样时候就导致某些session的key无法执行cancel()方法,这样导致epoll中很多nasty file desc,这样积累到一定程度导致cpu 100%。而实际上processor==null的情形是不允许出现的,在processor处理过程中,某些处理不得当才导致close()的时候processor==null,经过昨天的认真分析,修改了源码。现在运行稳定。

而实际上,我应该一当初,就应该多考虑一步,而不是一出现nullexception,就简单的用if(processor==null)来屏蔽。高明的程序员,应该更加心细一点。
分享到:
评论

相关推荐

    雷军 我的十年程序员生涯.doc

    雷军在《我的十年程序员生涯》中回顾了自己的编程生涯,分享了自己的编程经验和感悟。以下是雷军分享的知识点: 1. 编程热爱:雷军认为,编程需要热爱写程序,热爱电脑世界的美妙。只有热爱写程序的人,才能把事情...

    程序员学长聊聊大学选课那些事儿

    程序员学长聊聊大学选课那些事儿

    程序员专用 编程输入法

    标题中的“程序员专用编程输入法”指的是专门为程序员设计的特殊输入法工具,旨在提升编码效率。这类输入法通常具有以下特点: 1. **快捷代码输入**:程序员输入法能够通过快捷键、组合键或者自定义短语来快速输入...

    程序人生 : 30岁,我的程序员梦想

    程序人生 : 30岁,我的程序员梦想 本文是作者红桥(雪燃)的程序人生经验总结,讲述了作者从一个业余的程序员到实现程序员梦想的经历,分享了作者的十大“精华”经验,旨在激励和鼓励程序员朋友们继续努力和坚持...

    java程序员面试交流项目经验

    java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流...

    程序员简历程序员简历.pdf

    程序员简历程序员简历.pdf

    程序员项目交接文档

    程序员项目交接文档概要 IT 项目交接文档概要是程序员在项目交接过程中的重要文件,它对项目的开发、测试和维护起着至关重要的作用。本文档概要将对程序员项目交接文档的主要内容进行概要介绍。 人事模块是程序员...

    我编程,我快乐:程序员职业规划之道

    我编程 我快乐 程序员职业规划之道

    程序员表白神器 love-master

    程序员表白神器你值得拥有-程序员表白神器你值得拥有 程序员表白神器你值得拥有-程序员表白神器你值得拥有 程序员表白神器你值得拥有-程序员表白神器你值得拥有 程序员表白神器你值得拥有-程序员表白神器你值得拥有 ...

    程序员转正述职报告 程序员转正述职工作规划.docx

    程序员转正述职报告知识点 一、职业规划和职业发展 * 程序员转正述职报告的主要内容包括职业规划、职业发展和工作总结 * 程序员转正述职报告的目的是为了总结试用期的工作经验和学习体验,并对未来的职业发展进行...

    软考初级程序员资料

    程序员考试大纲与培训指南(2009版)+试题+程序员教程_软考初级指定用书_(第三版).pdf+程序员考试同步辅导 考点串讲、真题详解与强化训练.pdf+程序员考试同步辅导——考点串讲、真题详解与强化训练_IT168文库.docx

    历年程序员考试真题

    2000-2010历年程序员考试真题,对软考程序员的一些试题总结,包含答案;程序员考试上午科目和下午科目的考试形式与考核内容已经趋于稳定,考生应紧扣考试大纲和指南,有针对性地进行学习。

    程序员-工作日志示例

    程序员工作日志示例管理文档 工作日志是程序员日常工作中不可或缺的一部分,它可以帮助程序员更好地管理自己的时间、提高工作效率、记录工作进度、总结工作经验等。本文档是一个程序员工作日志示例,旨在帮助程序员...

    程序员教程(程序员考试的相关内容)

    程序员教程和相关考试的一些试题,真题!程序员教程(程序员考试的相关内容)程序员教程(程序员考试的相关内容)程序员教程(程序员考试的相关内容)

    程序员教程(pdf)

    《程序员教程》是一本针对初学者和有一定经验的程序员精心编写的教材,旨在全面介绍编程基础知识和实践技能。这本书以PDF格式提供,便于电子阅读和随时查阅。它涵盖了程序员需要掌握的各种关键知识点,无论你是刚踏...

    PHP程序员简历模板 iOS程序员简历模板 Android程序员简历模板 Web前端程序员简历模板 Java程序员简历等等

    iOS程序员简历模板 Android程序员简历模板 Web前端程序员简历模板 Java程序员简历模板 C/C++程序员简历模板 NodeJS程序员简历模板 架构师简历模板 通用程序员简历模板PHP程序员简历模板 iOS程序员简历模板 Android...

    程序员个性电脑桌面壁纸

    【程序员个性电脑桌面壁纸】这一主题,其实涵盖了两个主要方面:一是程序员文化,二是电脑桌面壁纸的个性化选择。这两者都是IT行业中与个人工作环境和精神风貌紧密相关的元素。 首先,我们来谈谈程序员文化。程序员...

Global site tag (gtag.js) - Google Analytics