Java进阶关键方法

来源:互联网 发布:李涛疯狂淘宝 编辑:程序博客网 时间:2024/05/22 02:16

Java虽然入门要容易, 然而要精通它, 要成为专家却很难. 主要原因是Java所涉及的技术面比较宽, 人的精力总是有限的. 有些Java方面的技术是必须要要掌握的, 钻研得越深入越好, 比如多线程技术.


1. 基础阶段

<Thinking in Java>的中文版

<Java核心技术>卷一. 卷一看完, 自己再钻研一下, 就已经能达到卷二的高度了

总结起来: 看这些资料的时候, 多写例子, 写的越多越好!


2. 中级阶段

1.这个阶段, 就需要研究很多专题性的东西了, 比如: 

IO的实现原理, 

多线程和Java的线程模型,

网络编程, 

swing, 

RMI,

reflect, 

EJB, 

JDBC等等很多很多的专题技术, 钻研得越深越好. 为了更好的提高, 研究的更深入, 你需要经常到网络上搜索资料, 这个时候往往一本书起不来很大的作用

  2.选一个JDK版本吧, 多多研究它, 尤其是源代码(尽量! 就是尽自己最大的努力, 虽然研究透是不可能滴). 比如说: util, collection, io, nio, concurrent等等包. API文档, 你仅仅只是知道怎么用而已, 而认真仔细的研读这些大牛的源码, 你就会深入更高的一个阶层, 自己的编码, 设计都会有很大的提高. 如果有能力和精力, 我建议你把JDK的每一行代码都熟悉一遍, 绝对只有好处, 没有坏处! 而且你会有些意外的收获, 比如, 当你仔细地读完concurrent包的时候(不多, 好像总共是86个类吧), 你就会对Doug Lea佩服得五体投地. 

3.难题就去寻找帮助, 先把自己的脑袋想破吧, 或者等你的老板拿着砍刀冲过来要把你杀了, 再去寻求帮助吧. 

对于专题的学习, 英文原版的阅读是非常必要的, 看的越多越好, 多上上IBM的developer, SUN的网站

4.建立自己的代码库了, 

5.你应该自己去研究很多有意思的东西了. 从一个200多M的文件中寻找一个字段, 最坏情况(在文件的末尾咯)也只需要1秒左右的时间, 你知道吗?  这个阶段, 有很多很多类似的有趣的东西可以供你去研究, 你需要更多地关注性能, 规范性, 多解决一些疑难问题

6.需要学会所有的调试技术, 运用各种性能工具, 还有JDK附带的很多工具, 这些你都要熟练得跟屠夫操刀一样.

7.看看模式方面的东西,  模式往往会把问题搞复杂:). 

总结起来: 这个阶段是一个由点延伸到面的过程, 经过不断的学习, 演变成全面的深入! Java技术中你没什么盲点了, 还能解决很多性能问题和疑难问题, 你就成了一个合格的程序员了! 

要想成为优秀程序员, 还得对数据库和操作系统很精通.

 

3. 高级阶段

1. 需要研究各种框架, Spring, struts, Junit, Hibernate, iBatis, Jboss, Tomcat, snmp4j等等, 

2.Java实现的经典框架, 你都可以去研究.

建议主要的精力可以花在spring和jboss上, 尤其是jboss,  经典中的经典, 设计, 性能, 多线程, 资源管理等等, 你从中可以学到的东西简直是太多了. 而且它还有一本写得很好的参考书, 叫<Jboss管理与开发核心技术>, 英文方面的资料也是非常的多. 在工作中如果有机会参与架构的设计, 业务问题的讨论, 一定想方设法杀进去! 这对自己的设计能力, 以及对设计如何运用在业务上有很大的帮助. 

3. 程序都是为了更好地实现用户的业务的. 这个时候, 需要更多看看软件工程和UML方面的资料, 或者自己主持一个项目玩玩  


至少要非常熟悉并能自如地应用如下几个知识点:
1.序列化机制.
是一切对象深度CLONE,对象的存储与恢复,对象的远程调用的基础,也就是说它是对象池化管理,分布式引用的基础

2.RTTI机制
是一切封装的基础,没有它,接口,抽象类,父类就没有意义,如果封装没有了,同样没有父类,子类就不叫子类了.

3.CALLBACK机制
CALLBACK首先是基于多线程的,子类调用父类的构造方法叫回调用
CALLBACK机制:
一个主线程管理其它线程时,在子线程中出现某种状态时通知主线程,(术语叫触发了某种事件)这样主线程收到这些消息再根据消息类型去调用相应的方法.
一个例子,我(主线程)坐车去北京,当车到北京时我要调用"下车"这个方法,如果用回调用机制,就是用一个子线程(可以让driver承担这个角色)在那运行,当到的时候通知我到了,我就调用"下车()",而不用过一会就问一次,这样我可以省下时间睡觉或和车上的美眉聊天.

4.反射机制
是RUNTIME的事,完成类的加载,类的分析,bean的自省等功能,JBUILDER为什么敲一个类的名称后面就列出了它的成员变量和方法供你选择?如果你想知道一个对象的某种方法被调用过多少次你用什么方法?这些知识可以让你从一行Exception就能分析出错误原因.以及自己实现classloader,安全管理等方面的工作.

原创粉丝点击