• java学习


    1.多看

    2.多写

    本来我想把这篇文章的名字命名为: <怎样成为一个优秀的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佩服得五体投地这个时候最忌碰到难题就去寻找帮助去网上找答案先把自己的脑袋想破吧或者等你的老板拿着砍刀冲过来要把你杀了再去寻求帮助吧对于专题的学习英文原版的阅读是非常必要的看的越多越好多上上IBMdeveloper, SUN的网站吧当然Javaeye也很不错:), 有很多大牛呵呵.

    这个时候你应该建立自己的代码库了你应该自己去研究很多有意思的东西了从一个200M的文件中寻找一个字段最坏情况(在文件的末尾咯)也只需要1秒左右的时间你知道吗?  这个阶段有很多很多类似的有趣的东西可以供你去研究你需要更多地关注性能规范性多解决一些疑难问题需要学会所有的调试技术运用各种性能工具还有JDK附带的很多工具这些你都要熟练得跟屠夫操刀一样也可以看看<Effective Java>, 这本书总结的也不错对写高效稳定的Java程序有些帮助也可以看看模式方面的东西但是我建议模式不要滥用非得要用的时候才用模式往往会把问题搞复杂:). 


    总结起来这个阶段是一个由点延伸到面的过程经过不断的学习演变成全面的深入! Java技术中你没什么盲点了还能解决很多性能问题和疑难问题你就成了一个合格的程序员了! :)  [要想成为优秀程序员还得对数据库和操作系统很精通.]

     

    3. 高级阶段

    高级阶段我就不敢妄言了呵呵我感觉自己也是处于中级阶段吧也是根据自己的一些经验谈谈自己的理解吧:

    这个阶段需要研究各种框架, Spring, struts, Junit, Hibernate, iBatis, Jboss, Tomcat, snmp4j等等我觉得这个时候只要是用Java实现的经典框架你都可以去研究. ------在此申明一下我的意思不是说会用光会用其实是远远不够的你可以选择自己喜欢钻研的框架去好好研究一下兴趣是最好的老师嘛.(2009.07.21)

    建议开始的时候研究JunitStruts小一点里面都采用了很多的模式呵呵可以熟悉一下尽量想想人家为什么这么做我建议主要的精力可以花在springjboss尤其是jboss,  经典中的经典设计性能多线程资源管理等等你从中可以学到的东西简直是太多了而且它还有一本写得很好的参考书<Jboss管理与开发核心技术>, 英文方面的资料也是非常的多在工作中如果有机会参与架构的设计业务问题的讨论一定想方设法杀进去这对自己的设计能力以及对设计如何运用在业务上有很大的帮助毕竟程序都是为了更好地实现用户的业务的这个时候需要更多看看软件工程和UML方面的资料或者自己主持一个项目玩玩不一定非得出去拉项目赚钱(能赚钱当然更好), 不管成功或失败都是很宝贵的经验都能提高很多!  

  • 相关阅读:
    BZOJ2565:最长双回文串
    BZOJ2342:[SHOI2011]双倍回文
    Redis数据库基础操作
    Celery异步任务框架
    Django框架之缓存数据库
    drf 分页器组件
    drf jwt认证组件
    drf三大认证组件
    Django框架之RBAC+ContentType
    Django框架之admin管理后台
  • 原文地址:https://www.cnblogs.com/ouysq/p/4491606.html
Copyright © 2020-2023  润新知