转自松迪科技(www.sodii.com)
严格来说,Java其实并不能算是一种编程语言,而是一门十分庞杂的技术。对于一个初学者来说,面对纷繁复杂的新技术,往往会不知所措。我在这里提些建议:
1、一定要系统地学好Java语言基础;
好多初学者,仗着自己有C语言基础,上来就直接学JSP。但其实C和Java之间的区别还是很大的。很多人JSP已经学得很熟了,但对于==比较和equals方法比较之间的区别还没搞明白。这样,当程序出现错误时,很难定位。
前两天看到有人在写JSP代码时出了错误,他想以一个用户名登录系统,但怎么都不能登录进去,他的代码是这么写的:
if(request.getParameter(“name”)==”system”) target=”/success.jsp”;
else target=”/errors.jsp”;
看上去一点错误都没有,但就是只能进入errors.jsp。如果他明白==与equals方法是区别,明白引用与对象的区别,就不会出这个问题。而这种问题,往往会让人觉得无法解决,浪费很多时间。
当你学了很多的Java技术后,你会发现,基础远比各种技术重要。
Java世界里有很多开源框架,比如Struts、Spring和Hibernate等等,太多了,每年都有新的东西出来。我基本上都可以做到,它一出来,我就能一两天搞明白它是怎么回事。而很多人要费上很多力气才能明白。为什么?因为我了解底层最基本的知识,我基础好。所有的框架都是建立在这些基础知识之上的,所以我甚至马上也能编写出与它一模一样的框架来。
所以基础真的是最重要的,一定要学好!
2、一定要培养自学能力;
可以说,我是看着Java长大的,呵呵!
Java发展的速度真是太快了。从96年正式发布JDK1.0以来,今天已经发展到了6.0,而JDK7也正在研发中。你从任何书上学来的知识,都是已经过时了的知识。因为英文的东西出来到国内写成书稿时,新技术就又已经出现了。所以你必须时刻保持学习的态度,否则你就不可能走在技术的最前端。
所以,我并不建议去书店买书。我基本都是直接到技术的源头去找资料。比如,我在学习Java时,是直接到Sun公司的网站上去找资料;学习Struts时,是直接到apache上找资料等等。所以,我基本上没怎么买过书。我买过一本《设计模式》,是因为我比较尊敬Gamma这个作者。
只有这样,我们才能了解技术发展的最新情况,才不会落后。开始时,我的英文也不好,但看多了,慢慢地就习惯了英文的一些表达方式。久而久之,看英文的网页就不觉得有多困难了。
只有拥有了自学能力,我们才可能在新技术出现时不至被抛在后面!
3、一定要有钻研精神;
因为工作原因,我给许多所谓“名企”的软件工程师做过技术培训。让我惊讶的是,他们中很多人写程序都是按照一定的模式写,但从来不知道为什么。尤以做日企外包软件开发的程序员最为明显。
最典型的是有些人在写数据库操作的程序时,知道必须要按照格式关闭连接,但从来都不知道为什么要按照那个格式写出来。其实这也没什么,只要你写出来的程序不出错就行了。但从个人发展来说,谁愿意总在做简单的重复性劳动呢?如果你真想成为技术高手,能够像你现在的技术经理一样做系统架构就必须要有钻研精神,敢于去了解底层那些你从未接触过的东西。
多的不想说了,如果你现在想开始学Java,或者已经有些Java基础了,我觉得最为重要的还是先把基础打好。
本文系由松迪科技首席技术专家田雪松老师经过多年技术研发与教学实践的磨砺总结出来的经验,对初学Java的学员十分有益!
严格来说,Java其实并不能算是一种编程语言,而是一门十分庞杂的技术。对于一个初学者来说,面对纷繁复杂的新技术,往往会不知所措。我在这里提些建议:
1、一定要系统地学好Java语言基础;
好多初学者,仗着自己有C语言基础,上来就直接学JSP。但其实C和Java之间的区别还是很大的。很多人JSP已经学得很熟了,但对于==比较和equals方法比较之间的区别还没搞明白。这样,当程序出现错误时,很难定位。
前两天看到有人在写JSP代码时出了错误,他想以一个用户名登录系统,但怎么都不能登录进去,他的代码是这么写的:
if(request.getParameter(“name”)==”system”) target=”/success.jsp”;
else target=”/errors.jsp”;
看上去一点错误都没有,但就是只能进入errors.jsp。如果他明白==与equals方法是区别,明白引用与对象的区别,就不会出这个问题。而这种问题,往往会让人觉得无法解决,浪费很多时间。
当你学了很多的Java技术后,你会发现,基础远比各种技术重要。
Java世界里有很多开源框架,比如Struts、Spring和Hibernate等等,太多了,每年都有新的东西出来。我基本上都可以做到,它一出来,我就能一两天搞明白它是怎么回事。而很多人要费上很多力气才能明白。为什么?因为我了解底层最基本的知识,我基础好。所有的框架都是建立在这些基础知识之上的,所以我甚至马上也能编写出与它一模一样的框架来。
所以基础真的是最重要的,一定要学好!
2、一定要培养自学能力;
可以说,我是看着Java长大的,呵呵!
Java发展的速度真是太快了。从96年正式发布JDK1.0以来,今天已经发展到了6.0,而JDK7也正在研发中。你从任何书上学来的知识,都是已经过时了的知识。因为英文的东西出来到国内写成书稿时,新技术就又已经出现了。所以你必须时刻保持学习的态度,否则你就不可能走在技术的最前端。
所以,我并不建议去书店买书。我基本都是直接到技术的源头去找资料。比如,我在学习Java时,是直接到Sun公司的网站上去找资料;学习Struts时,是直接到apache上找资料等等。所以,我基本上没怎么买过书。我买过一本《设计模式》,是因为我比较尊敬Gamma这个作者。
只有这样,我们才能了解技术发展的最新情况,才不会落后。开始时,我的英文也不好,但看多了,慢慢地就习惯了英文的一些表达方式。久而久之,看英文的网页就不觉得有多困难了。
只有拥有了自学能力,我们才可能在新技术出现时不至被抛在后面!
3、一定要有钻研精神;
因为工作原因,我给许多所谓“名企”的软件工程师做过技术培训。让我惊讶的是,他们中很多人写程序都是按照一定的模式写,但从来不知道为什么。尤以做日企外包软件开发的程序员最为明显。
最典型的是有些人在写数据库操作的程序时,知道必须要按照格式关闭连接,但从来都不知道为什么要按照那个格式写出来。其实这也没什么,只要你写出来的程序不出错就行了。但从个人发展来说,谁愿意总在做简单的重复性劳动呢?如果你真想成为技术高手,能够像你现在的技术经理一样做系统架构就必须要有钻研精神,敢于去了解底层那些你从未接触过的东西。
多的不想说了,如果你现在想开始学Java,或者已经有些Java基础了,我觉得最为重要的还是先把基础打好。
本文系由松迪科技首席技术专家田雪松老师经过多年技术研发与教学实践的磨砺总结出来的经验,对初学Java的学员十分有益!