日期:2014-05-20  浏览次数:20637 次

工作也有4年多了,想有点质的飞跃,是否要回过头去认真学习JAVA SDK中的源代码
可能每个阶段有每个阶段的想法
在最初级的阶段我总以为JAVA太简单了,是比较弱智的。
稍微会一点了,就开始学各种框架,STRUTS,HIBERNATE,SPRING,JSF,EJB
后来学了WSAD工具,WEB SERVICE也会那么一点了,那时候感觉特别傲。
似乎JAVA没什么可以学的了。
不过随着写的代码变多了,需求碰到多了,似乎感觉到更应该看看JAVA是怎么被实现的,
我们用了那么多次的ArrayList是怎么实现的,作者当时的想法是什么。
但这时有不少人给我也提出了意见,认为JAVA是主推高级部分的,所以对于那些基本的实现看不看无所谓。
在此我就有一些疑问了,是否该去看呢?
因为毕竟有这么多类在等着我去看,而如果仔细研究STRUTS源代码,会发现也看不完,太多了,作者思想太精妙了,结果STRUTS2就出来了
我现在该怎么办呢?
望各位指点迷津。

谢谢

------解决方案--------------------
转载:http://blog.csdn.net/myan/archive/2008/11/07/3247071.aspx 孟岩 《技术路线的选择重要但不具有决定性》

对个体软件人来说,什么是核心竞争力?不是时间差,不是技术,不是基本功,不是什么思想,也不是聪明脑瓜,而是你独特的个性知识经验组合。

有人看到新技术出来了,急急忙忙赶上去尝鲜,以为自己快人一步,就能如何如何,实际上这种想法根本不靠谱,最多在论坛博客上风光两天,等这项技术投入实际应用以后一点便宜也占不到。

有人把某个技术、框架、平台研究得里外通透,以为这样就能奇货可居。实践中,这种人能红火一时,但很难超过5年。这是现阶段技术发展生命周期所决定的。此外,现在越来越多人意识到了,能够靠读书看文章读代码做练习学会的东西没什么门槛,智力正常的人只要愿意花功夫,都不难达到你的程度。有的人认为,自己有能力驾驭技术潮流,哪个红学哪个。我在技术行业里不敢说阅人无数,见过的高手上百是有的,说句不怕得罪人的话,能够连续抓住两个以上的潮流并且始终处于领先位置的人及其少见,一只手就数的过来。更常见的情况是,上一个阶段的成功会成为下一个阶段的障碍,所谓随机应变屹立潮头之说,往往只不过是当红小生给自己壮胆的狂言,时过境迁之后,他就只能听着新一代当红小生的豪言壮语而默默苦笑。

有人强调基本功,这是对的。在任何技术性行业里都一样,基础打得多深,上面就能造得多高。现实中,基本功扎实的人很少见,这跟中国教育的弊病有关,所以基本功好的人,一般应变能力强,学习速度快,比较受欢迎。但说基本功是核心竞争力,还是没有抓住本质。我们经常能看到基本功差不多的两个人,一个发展的很好,一个发展平平,这表明基本功成功职业生涯的是重要条件,但不是决定因素。

有人强调这个那个思想,实际上软件行业里的伟大的思想就那么屈指可数的几个,窗户纸一点就破,其他衍生出来的思想,就跟技术风潮一样,各领风骚三五年,成不了你核心竞争力。

还有人强调自己的智商,聪明脑瓜,觉得自己比别人聪明,自己的聪明是核心竞争力。大学生、刚毕业的人持这个观点的比较多,然而有过人生阅历以后,自然会对这种观点不以为然。本质上这是因为社会对于“聪明”的定义与学校不同,一个解题高手在学校里可能是受人仰慕的聪明脑瓜,但在职业人生中则可能是个大傻蛋。我们身边很多人走了一条不尽如意的人生道路,往往不是因为他们不够“聪明”,而是因为他们太“聪明”了,聪明反被聪明误。我想这也是为什么人们要发明“智慧”这个词以区别于“聪明”的原因。另外,关于这种观点,还有一点不得不指出,那就是在软件这个行当里,一般聪明就可以了,绝顶聪明占不到多少便宜。

那么核心竞争力是什么?我观察圈子里很多成功和不成功的技术人,提出一个观点,那就是个人的核心竞争力是是他独特的个性知识经验组合。这个行业里拥挤着上百万聪明人,彼此之间真正的不同在哪里?不在于你学的是什么技术,学得多深,IQ多少,而在于你身上有别人没有的独特的个性、背景、知识和经验的组合。如果这种组合,1,绝无仅有;2,在实践中有价值,3,具有可持续发展性,那你就具备核心竞争力。因此,当设计自己的发展路线时,应当最大限度地加强和发挥自己独特的组合,而不是寻求单项的超越。而构建自己独特组合的方式,主要是通过实践,其次是要有意识地构造。





------解决方案--------------------
为什么不看看其他的语言呢?python ruby,记得 james gaosling 说过,
看看其他的语言和他们上的框架,对以后的学习是有帮助的,
框架吗,并不一定很多都是很好的,以后继续db开发的,那当然要看hibernate,
做web的,当然要看tomcat/jetty,
做底层的,就要看openjpa openejb或jboss了,相信rod的,当然要看spring了
看你想怎么看,如果对技术不感兴趣,就去看业务,
如果什么都不感兴趣了,你就要找女朋友了,或生孩子,或退休?
当然如果精力旺盛的,就通吃,觉得差不多了,找个nb点的公司,而后人家让你做什么,
再细化吧,貌似agile dev