`

【规划】Java学习这七年

 
阅读更多
本文转自:http://www.2cto.com/kf/201111/111372.html。

从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。还要不断的接触新的知识,向一个全面的程序员、优秀的设计师、合格的架构师迈进。
分享到:
评论

相关推荐

    简历模板java方面

    1. **个人简介**:这部分应简洁明了地介绍自己,包括姓名、学历、专业技能以及对Java开发的热情。强调自己的学习能力和解决问题的技巧。 2. **项目经验**:列出你在Java Web开发、爬虫工程或大数据处理等方面的项目...

    2011-2017年Java面试大汇总

    【描述】"2011-2017年Java面试大汇总2011-2017年Java面试大汇总"虽然重复,但强调了时间跨度和主题的全面性,意味着这份资料可能是对过去七年Java面试问题的全面总结,涵盖了各个阶段的重要知识和技术。 【标签】...

    西安云工厂Java基本语法

    ### 西安云工厂Java基本语法知识点解析 #### 一、前言 西安云工厂是一家致力于软件工程教育的机构,其推出的《刘红旺...《旺旺老师JavaSE教程》以其独特的教学风格和丰富的实践案例,成为了初学者学习Java的理想选择。

    Java开发工程师简历模板(三十三)

    张三的简历开篇即展示了他七年的Java开发工作经验和在Java技术管理及中台架构设计方面的专长。在一家北京的互联网科技有限公司,张三担任Java技术经理,主导了多个关键项目,他的经历正是招聘方所期待的:有技术深度...

    大数据与云计算培训学习资料 Hadoop集群_第1期_CentOS安装配置 共26页.pdf

    【大数据与云计算培训学习资料 Hadoop集群_第1期_CentOS安装配置 共26页.pdf】这份学习资料主要涵盖了大数据技术中的Hadoop集群在CentOS操作系统上的安装与配置。CentOS是一款基于Red Hat Enterprise Linux的开源...

    一个图书管理系统

    总的来说,"一个图书管理系统"项目是一个全面的Java学习实践,涵盖了从基本语法到高级概念的多个层面,包括面向对象编程、数据库操作、GUI设计和测试策略。通过完成这样一个项目,开发者不仅可以巩固理论知识,还能...

    软件设计师历年真题.zip

    这个压缩包中的历年真题涵盖了七年的考试题目,每一年的真题都有其独特的价值。例如,2009年的试题可能侧重于基础的编程语言和数据结构,而随着时间推移,试题可能会更加注重实际项目经验和新技术的应用,如云计算、...

    02开发工具Eclipse_旺旺老师JavaSE_final

    他认为,学习Java不应该是一件枯燥乏味的事情,而应该是一种愉快的经历。因此,《旺旺老师JavaSE教程》不仅是一本技术书籍,还融入了许多有趣的案例,使得即使是复杂的概念也能变得简单易懂。 #### 三、旺旺老师的...

    10-17软件设计师

    【描述】"2010-2017 软件设计师真题及答案,适用于中国软件水平考试及参考资料"说明了这个压缩包中的内容主要是针对中国软件水平考试的备考材料,包含了这七年间的软件设计师考试的完整题目和对应的参考答案。...

    optalgtoolkit1.4优化算法工具包

    OptAlgToolkit1.4是一个古老的神器,尽管它的年代可以追溯到七年前,但在学习和研究智能算法领域,它仍然被视为经典之作。这个工具包的独特之处在于其开源的本质,这使得广大开发者和研究人员能够深入理解算法的内部...

    Job description

    - 特别优秀的本科生(需具备七年以上数据库领域的工作经验及坚实的技术背景)也会被考虑。 **期望的经验与技能集:** - 在商业关系型数据库(如DB2、Oracle、SQL Server、MySQL、PostgreSQL)内部和应用程序开发...

    7年的程序人生

    在这七年中,程序员会经历许多关键的转折点和学习曲线,不断积累经验,提升技能,最终形成自己的职业风格和专业深度。 在最初的几年,程序员通常会从基础语言学起,如C、C++或Java,了解编程的基本概念,包括变量、...

    七周七语言:理解多种编程范型

    戴玮 80后宅男,中科院自动化所在读博士,热爱机器学习与计算机视觉。编程喜C#、Ruby、Haskell而厌Java。 白明 Neusoft某开发部技术总监,拥有多年电信级软件开发经验;资深C程序员,对Common Lisp、Python等小众...

    2021最新影视小程序源码无授权版 已解密

    标题中的“2021最新影视小程序源码无授权版 已解密”指的是这是一个针对影视内容的小程序应用源码,适用于2021年的技术环境,并且它没有...对于想要学习小程序开发或构建类似应用的人来说,这是一个非常有价值的资源。

    项目管理PMP考试内容大纲

    这部分内容要求考生理解和掌握项目生命周期中的各个阶段,包括规划、执行、监控和收尾,并能够运用工具和技术来确保项目的成功执行。 3. 领域三:业务环境 在这个领域,考试将关注组织的战略方向、行业知识、合规...

    2014-2020年扬州大学858程序设计与数据结构考研真题

    《2014-2020年扬州大学858程序设计与数据结构考研真题》这份资源包含了近七年扬州大学计算机科学与技术专业硕士研究生入学考试的858程序设计与数据结构科目试题。这是一份极其珍贵的学习资料,对于备考的学生来说,...

    软件设计师历年真题及答案PDF(200405-201011)

    这份资料涵盖了2004年至2010年间的真实试题,这意味着它包含了这七年间的考试趋势和重点,这对于理解考试的题型、难度以及出题人的思维模式具有很大的帮助。考生可以借此了解过去的出题范围,包括但不限于: 1. **...

    程序员2009至2015年试题分析与解答

    《程序员2009至2015年试题分析与解答》是一份涵盖了七年间程序员考试的详尽解析和答案的资源。这份资料对于备考程序员资格认证或希望提升编程技能的人来说,具有很高的参考价值。其高清的PDF格式保证了内容的清晰度...

Global site tag (gtag.js) - Google Analytics