心API中的功能或类
不懂得以下列表中的某些项(这只是一些主题或者实际例子而已):
垃圾收集器 (train, generational, incremental, synchronous, asynchronous)
对象在何时能被进行垃圾收集 -- dangling references
使用的继承机制及其权衡
over-riding和over-loading方法
为什么java.lang.String (在这里用你所中意的类代替) 提供的性能不好
Java中的pass-by参考语义和EJB中pass-by值的语义的比较
使用 == 或者使用equals() 方法 for nonprimitives
在不同平台上Java线程的运行顺序方式(例如是否是抢先方式的)
新线程和本地线程的比较
Hotspot技术(以及为什么旧的性能调整技术降低了Hotspot 的优化效果)
JIT,以及什么时候好的JIT变得不好(未安装的JAVA编译器,以及你的代码运行得刚够良好)
API搜集
RMI
规避方案:
你需要不断改进Java方面的知识,尤其是深入了解Java的优势和不足之处。Java的存在价值已经远不止是一种语言,理解平台(JDK及工具等)也是同样重要的。具体地说,你应该是经过认证的Java程序员,如果你不是的话,也许你有时会为还有那么多不知道的内容而感到惊讶。另外,你可以加入Java的邮件列表。以前我曾加盟过的每一个公司都加入了这样的邮件列表,从同行中学到技术,这将是你最好的资源。
备注:
如果你或者你的团队中的成员不真正了解编程语言和平台,怎么还能保持成功的希望呢?强干的Java程序员之于EJB和J2EE,就象是鸭子之于水一样。与此相反,比较弱的、没有经验的程序员只能开发出质量低劣的J2EE应用程序。
描述: 没有真正理解EJB
项目阶段:
设计
影响阶段:
开发、稳定化
对系统的影响:
维护
症状:
EJB在第一次被调用后没有再被使用到(尤其是stateless session bean)
没有重复利用价值的EJB
不理解开发者要做什么,容器提供什么
EJB没有依照规范定义(fire线程, 加载了本地库,试图执行I/O,等等)
解决方案:
要改进关于EJB方面的知识,可以找一个周末来阅读EJB规范 (1.1版有314页),然后阅读2.0规范(524页!),这样可以了解到1.1没有定义到的而在2.0规范中补充的内容。EJB开发者从18.1及18.2章节开始阅读是比较合适的。
备注:
不要从提供商的角度去看EJB,要确切地知道规范所支持的标准EJB模型和基于这些模型的特殊应用之间的区别。这也会有助于你迁移到别的提供商的时候所用。
描述: 没有真正理解J2EE
项目阶段:
设计
影响阶段:
开发
对系统的影响:
维护、扩展性、性能
症状:
"Everything is an EJB"的设计方式
用手工事务管理取代了容器-提供的机制
自定义方式的安全处理 -- J2EE平台在企业级计算中,从表示逻辑到后台处理,已具有最完整的集成安全架构;但很少用到其全