本来我想把这篇文章的名字命名为: <怎样成为一个优秀的Java程序员>的, 但是自己还不够优秀, 而本篇所涉及的都是自己学习和工作中的一些经验, 后来一想, 叫<怎样进阶Java>可能更为合适吧. 能给初学Java的人一个参考, 也就是我本来的心愿. 如果有大牛看到不妥之处, 敬请指正. 我一定会修正的
.
Java目前是最流行的语言之一, 是很多公司和程序员喜爱的一门程序语言. 而且, Java的入门比C++相对来说要简单一些, 所以有很大一部分程序员都选择Java作为自己的开发语言. 我也是其中之一, 就是因为觉得学C++太难, 当初在学校学了将近一个学期的C++, 啥进步都没有, 哈哈, 天资太差, 所以才选择自学Java(当时学校并没有开设Java的课程), 才走上了程序开发这条路.
Java虽然入门要容易, 然而要精通它, 要成为专家却很难. 主要原因是Java所涉及的技术面比较宽, 人的精力总是有限的. 有些Java方面的技术是必须要要掌握的, 钻研得越深入越好, 比如多线程技术.
1. 基础阶段
基础阶段, 可能需要经历1-2年吧. 这个时段, 应该多写一些基础的小程序(自己动手写的越多越好). 计算机是一门实践性很强的学科, 自己动手的东西, 记忆非常深刻, 效果要胜过读好多书. 当然, 学Java基础的时候, 书籍的选择也非常重要, 好的书籍事半功倍, 能让你打个非常好的基础. 而差的书籍, 很容易将你带入歧途, 多走很多弯路. 书籍不在多, 而在乎读得精(有些书, 你读十遍都不为过). 我记得我学Java的第一本书是<Thinking in Java>的中文版, 网上有很多人都建议不要把这本书作为第一本的入门教程来看, 太难. 我却想在此极力推荐它, 这本书确实是本经典之作. 而且书中确实讲的也是Java中的一些基础技术, 没有什么太难的东西, 只不过比较厚, 学习周期比较长, 所以很多人中途会选择放弃. 其实, 这本书是一本难得的入门教程, 对Java一些基础的东西, 讲得很全, 而且也很清晰, 更重要的是, 这本书能让你养成很多好的编程习惯, 例子也很多. 建议你把大部分的例子自己去实现一遍. 我的亲身经历, 我记得当时认真的看了2遍, 花了大概7个月的时间, 不过真的有很好的效果. 另外一个教程, 就是<Java核心技术>卷一, 卷二的话可以不必要买. 卷一看完, 自己再钻研一下, 就已经能达到卷二的高度了:). 到那时, 你就会觉得看卷二没啥意思, 感觉浪费钱了. 还有一个, 就是张孝祥的Java视频, 看视频有个好处, 就是比看书的记忆要深刻, 还有很多你可以跟着视频的演示同步操作. 张孝祥的Java视频对初学者来说, 确实很有作用. 总结起来: 看这些资料的时候, 一定要多写例子, 写的越多越好!
2. 中级阶段
中级阶段, 是一个更漫长的时期, 能否突破此阶段, 跟个人的努力和天资有着很大的关系. 你不得不承认, 同样一门新技术, 有些人一个月领悟到的东西, 比你一年的都多. 这就是天资, 程序员是一个需要天才的工作. 我想, 很多人听说李一男吧, 此君就是这样的人物, 三个月的时间就能解决好大一帮人几年解决不了的问题, 给华为某部门带来了很多的收益. 哦, 这是题外话了, 与此篇的主题无关, 只是本人偶尔的感慨而已:). 这个阶段, 就需要研究很多专题性的东西了, 比如: IO的实现原理, 多线程和Java的线程模型, 网络编程, swing, RMI, reflect, EJB, JDBC等等很多很多的专题技术, 钻研得越深越好. 为了更好的提高, 研究的更深入, 你需要经常到网络上搜索资料, 这个时候往往一本书起不来很大的作用. 选一个JDK版本吧, 目前建议选用1.6, 多多研究它, 尤其是源代码(尽量! 就是尽自己最大的努力, 虽然研究透是不可能滴). 比如说: util, collection, io, nio, concurrent等等包. 可能有人会反对我说, 不是有API文档吗, 为什么还要研究这么多的源代码? 错了, 有API文档, 你仅仅只是知道怎么用而已, 而认真仔细的研读这些大牛的源码, 你就会深入更高的一个阶层, 自己的编码, 设计都会有很大的提高. 如果有能力和精力, 我建议你把JDK的每一行代码都熟悉一遍, 绝对只有好处, 没有坏处! 而且你会有些意外的收获, 比如, 当你仔细地读完concurrent包的时候(不多, 好像总共是86个类吧), 你就会对Doug Lea佩服得五体投地. 这个时候最忌碰到难题就去寻找帮助, 去网上找答案! 先把自己的脑袋想破吧, 或者等你的老板拿着砍刀冲过来要把你杀了, 再去寻求帮助吧. 对于专题的学习, 英文原版的阅读是非常必要的, 看的越多越好, 多上上IBM的developer, SUN的网站吧, 当然Javaeye也很不错:), 有很多大牛, 呵呵.
这个时候, 你应该建立自己的代码库了, 你应该自己去研究很多有意思的东西了. 从一个200多M的文件中寻找一个字段, 最坏情况(在文件的末尾咯)也只需要1秒左右的时间, 你知道吗? 这个阶段, 有很多很多类似的有趣的东西可以供你去研究, 你需要更多地关注性能, 规范性, 多解决一些疑难问题. 需要学会所有的调试技术, 运用各种性能工具, 还有JDK附带的很多工具, 这些你都要熟练得跟屠夫操刀一样. 也可以看看<Effective Java>, 这本书总结的也不错, 对写高效稳定的Java程序有些帮助. 也可以看看模式方面的东西, 但是我建议模式不要滥用, 非得要用的时候才用, 模式往往会把问题搞复杂:). 总结起来: 这个阶段是一个由点延伸到面的过程, 经过不断的学习, 演变成全面的深入! Java技术中你没什么盲点了, 还能解决很多性能问题和疑难问题, 你就成了一个合格的程序员了!
[要想成为优秀程序员, 还得对数据库和操作系统很精通.]
3. 高级阶段
高级阶段, 我就不敢妄言了. 呵呵, 我感觉自己也是处于中级阶段吧. 也是根据自己的一些经验, 谈谈自己的理解吧:
这个阶段, 需要研究各种框架, Spring, struts, Junit, Hibernate, iBatis, Jboss, Tomcat, snmp4j等等, 我觉得这个时候, 只要是用Java实现的经典框架, 你都可以去研究. 建议开始的时候, 研究Junit和Struts吧, 小一点, 里面都采用了很多的模式, 呵呵, 可以熟悉一下, 尽量想想人家为什么这么做. 我建议主要的精力可以花在spring和jboss上, 尤其是jboss, 经典中的经典, 设计, 性能, 多线程, 资源管理等等, 你从中可以学到的东西简直是太多了. 而且它还有一本写得很好的参考书, 叫<Jboss管理与开发核心技术>, 英文方面的资料也是非常的多. 在工作中如果有机会参与架构的设计, 业务问题的讨论, 一定想方设法杀进去! 这对自己的设计能力, 以及对设计如何运用在业务上有很大的帮助. 毕竟, 程序都是为了更好地实现用户的业务的. 这个时候, 需要更多看看软件工程和UML方面的资料, 或者自己主持一个项目玩玩, 不一定非得出去拉项目赚钱(能赚钱当然更好), 不管成功或失败, 都是很宝贵的经验, 都能提高很多!
http://yongtech.iteye.com/blog/428671
分享到:
相关推荐
"Java进阶篇课后编程习题答案"提供了针对Java高级概念的练习题解答,旨在帮助学习者深入理解Java语言的核心特性,提升编程技能。下面将详细阐述Java进阶中的关键知识点,并结合课后习题可能涉及的内容进行解析。 1....
"Java语言程序设计 基础篇+进阶篇课后习题"提供了这样的机会,让我们可以系统地学习并掌握这门强大的编程语言。 基础篇通常涵盖Java的基本语法、数据类型、控制结构、类与对象、数组和字符串等核心概念。课后习题...
**Java进阶篇主要内容概述** 本PPT详细阐述了Java进阶学习的关键概念和技术,旨在帮助读者深化对Java编程的理解,提升开发技能。这个资料涵盖了不仅限于教科书的知识,确保你能够掌握到实际工作中可能遇到的实用...
本书是Java语言的经典教材 ,中文版分为基础篇和进阶篇,主要介绍程序设计基础、面向对象程序设计、GUI程序设计、数据结构和算法 、高级Java程序设计等内容。本书以示例讲解解决问题的技巧,提供大量的程序清单,每...
Java语言程序设计进阶篇是Java开发者学习过程中不可或缺的一环,它涵盖了高级特性和实践技巧,旨在提升开发者对Java编程的深入理解。本资源包含了教材中的所有源代码和相关复习题、编程题的答案,这对于自学Java或者...
《Java语言程序设计 进阶篇 第十版》是一本深度探索Java编程的权威书籍,其课后习题是学习者巩固理论知识、提升实践能力的重要环节。本资源包含了书中多个章节的习题答案,包括chapter20至chapter34,涵盖了广泛的...
在Java进阶篇中,会详细介绍List、Set、Map等集合类型的使用场景、性能特点及其提供的各种操作方法。 3. 泛型编程:泛型是Java SE 5版本中引入的一个重要特性,它允许在编译时提供类型安全检查,同时避免了类型转换...
《Java语言程序设计 进阶篇》是一本深入探讨Java编程技术的专业教材,它涵盖了Java语言的高级特性和实际应用。这本书旨在帮助读者从基础知识过渡到更复杂的编程概念,提升编程技能,为解决实际问题打下坚实基础。...
Java进阶篇主要聚焦于Java在移动设备上的应用,特别是J2ME平台的Record Management System (RMS)。RMS是Java Micro Edition (JME)中的一个重要子系统,设计用于在移动设备上实现本地数据的持久化存储。由于移动设备...
《Java语言程序设计 进阶篇(原书第8版)》是一本深入探讨Java编程技术的权威书籍,旨在帮助读者提升对Java编程语言的掌握程度。这本书详细讲解了Java的高级特性和复杂概念,是Java程序员进阶的必备读物。 首先,书...
《Java语言程序设计(基础篇+进阶篇)第六版》是Java学习的重要参考资料,尤其对于初学者和希望深入理解Java编程概念的人来说,这是一本不可多得的教材。本书分为基础篇和进阶篇,涵盖了Java编程的各个方面,旨在帮助...
"Java进阶篇之文档五百篇"集合了丰富的学习资源,旨在帮助开发者从基础知识跃升至高级技术,掌握Java的精髓。这500篇文档涵盖了Java语言的各个方面,无论是基础语法、面向对象编程,还是高级特性、框架应用,都有...
在本压缩包“chapter25.rar”中,包含的是《Java语言程序设计(进阶篇)》一书的第25章课后习题的源代码。这是一份宝贵的资源,对于正在学习Java编程,尤其是深入阶段的学生来说,是提高编程技能和理解Java高级特性...
在Java语言中,进阶篇通常涵盖以下关键知识点: 1. **多线程编程**:Java提供了内置的多线程支持,允许程序同时执行多个任务。书中会详细介绍Thread类和Runnable接口的使用,以及线程同步、互斥和死锁的概念,如...
在Java进阶领域,本书将引导读者探索以下几个关键知识点: 1. **多线程编程**:Java是支持多线程的,理解如何创建和管理线程,以及如何处理并发问题,如死锁和竞态条件,是Java程序员必须掌握的技能。书中会详细...
Java语言程序设计-进阶篇(原书第10版) 学习笔记 Java语言程序设计-进阶篇(原书第10版) 学习笔记 Java语言程序设计-进阶篇(原书第10版) 学习笔记 Java语言程序设计-进阶篇(原书第10版) 学习笔记 Java语言程序...
《Java语言程序设计进阶篇(第5版)》是一本深入探讨Java编程技术的权威教材,适合已经掌握Java基础的开发者进一步提升技能。这本书的源代码提供了丰富的实例,涵盖了多线程、网络编程、I/O流、集合框架、异常处理、...
在Java进阶编程的学习过程中,我们经常会遇到一系列深入的话题,这些话题旨在提升程序员的技能,使其能够更好地理解和应用Java语言。以下是一些重要的Java进阶编程知识点,它们涵盖了多个方面,包括面向对象、多线程...
《Java语言程序设计进阶篇第十版》是一本深度探讨Java技术的专业书籍,旨在帮助已经具备Java基础知识的学习者进一步提升技能。这本书详细讲解了Java语言的高级特性、面向对象编程的精髓以及实际开发中的应用技巧。 ...
《Java语言程序设计(进阶篇)》是深入学习Java编程的一本经典教材,其中的课后习题旨在帮助读者巩固并提升Java编程技能。第22章的代码着重讲解了Java的一些高级特性,包括但不限于多线程、集合框架、异常处理、IO流...