- 浏览: 298832 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
Mybeautiful:
袁光平 写道您好我设置了html格式,但是邮件中的超链接还是不 ...
JavaMail发送html格式的邮件 -
袁光平:
您好我设置了html格式,但是邮件中的超链接还是不能正常显示为 ...
JavaMail发送html格式的邮件 -
springmvc_springjpa:
java程序语言学习教程 地址http://www.zuida ...
Java学习这七年 -
月光照着我:
谢谢~~~
如何阅读源代码 -
nocb:
我还是建议博主,要把知识面放宽一些, 各种语音 和框架都了解一 ...
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
评论
呵呵,多多锻炼身体,早睡早起,不会秃的...
框架的设计者永远不会把框架使用者的程序当回事,除非后者能做出令人满意的设计。而良好的设计是很困难的,随着程序员对需求的更深认识设计是逐步迭代甚至出现反复的,不是会使用几个框架和API就能解决问题。长期的实践给我的感觉是,即使一个看起来很简单的设计背后可能也包含了大量的思考。什么时候该用抽象类呢,什么时候用接口呢?这个方法放在这里适合吗,该做成static的吗?这个变量怎么命名呢,需要提供构造函数重载吗?等等。。。这些具体又基础性的思考是贯穿于整个开发过程的,没有良好的基础只会写出一堆垃圾。
我很喜欢测试驱动和敏捷开发,因为从中受过益,TDD并不是搞个专有名词的噱头。如果尝试过就会发现,预先编写测试用例有助于更快的形成正确的设计。老外的理论也只是理论,不能拘泥于一些形式,什么结对编程,站着开会。。每个人都有适合自己的方法,同样适合这个人的方式搬到另一个人身上可能适得其反。
不知道lz为什么想学jquery呢,我当时纯粹是为了解决跨浏览器问题
动态语言和css选择器很强大不是吗?学习这些能否对我的代码设计有所启发呢,这是我现在学习一个新东西的主要目的,其次才是去使用它。
从Web 开发来讲,css+div确实是基础,但是这两样跟java无关,是表现层的技术。服务端你用php,.net或是其他你自定义的某种可以返回html的web容器都可以。
其实可以尝试去读读开源的代码,或是自己想个小项目,做一做,碰到问题你就会发现设计模式能解决啥问题(当你尽力把你的代码写“好”了,你其实会发现就是或类似某种模式)。如果工作中对框架的配置使用有点烦躁了。
说实话,惭愧啊...浪费了很多时间,还有很多不足。
完全同意,我基本只买大师出的书,并且是外国人写的(不是崇洋媚外,他们发明的东西,他们写出来确实说的最到位,也好理解。) 本人曾经失言“飞思科技的书是垃圾。”被无数网友骂过,其实我也不是有意,只是当年(2003年)我买了本,结果发现全部是翻译MSDN (当时搞.net),还有些地方没有抄对。
书太多了,实际上最好的书就是Google.所以一般我只买“理论方面、方法论的书可以买,当然前提是经典的”。
你所说的:“Java基础的学习,包括设计模式”,中Java基础具体是指哪些?(是单包含JavaSE吗?)
我个人理解,最重要的是面向对象的概念要深入理解,不是知道就可以了,要领会,什么时候用接口,什么时候会用到抽象类,你做这样的选择到底是基于什么样的理由;然后有Collection,线程,还有异常等。设计模式也属于基础的东西。至于Stream,socket,Applet,Swing等看实际需要。
恩,多谢提醒啊,完全同意你的建议。其实我一向不喜欢搞界面。只是时不时有朋友要我跟他们搞下简单的网站;在别人眼中,我是搞软件的,甚至说“搞电脑的”,这个都不会好像很不可思议似的;所有有时间就看哈。
学习java,不重在于看书,重要是会想,甚至有些需要经验的积累,而在没有一定沉淀前,现在市场上所有的书(至少百分之九十),对你没有丝毫帮助,相反我更喜欢上专家论坛,去吸取他们的精华,或者去看一些博客,这样我获得的远远比一本书的还要多得多。曾经认识几个朋友,后来几年一碰见,他们说,书终于出了,心愿了了。我一听惊得不少,一直以为,出书是大师级别才能拥有的特权,对他们,接触java只有五六年,不论深度如何,就能出书了?这样一来,出版业的书箱还具有什么权威性可言吗?后来我几乎不买java书箱了,从业四年内,就买了一本书,
不好意思,看太快了没看仔细,第三本是测试驱动开发,下下来了,谢谢~
你所说的:“Java基础的学习,包括设计模式”,中Java基础具体是指哪些?(是单包含JavaSE吗?)
我也正想楼主说的目标奋进:向一个全面的程序员、优秀的设计师、合格的架构师迈进!
发表评论
-
遗忘--
2013-10-04 07:14 1685又一个风起的日子, 清冷的秋风扬起淡淡的哀伤, 那种似曾 ... -
祭我们失去的激情
2013-05-17 17:59 366530出头的人了; 写了10年 ... -
维护性项目必须故意留漏洞?
2012-10-17 16:31 1836如题所问:维护性项目必须故意留漏洞吗?这是我近期从 ... -
从Dropbox解禁谈起--开放了吗?
2012-07-30 10:22 4710Dropbox本身我就不 ... -
毕业九周年记
2012-07-18 17:55 18082003年7月16日,只身到苏州开始了我的职业生涯, ... -
新人如何从同事那得到帮助
2012-06-19 17:53 1431每个人都经历过 ... -
提问者请以正确的姿态
2012-04-23 13:44 1780今天无意中搜索到一个帖子,是ItEye的 ... -
节日重定义
2012-02-14 10:42 1147情人节又到了,朋友问我们有什么安排,我说没有安排,我们 ... -
程序员到底能做多久?
2012-02-06 23:38 12173程序员到底可以 ... -
今天很多美国网站关闭(Wordpress, Wikipedia)等
2012-01-18 14:53 2485刚才想访问下Wordpress的官方站点,查个API ... -
12306网站订票和支付系统可能将分开运行
2012-01-14 00:11 1457看来的我的建议得到了铁道部的同志们的重视啊..开个玩 ... -
纪念张孝祥先生
2012-01-07 10:21 3201前几日,张孝 ... -
密码泄露的收获
2011-12-28 15:52 1514此次大范围的密码泄露事件就不用多介绍了,我算是有惊无 ... -
你跟老板是朋友吗
2011-12-06 14:11 1469不知道你是否有幸听你的老板跟你说“我们是朋友 ... -
曾经羡慕售票员的工作
2011-11-22 17:32 16622008年我们有个 ...
相关推荐
1. **个人简介**:这部分应简洁明了地介绍自己,包括姓名、学历、专业技能以及对Java开发的热情。强调自己的学习能力和解决问题的技巧。 2. **项目经验**:列出你在Java Web开发、爬虫工程或大数据处理等方面的项目...
【描述】"2011-2017年Java面试大汇总2011-2017年Java面试大汇总"虽然重复,但强调了时间跨度和主题的全面性,意味着这份资料可能是对过去七年Java面试问题的全面总结,涵盖了各个阶段的重要知识和技术。 【标签】...
### 西安云工厂Java基本语法知识点解析 #### 一、前言 西安云工厂是一家致力于软件工程教育的机构,其推出的《刘红旺...《旺旺老师JavaSE教程》以其独特的教学风格和丰富的实践案例,成为了初学者学习Java的理想选择。
张三的简历开篇即展示了他七年的Java开发工作经验和在Java技术管理及中台架构设计方面的专长。在一家北京的互联网科技有限公司,张三担任Java技术经理,主导了多个关键项目,他的经历正是招聘方所期待的:有技术深度...
【大数据与云计算培训学习资料 Hadoop集群_第1期_CentOS安装配置 共26页.pdf】这份学习资料主要涵盖了大数据技术中的Hadoop集群在CentOS操作系统上的安装与配置。CentOS是一款基于Red Hat Enterprise Linux的开源...
总的来说,"一个图书管理系统"项目是一个全面的Java学习实践,涵盖了从基本语法到高级概念的多个层面,包括面向对象编程、数据库操作、GUI设计和测试策略。通过完成这样一个项目,开发者不仅可以巩固理论知识,还能...
这个压缩包中的历年真题涵盖了七年的考试题目,每一年的真题都有其独特的价值。例如,2009年的试题可能侧重于基础的编程语言和数据结构,而随着时间推移,试题可能会更加注重实际项目经验和新技术的应用,如云计算、...
【描述】"2010-2017 软件设计师真题及答案,适用于中国软件水平考试及参考资料"说明了这个压缩包中的内容主要是针对中国软件水平考试的备考材料,包含了这七年间的软件设计师考试的完整题目和对应的参考答案。...
OptAlgToolkit1.4是一个古老的神器,尽管它的年代可以追溯到七年前,但在学习和研究智能算法领域,它仍然被视为经典之作。这个工具包的独特之处在于其开源的本质,这使得广大开发者和研究人员能够深入理解算法的内部...
- 特别优秀的本科生(需具备七年以上数据库领域的工作经验及坚实的技术背景)也会被考虑。 **期望的经验与技能集:** - 在商业关系型数据库(如DB2、Oracle、SQL Server、MySQL、PostgreSQL)内部和应用程序开发...
在这七年中,程序员会经历许多关键的转折点和学习曲线,不断积累经验,提升技能,最终形成自己的职业风格和专业深度。 在最初的几年,程序员通常会从基础语言学起,如C、C++或Java,了解编程的基本概念,包括变量、...
戴玮 80后宅男,中科院自动化所在读博士,热爱机器学习与计算机视觉。编程喜C#、Ruby、Haskell而厌Java。 白明 Neusoft某开发部技术总监,拥有多年电信级软件开发经验;资深C程序员,对Common Lisp、Python等小众...
标题中的“2021最新影视小程序源码无授权版 已解密”指的是这是一个针对影视内容的小程序应用源码,适用于2021年的技术环境,并且它没有...对于想要学习小程序开发或构建类似应用的人来说,这是一个非常有价值的资源。
同时,申请人需要证明自己在项目管理知识体系(PMBOK Guide)中的知识,这通常通过教育课程或自我学习来完成。 考试费用也是申请者需要考虑的因素,PMP认证的申请费和考试费可能因地区和个人会员状态而异。考试通常...
这份资料涵盖了2004年至2010年间的真实试题,这意味着它包含了这七年间的考试趋势和重点,这对于理解考试的题型、难度以及出题人的思维模式具有很大的帮助。考生可以借此了解过去的出题范围,包括但不限于: 1. **...
北邮807软件工程2011-2017真题全集是一份珍贵的学习资源,涵盖了北京邮电大学计算机学院软件工程专业硕士研究生入学考试在过去七年间的全部试题。这些试题对于备考该专业考试的学生来说具有极高的参考价值,能够帮助...
在这七年间的真题中,你可以发现考试的常见模式、重点难点以及历年来的变化趋势,这对于理解和掌握考试要求至关重要。 首先,软件设计师是计算机技术与软件工程领域的一个专业职称,主要负责软件系统的设计、开发、...