[本文转自:http://www.bjsxt.com/zixue/zixuezhilu_1.html]
既然是学习,就不可能不遇到问题。
既然是自学,就没有方便的和老师探讨的机会。
那么,遇到问题之后,环境配不通,程序调不过,运行不正常,遇见这些恼人的问题的时候,该怎么办呢?
首先我要恭喜你,遇见问题,意味着你又有涨经验的机会了,每解决一个问题,你的JAVA经验值就应该上升几百点,问题遇到的越多,知识提升的越快。
但是总是解决不了也是很恼人的,怎么办呢?
我一般要求我们的学生都是这样来进行的。
当你遇到一个问题的时候:
1:要仔细的观察错误的现象,是的,要仔细
有不少同学的手非常快,在编译一个程序的时候,报了一大堆的错误,扫了一眼之后就开始盯着代码一行一行的找,看清什么错误了吗?没有!有的时候安装软件出问题了,一个对话框弹出来说出错了,马上举手问老师:“不得了了,出错了,出错了”。
“什么错误?”
“还没看呢?”
这都是典型的不上心的方法!请记住,学习编程并不是一件很容易的事情,自己首先要重视,要用心才可以。
在开发中,仔细观察出错信息,或者运行不正常的信息,是你要做的第一件事。
读清楚了,才能在以后的步骤中有的放矢,哭了半天,总要知道哭的是谁才成。
这里又分三种情况:
A:错误信息读懂了,那么请进入2步:要仔细思考问题会出在哪些环节
B:没读懂,愣是一点没看懂,进入第4步吧:google
C:读了个半懂,有些眉目但是不太能确定,第2步和第4步结合着来。
2:要仔细思考问题会出在哪些环节(重要)
当你读懂了一个问题之后,要好好的思考这个问题可能会在哪些环节上出错。
一辆汽车从总成线上下来,车门子关不上!
哪错了?你怎么查?
当然是顺着生产线一站一站的查下来。
程序也是一样的,也是一系列语句完成后产生的结果。
写一个网络程序,总是发现服务器端打印不出接收的数据,有几个环节会出错?
仔细分析这个现象的环节:
客户端产生数据->按“发送”按钮->发送到服务器->服务器接收到后打印
这几个环节都有可能会出错:
有可能客户端根本就没产生数据,有可能发送按钮按下去后根本就没发出去,或者发出去的不是你产生的东西,或者根本就没连接网络,或者发送出去服务器没有接收到,或者接收到之前就打印了等等等等。
学着去这样仔细的分析程序的环节和这些环节可能会产生的问题,你的经验值定然会大幅度快速的提升,这样做很累人,但是一件事情如果做下来一点都不累的话,这个东西还有价值吗?
在网页A输入了一个人的名字,提交到B,首先存储到数据库,然后再读出来,发现乱码!怎么办?当然是分析环节:
客户输入->HTTP发送->B接收->存储到数据库->读出->展现到网页
每个环节都可能出问题,怎么才能知道哪里出的问题?继续往下读。
3:如何定位错误(重要)分析清楚有哪些环节之后,下一步就是定位到底什么环节出错了。
定位有以下三种办法:
A 打印输出,比如java的System.out.println(),比如js的alert(),这种办法常用,必须掌握
B Debug,可以参考我们的视频《坦克大战》,详细讲了Eclipse的调试。
C 删掉一部分调试一部分,也就是去掉一部分的功能,做简化,然后调试剩下的功能,JSP和JavaScript常用。可以参考我们的视频《BBS》等
这些我说的比较简单,详细了解的话请关注以下我们的视频吧,在近期会逐步的将一些知识点的视频进行免费的公布,http://www.bjsxt.com/download.html
4:如果还不行,google吧
还查不出来?恭喜你,你遇到的错误是值得认真对待的错误,是会影响你学习生涯的错误,问一下google或者百度吧。照着下面的方法查查看。
一般来讲,搜索引擎可以搜到各种知识点,我曾经跟同学们开玩笑说:“学会了怎么google或者baidu,其实没必要跟老师学了,自己全都搞懂了,尚学堂是没必要来的。”当然,只是玩笑,培训的作用有三个:
A:系统化知识
B:真实项目锻炼经验
C:少走弯路,节省时间
言归正传,如何查搜索引擎?
先精后粗,首先先进行尽量精确的查找,比如一个错误,SocketException,你怀疑它是在connect()方法出的问题,那么当然是选这样的关键词java connect SocketException
先中后英,本着以解决问题为主的想法,练习英文还是先放在一边吧,首先应该在中文网页中查询,还不行的话,搜索英文的吧,最近的尚学堂课程中会带大家阅读英文的书籍。有很多东西就像一层窗户纸,远看灰蒙蒙怪唬人的,你壮着胆子一捅,它就破了。阅读英文的书籍就是如此,不是想象中的那么困难:)宁可在沙场上战死,也不能被吓死不是吗:)
信息筛选,搜索出来的结果不见得能够完全匹配,建议大家多阅读前几页的搜索结果,多打开几个网页看看,不过,我的经验是超过3页一般就没意义了,所以超过3页还没有找到合适的答案,或许应该调整一下关键词,或者放粗整个搜索的结果了。
经常的进行知识难点的查询,如果一个问题牵扯的面比较广,就干脆到网上搜索一些相关的专题,比如“java 乱码 mysql” “oracle 创建用户”等等,如果有必要,不要犯懒,勤动手写一些小小的测试程序,来弄明白知识点的细节。这也是涨知识的重要的途径。
5:什么?还不行?那么就BBS吧
如果实在还不行,就到BBS上面问一问高手吧。
到哪个BBS上?
google或者百度不就行了么:)关键词“java论坛”“java bbs”
然后在搜索结果里好好的看看那些活动频繁的论坛,以后就是你经常光顾的地方了。http://community.csdn.net就很不错。
向别人提问是非常需要技巧的!
曾经有人问我这样的问题:“请问如何才能学好java呢?”
这个要求太泛泛了。
还有人给我一段代码甚至jar包也寄过来,然后说老师的我的代码中有个错误您帮我查查:(
我没有办法去花大量的时间建立环境去调试一个还不知道存在不存在的错误!
还有人在BBS上问这样的问题:“是否有人能帮我完成一个完整聊天的程序?请帮我写一个登陆模块吧!”
这个要求有些过分了,有人帮你做是你的运气,没有人帮你是正常反应。
向别人提问,应该首先确定你已经做了自己应该做的事,简单说是我前面列举的1,2,3,4步你都作过了,然后再求助于人。不要没有经过认真思考就草率的向别人提问,自己也不会有长足进步的。
那我该怎么样向别人提问呢?
在google或百度搜索《提问的智慧》,你会找到答案。
在这里我给出一个链接http://community.csdn.net/IndexPage/SmartQuestion.aspx,磨刀不误砍柴功,先花点时间去阅读一下吧。
得到别人的回答,要懂得感恩。
不需要去写信感谢,不需要支付费用,不需要那些花言巧语,做到下面这一点就够了:
当你逐步成为高手的时候,要回答别人在论坛上提出的问题,有时间有精力的前提之下!
6:还解决不了?问老师吧,这个只能是在你参加了培训的前提下了。 7:还解决不了?天哪,是不是思路从根上就搞错了?写信给我,让我也学习一下,共同进步吧。mashibing2004@sina.com
相关推荐
JAVA自学之路 五:问题解决之道 既然是学习,就不可能不遇到问题。 既然是自学,就没有方便的和老师探讨的机会。 那么,遇到问题之后,环境配不通,程序调不过,运行不正常,遇见这些恼人的问题的时候,该...
Java自学之道是一本专为想要自我提升Java编程技能的学习者设计的指南。它涵盖了从基础知识到高级概念的全面内容,旨在帮助读者构建坚实的技术基础,理解Java语言的核心特性,并掌握实际开发中的应用技巧。 首先,从...
以上只是Java自学之道的一部分,通过阅读"Java自学之道大纲.doc"、"Java自学之道摘要.doc"、"Java自学之道前言.doc"、"Java自学之道内容.doc",你可以得到更深入、系统的学习计划和指导,逐步提升你的Java编程能力。...
Java自学之路初学者宝典 在信息时代的浪潮中,掌握编程技能已成为提升个人竞争力的重要手段,而Java作为一门应用广泛的编程语言,吸引了无数编程爱好者投入自学的行列。本文旨在为初学者提供一份详尽的Java自学指南...
【Java自学之路】对于初学者来说,学习Java编程语言是一个挑战,但也是一个充满机遇的过程。以下是一些关于如何开始自学Java的重要建议: 首先,选择学习Java的原因可能多种多样,但通常就业是主要驱动力。Java因其...
### Java自学之路:选择与路线图 #### 一、选择方向的重要性 在IT行业,特别是对于初学者而言,选择合适的技术方向至关重要。正如标题“Java自学之路”所提示的,很多人在选择技术栈时,倾向于Java,这主要是因为...
Java自学之路虽然充满挑战,但这位来自上海的朋友凭借四年多的学习和三年多的工作经验,积累了丰富的资源,并在端午节期间慷慨地分享了三百GB的基础学习视频。他的学习历程始于马士兵的教程,这是一个许多Java初学者...
《Java自学之道》是针对Java初学者的一本实用参考资料,由闵开慧撰写。这本书的特点在于采用生活实例来解释抽象的编程概念,使得学习过程更为直观易懂。它强调实践和项目开发,提供了丰富的面试练习题,以帮助读者...
### JAVA自学之路——明确方向与自学路线图 在IT行业中,选择正确的技术栈对于个人的职业发展至关重要。尤其是在软件开发领域,随着技术的不断更新迭代,选择一个具有良好前景和发展空间的技术方向变得尤为重要。...
【Java自学之路】 在Java自学的过程中,首先要明确学习目标,通常是为了就业或者个人兴趣。在选择学习方向时,不要盲目听信培训机构或网络文章的宣传,而是要学会独立思考和观察。利用招聘网站,如51job、智联招聘、...
Java自学之道是一条充满挑战与收获的旅程,尤其对于初学者来说,选择正确的学习路径至关重要。本资源集合了丰富的Java学习材料,旨在帮助新手快速掌握这门强大的编程语言。以下是一些关键知识点和学习建议: 1. **...
在传智播客张老师的指导下,配合“JAVA自学之路.docx”文档中的详细内容,你可以系统地、有步骤地学习Java。坚持实践,不断编写代码,理论结合实际,相信你一定能在Java自学之路上取得显著的进步。记住,学习编程是...