`
forchenyun
  • 浏览: 310417 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

一个本科毕业生的Java学习之路

阅读更多
找完工作了,offer不大不小,还算满意,我将我的学习经验写下,希望给后来人一些启发,更希望Java能够长盛不衰。
如有谬误请见谅
声明:    
     我是一个普通本科生
     以下仅个人见解,如有反对意见,勿人肉我    

     觉得写代码是软件工程师中混得最锉的人请绕过
     觉得Java就是用来做网站的请绕过
     觉得SSH就是*鸟的同学培训学习的请绕过
     
     
第一阶段  熟悉语言
    在这个阶段,你是这个领域绝对的新手,你什么都不懂,什么都不知道,没有别的办法,看书,写代码,请教大牛。
    在这个阶段你需要深入了解Java语言的语法,能够用它来做一些小东西,比如闹钟之类。并且随着你的学习深入,对自己未来的学习方向做出选择,SE,EE,ME?选择好自己

的方向然后努力吧!我的方向是EE。
    目标:扎实基础,对语法和整个Java的宏观有一定的理解,具备一定的编码能力。
   
第二阶段  熟悉开源框架
    在这个阶段,你具备了一定的能力,也是最容易满足的时候,这个时候你需要不断看书不断学习,否则你将很难跨过此阶段成为大牛。
    在这个阶段你需要对各种框架的使用非常熟悉,怎么样熟悉呢?不是看书,而是做项目,只要你想做,你会有一大把的时间和机会去做项目,运气好的话,money哦  -_-
    目标:熟练使用各种开源框架,着重但不限于SSH,lucene等,积累一定的项目经验。顺利的话这个时候你将有一套***完整的知识体系****:

              JS,AS,CSS
                   |
                 SSH等等各种框架
                   |
             各种数据库(包括但不限于sql及其优化,存储过程,各种索引,分区......太多了)
         千万必须一定保证能单挑20000代码量以上的项目

第三阶段  阅读源码
    当你到这个阶段的时候,如果前几个阶段过渡得好,那么不出意外你已经可以告诉别人你有10w行代码量了,接下来呢?让我们回归。
    这是一个没有人帮助你的阶段,踏实地看源码,踏实地总结,在这个阶段的完结时候,你基本能总结出一本书那么厚的经验了。
    这是一个很重要的阶段,因为前两个阶段的人将占绝大部分,你如果不通过此阶段,你将和他们毫无差别,不管你曾经付出多少努力。
    目标:阅读JDK源码,了解各种类的设计及应用场景。阅读各种框架源码,了解各种开源框架的设计和实现原理(不要在网上看了一篇文章就说IOC,AOP精通了),最好能研究一下JVM(这个大公司非常看重),并能够反思自己做过的项目中,这些框架的缺点和你的改进的方法。


第四阶段  深入架构  
    不得不说,这个时候你会很孤独,因为很少有人坚持到这个阶段,为了未来,你必须在这时寻找到一位和你相当的朋友,相互交流(thanks wkx-_-)。
    这个时候你需要跳出"二手货交易市场",来到真正的互联网大型应用,这个时候你接触的不仅限于语言,还有集群,分布式文件系统,分布式缓存,负载均衡LB,高可用性HA,主备拓扑应用,数据、页面、动态缓存,数据库分库分表,水平垂直扩展。那么很高兴的告诉你,这个时候你会发现以前的编译原理,操作系统原理,网络原理这些课终于有了用

武之地。
    目标:对于大型网站架构具备很强的理论水平,并且能根据(模拟)测试结果判断系统瓶颈所在并进行性能调优(这点几乎可以使你无敌于天下),熟悉但不限于以下名词:
    ab,nmon,reverse proxy,lighttpd,apache prefork,epoll,sendfile,opcode,squid,memcached,LVS,hadoop,map/reduce,hessian ,OSGI,mysql  master-slave,Oracle Standby Database,完了,太多太多了......
     以上的1/5你一旦熟练掌握,那么,你将不弱于绝大部分研究生,并能和一位不懂Java的面试官时,让对方意犹未尽的跟你谈50分钟。


什么叫走完这四个阶段,前提是你的简历上应该有以下几句话:
10万行代码量
极高的压力承受能力
对技术的执着追求

不出意外(前提是我表达没问题),读完这篇文章,大家应该对于自己的课程安排和学习曲线有了一定的了解,并能分辨哪些东西对于自己很重要,这样你的学习之路将会平坦一些吧。
总结如下:
        1.没有最强的英雄只有最强的玩家。(整天抱怨这不好那不好的同学知道原因了吧)
        2.代码量是王道。(当然不是指反向生成的DAO)
        3.完美的学习曲线。(公司比较注重你自学的学习曲线是否合理)
        4.恒心。(中途放弃你将一事无成)
                                     
                                                                                                                               -_- 一个项目男
66
17
分享到:
评论
34 楼 sml_sunivo 2013-11-04  
我分享了哦。。。
33 楼 54yj 2011-03-25  
有机会向楼主学习学习。
32 楼 6633 2010-06-02  
没想到你也是应届生,境界比我高多啦。。哈哈!!!以后要多交流交流!!
31 楼 piao_bo_yi 2009-12-29  
我认识的没一个这么猛的,这不是普通了,全国前几没问题了。
30 楼 东吴周郎 2009-12-28  
楼主刚毕业就有如此高的修为,让人很敬佩啊!
29 楼 forchenyun 2009-12-17  
caizh2009 写道
很牛X,准备向这方向迈进--工作了快1年了

HTTP 和 TCP/IP协议 也很重要

这些东西属于网络原理里面的,就是我所讲的基础
28 楼 jzriver 2009-12-17  
不错,恒心很重要,但是这个我一般比较难达到,要时候自勉呀!
27 楼 caizh2009 2009-12-16  
很牛X,准备向这方向迈进--工作了快1年了

HTTP 和 TCP/IP协议 也很重要
26 楼 liuxuejin 2009-12-15  
forchenyun 写道
mxswl 写道
呵呵,无论楼主到了哪一步,在校学生能有这样的感悟已经比很多人强了.
当然,说句实话,如果真的是想走技术之路。 语言的话,c/cpp是更好的选择.

不错,做得更底层一点甚好。
只是Java还是比较适合我即将做的电子商务等领域

我敢打赌:LZ也不可能完全到了第四层!(我也是毕业生,也拿了一个不错的offer)。据我的经验:第三和第四是可以并行的!
25 楼 forchenyun 2009-12-15  
xzhenwangjie 写道
LZ的文章太励志了  是否允许我转载到日记里  天天给自己打气

呵呵,共勉
24 楼 xzhenwangjie 2009-12-15  
LZ的文章太励志了  是否允许我转载到日记里  天天给自己打气
23 楼 yexin218 2009-12-15  
总结第一句话不错
22 楼 superheizai 2009-12-14  
楼主刚毕业,就有此宏观概念,实在比我强多了啊,而且俺是研究生毕业,啥也不会,准备学习中
21 楼 sst330381 2009-12-14  
好个lz,请问lz是西交的么?
20 楼 yuantong 2009-12-14  
信JAVA,得永生
19 楼 bachelor007 2009-12-14  
呵呵,无论楼主到了哪一步,在校学生能有这样的感悟已经比很多人强了.
..........quote]
说的有理,本科生能有这样的感悟算是比较厉害的了
18 楼 ice.k 2009-12-14  
刚出校园的同学都是满怀激情与梦想,LZ保持吧。5年后也是这样的心态才说明你成功了。
17 楼 forchenyun 2009-12-14  
mxswl 写道
呵呵,无论楼主到了哪一步,在校学生能有这样的感悟已经比很多人强了.
当然,说句实话,如果真的是想走技术之路。 语言的话,c/cpp是更好的选择.

不错,做得更底层一点甚好。
只是Java还是比较适合我即将做的电子商务等领域
16 楼 mxswl 2009-12-14  
呵呵,无论楼主到了哪一步,在校学生能有这样的感悟已经比很多人强了.
当然,说句实话,如果真的是想走技术之路。 语言的话,c/cpp是更好的选择.
15 楼 zxinger 2009-12-13  
楼主是刚本科毕业?完成四个阶段了?那真是牛啊。一般能完成前两个阶段都不错了。

相关推荐

Global site tag (gtag.js) - Google Analytics