`
Mybeautiful
  • 浏览: 293800 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Java学习这七年

阅读更多

 

2005 那会做自动化测试开始接触 Java 开始,至今近 7 年。今天正好项目结束,趁机整理下思路,确定后续方向。

 

前三个年头基本上集中于 Java 基础的学习,包括设计模式,从完全不懂,到看的懂但似乎又不懂,到融汇贯通 ( 也许还有欠缺,因为每次再翻一遍还是会有收获 ) ;由于没有研究过任何流行的框架, Struts,Spring, Hibernet 等,也从没有尝试去研究过,所以那段时间时不时有 SSH 的兄弟用吃惊甚至略有嘲讽的口气跟我说 我是搞 J2EE 的, J2SE 我没搞过。 ;不过那时我一直秉承任何框架都是 java 写出来的,所谓万丈高楼平地起,所以一直也没有动力去学习那些时兴的玩意,当然工作中也确实不需要用到它们,而我骨子里也略有瞧不起那些只会这个框架那个框架的配置就以为很了不得的兄弟们; 坚信基础扎实了,学习框架是件容易的事 ”-- 后来事实证明我的想法是对的。

 

看过三本改变我思维跟工作习惯的书, Thinking in Java, ,敏捷软件开发原则、实践与设计模式 ,测试驱动开发。这三本书对我的影响实在是太过深远, Think in Java 让我真正用心去想到底什么是面向对象;而敏捷软件开发则灌输我一个观念 永远不要让你的代码有臭味,一旦发现,立刻消除。 ,不写一句多余的代码,每个变量要取最合适的名字,放在最合适的位置;测试驱动开发其实我没有完全去实践,但是保证我的代码是可测试的规则固化在脑海中,每个类,跟哪些类、接口有什么关系,它们在运行时是如何协作的,各个线程间是如何交互的,什么时候可能出问题,在程序运行到电脑中之前就已经在我的脑海中运行了很多次了。所以今后还是有人问我如何学习 Java, 我还是会一如既往的推荐这三本书。 在此,我也要感谢当年 CSDN 的大哥们,是他们给我推荐的这三本书。

 

接下来的两年中,我觉得基础应该差不多了,似乎该瞧瞧那些时兴的框架了,至少偶尔要帮朋友做个小网站什么的,不至于措手不及。期间学习了 Tapestry ( Struts 一样,属于表现层得技术 ) Spring, Web Service (CXF 框架 ) Eclipse 插件; Spring 有本写个很好的英文书 Spring Recipes--A Problem-Solution-Approach ,用词非常简单,也很全面,推荐使用。学习一定要用目标驱动,并且要有实践,所以我用 Tapestry, Web Service, Eclipse 插件,做了一个辅助我们开发的工具,兄弟们都用的很 Happy 2009 年, Tapestry 已经到 5.1 了,我决定学习下 CSS, 体验下 DIV+CSS web 标准化开发;期间用了本英文版的电子书 CSS Mastery Advanced Web Standards Solutions ,语言比较难懂,但写的很有条理,但至少看的懂,学会抄袭了,可以解决浏览器兼容的问题了。

 

然后过了没多久,我又得去学点新的东西了;开始看看 EJB 相关的知识,包括 JMS,JNDI 等。当然我又用它们做了个 Demo, 只是我自己使用的玩具。其实深入了解 Spring 后, EJB 等就是相当简单的东西了;当然 Java 基础加设计模式学好了, Spring 学起来也是相当简单的玩意了。所以我还是觉得基础最重要。在这个开源的世界里,你可以找到一款符合但又不完全符合你要求的东西,所以你必须自己动手给它做个手术;而这一切都是以扎实的基础知识作为铺垫的。 所以我觉得一你应该花更多的时间学知识,并记在心里;花更少的时间学配置,花一些时间把配置放在容易找到的地方

 

关于书的问题,我个人的见解是:理论方面、方法论的书可以买,当然前提是经典的;有英文原版的要看原版的,翻译过来往往比看看英文更费劲。我一般先到 Amazen 英文站点去搜一下我想要找的相关领域的书,看书评后决定买或下载哪一本;还有就是在专业论坛请人推荐 .

 

我的工作领域是专家系统,虽部敢说有什么造诣,但却是有一些体会,这些有机会在陈述吧。

 

在今天从事 Java 工作的第七年,我仍然觉得有很多不足。不是一个全面的程序员,因为我不怎么精通 Web 界面;不是一个优秀的设计师,因为设计的产品太单一;更不是一个合格的架构师,因为还没有带领过一个超过 10 个人的团队去做过一个对架构有严格要求的产品。

 

    所以我决定有时间还要学下 JQuery 。还要不断的接触新的知识,向一个全面的程序员、优秀的设计师、合格的架构师迈进。

 

----------------------------------------------------------------------

张瑜,Mybeautiful , zhangyu0182@sina.com

 

 

87
8
分享到:
评论
72 楼 nocb 2015-06-01  
我还是建议博主,要把知识面放宽一些, 各种语音 和框架都了解一些,
这样在解决实际的问题的时候才能决定用什么做是最合适的,最快的。
你要去学jQuery ,你知道么,这个在前端领域 已经算过时的东西了,当今移动互联网时代,你只做后端根本无法满足项目的需要。
对新的技术我们要知道其用途及优势优点,适用的场景 及解决的问题,这样当我们遇到类似的问题时,我们再去研究该技术点, 快速的学习应用。
71 楼 Mybeautiful 2013-12-09  
rotman173 写道
请问楼主学习了7年年薪有多少,几年不用框架浪费了你多久时间构建代码?而这些时间可以用来研究框架底层,更早接触优秀思想。还有请问你是如何证明你大部分时间花在基础(重复代码)上的优势大于那些用框架的人?看完感觉你7年啥都不精而且管理层经验也不足。不知道你的定位是什么,你的思维还是中国应试教育思路,总认为什么都应该从基础开始,基础是为上层服务的,快速的解决问题才是根本所在,所以中国古代没有几何,只有算数,导致科技落后几百年。而你重蹈覆辙。沉醉在自己的王国,甚至连很大众的技术近期才接触,这不就是满清的作法么。7年,LZ应该至少30了,还要不断学习大众知识,关键是LZ没有清晰目标。“向一个全面的程序员、优秀的设计师、合格的架构师迈进”说明LZ想法是三部阶,但仍然是个不太全面的程序员和普通设计师。“所以我决定有时间还要学下JQuery。还要不断的接触新的知识”说明LZ还在java程序员的高度看问题。哎,重点又变成了基础。观全文,LZ7年的心得暗示接下来的行动仍然只是继续程序员的道路。

感觉你这7年也是蜻蜓点水,没有学到一些真正的东西,基础学的多好,无可而知;毅力我还是很佩服的。

楼主的学习方法,基础很扎实,但是用前几年的时间全部拿来学习基础,在中国程序员的职业生涯中,耗时确实太多了,不太合适,性价比有点低。如果你是在国外的软件公司,可能你这样的职业生涯比较合适,属于越老越吃香的。但是中国的程序员职业生涯,30岁以前做coder还可以,30以后想要继续提升,只能向管理层次来奋斗。技术已经不再属于第一位的了。

ps、 都是我转过来的,我觉得很有道理。

这么老的帖子还有人回...感谢这个兄弟啊,这是回复最长的(尽管是copy的).
您指出了我的不足,管理经验; 不过管理也确实这也不是我的职业方向。
关于框架的问题,没有直接学习他们,但不代表不用;不仅要会用它,最好是理解它;它们好像都一见如故。所以不要跟我说"框架不支持...,框架有问题..", 框架不支持不是框架的问题,是你的问题。
本人在外企工作,暂时还混的过去;就打算混天算天啦。
70 楼 rotman173 2013-11-29  
请问楼主学习了7年年薪有多少,几年不用框架浪费了你多久时间构建代码?而这些时间可以用来研究框架底层,更早接触优秀思想。还有请问你是如何证明你大部分时间花在基础(重复代码)上的优势大于那些用框架的人?看完感觉你7年啥都不精而且管理层经验也不足。不知道你的定位是什么,你的思维还是中国应试教育思路,总认为什么都应该从基础开始,基础是为上层服务的,快速的解决问题才是根本所在,所以中国古代没有几何,只有算数,导致科技落后几百年。而你重蹈覆辙。沉醉在自己的王国,甚至连很大众的技术近期才接触,这不就是满清的作法么。7年,LZ应该至少30了,还要不断学习大众知识,关键是LZ没有清晰目标。“向一个全面的程序员、优秀的设计师、合格的架构师迈进”说明LZ想法是三部阶,但仍然是个不太全面的程序员和普通设计师。“所以我决定有时间还要学下JQuery。还要不断的接触新的知识”说明LZ还在java程序员的高度看问题。哎,重点又变成了基础。观全文,LZ7年的心得暗示接下来的行动仍然只是继续程序员的道路。

感觉你这7年也是蜻蜓点水,没有学到一些真正的东西,基础学的多好,无可而知;毅力我还是很佩服的。

楼主的学习方法,基础很扎实,但是用前几年的时间全部拿来学习基础,在中国程序员的职业生涯中,耗时确实太多了,不太合适,性价比有点低。如果你是在国外的软件公司,可能你这样的职业生涯比较合适,属于越老越吃香的。但是中国的程序员职业生涯,30岁以前做coder还可以,30以后想要继续提升,只能向管理层次来奋斗。技术已经不再属于第一位的了。

ps、 都是我转过来的,我觉得很有道理。
69 楼 aaronrao 2012-07-19  
这个速度是有些慢了,但是是大多数人的路了,所以评论这么多,很能引起共鸣哈
68 楼 zhaoyu_h 2012-02-08  
文章太好啦的啊,慢慢来的啊。。。。
67 楼 zhaoyu_h 2012-02-08  
Ex咖喱棒 写道
培训学校出身, 学了一年的SSH然后出来做欧美外包.
悲剧的是工作在一个8年多以前开发的产品上(还是福特在用的)做性能提升工作.
发现SSH完全没用武之地.
猛然发现Java基础才是立身之本啊.

是的啊,我也是的啊,一样的啊,慢慢来的啊。。。  加油!
66 楼 zhchx0827 2012-01-21  
对楼主膜拜中,刚毕业半年;虽然每天下班后都强制要求自己加班看书到10:30回家,但是有时真的迷惑,不知道该看些什么。我一直都相信基础才是王道,基础精通后,其他的都是小菜,但是我们项目用的是SSH框架,其中还有一些别的缓存,协议之类的,对这些我基本只能算是了解,所以看着基础的同时,心里还惦记着什么SSH之类的东西,特困惑。
65 楼 Mybeautiful 2011-11-24  
bbeikke 写道
楼主学习设计模式看的哪本书呢?

敏捷软件开发原则、实践与设计模式
64 楼 bbeikke 2011-11-24  
楼主学习设计模式看的哪本书呢?
63 楼 energykey 2011-11-22  
做自己热爱并且擅长的事,就是事业。

不过当大家都在讨论房价股市美女过劳死的时候,又有多少人真的静得下心来去啃这些晦涩而且一时半会儿对加薪产生了不了什么帮助的基础呢?

大多数人仅仅是把程序员当做一份相对稳定相对高薪工作而已,而不是事业。

因为他们不想永远白天穿梭在写字楼、地铁、咖啡吧,晚上回到出租房,也想要一套自己的房子。也不忍心看见女友经过专柜不舍得眼神,他们也想:我一定要让她成为世上最幸福的女人。

其实我相信这一切都会实现,只要我们坚持下来,7年,如果过的都很充实,都很努力,达到这些应该不是问题。

62 楼 jingwen369 2011-11-22  

非常赞同你说的这句话,知识的积累,快速的找到知识。总结。

所以我觉得一你应该花更多的时间学知识,并记在心里;花更少的时间学配置,花一些时间把配置放在容易找到的地方。
61 楼 jingwen369 2011-11-22  
我也是工作7年了,都是在java领域里,深有感触。
60 楼 feelg8d 2011-11-22  
谢LZ分享自己的七年经验
59 楼 小猪笨笨 2011-11-22  
收益良多···
58 楼 曹磊-挑战 2011-11-22  
求一个可以讨论java的Q群,谢谢!
57 楼 george6684 2011-11-22  
个人浅见,觉得楼主前3年走的是正确的道路,后来不继续往前走,拐进了乡间小路。
56 楼 mukehua 2011-11-21  
很好滴一篇文章,非常值得看,深有体会
55 楼 luckygggegg 2011-11-21  
看得出楼主是个不断学习,不断提高,非常积极的程序员
54 楼 nickywin 2011-11-21  
很佩服楼主,看得出是对技术有追求的。以后应该是个不错的架构。

相关推荐

Global site tag (gtag.js) - Google Analytics