`

JAVA自学之路 五:问题解决之道 【转】

阅读更多
JAVA自学之路 五:问题解决之道
既然是学习,就不可能不遇到问题。
既然是自学,就没有方便的和老师探讨的机会。
那么,遇到问题之后,环境配不通,程序调不过,运行不正常,遇见这些恼人的问题的时候,该怎么办呢?
首先我要恭喜你,遇见问题,意味着你又有涨经验的机会了,每解决一个问题,你的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常用。
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:还解决不了?天哪,是不是思路从根上就搞错了?写信给我,让我也学习一下,共同进步吧。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/huguifuture/archive/2010/08/01/5780798.aspx
分享到:
评论

相关推荐

    JAVA自学之路

    【JAVA自学之路】这篇资料主要针对想要通过自学进入IT行业,特别是Java开发领域的初学者,提供了选择方向和学习路径的建议。以下是对标题和描述中所述知识点的详细说明: 一、选择学习方向: 1. 不要盲目跟风:强调...

    Java自学之道(完整版)

    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自学之路 java成功者之路

    ### JAVA自学之路——明确方向与自学路线图 在IT行业中,选择正确的技术栈对于个人的职业发展至关重要。尤其是在软件开发领域,随着技术的不断更新迭代,选择一个具有良好前景和发展空间的技术方向变得尤为重要。...

    四年来个人收藏的java自学视频

    Java自学之路虽然充满挑战,但这位来自上海的朋友凭借四年多的学习和三年多的工作经验,积累了丰富的资源,并在端午节期间慷慨地分享了三百GB的基础学习视频。他的学习历程始于马士兵的教程,这是一个许多Java初学者...

    Java自学之道摘要

    《Java自学之道》是针对Java初学者的一本实用参考资料,由闵开慧撰写。这本书的特点在于采用生活实例来解释抽象的编程概念,使得学习过程更为直观易懂。它强调实践和项目开发,提供了丰富的面试练习题,以帮助读者...

    java自学之路自学资料

    【Java自学之路】 在Java自学的过程中,首先要明确学习目标,通常是为了就业或者个人兴趣。在选择学习方向时,不要盲目听信培训机构或网络文章的宣传,而是要学会独立思考和观察。利用招聘网站,如51job、智联招聘、...

    Java自学之路.pdf

    综上所述,Java自学之路涵盖了面向对象编程、Java基础、JDK新特性、GUI开发、IDE使用、数据库操作、Web开发、MVC框架、网络编程、前后端技术、版本控制和项目管理等多个方面。自学Java需要掌握这些知识点,才能成为...

    JAVA自学之路.rar

    在传智播客张老师的指导下,配合“JAVA自学之路.docx”文档中的详细内容,你可以系统地、有步骤地学习Java。坚持实践,不断编写代码,理论结合实际,相信你一定能在Java自学之路上取得显著的进步。记住,学习编程是...

    Java自学之路之自学线路图

    Java自学之路是一个逐步深入的过程,尤其对于初学者来说,有一个明确的自学线路图至关重要。以下是一份详尽的Java自学指南: 首先,基础是关键。JavaSE(Java Standard Edition)是学习Java的第一步,它包括Java...

    Java自学之道 适合初学者

    Java自学之道是一条充满挑战与收获的旅程,尤其对于初学者来说,选择正确的学习路径至关重要。本资源集合了丰富的Java学习材料,旨在帮助新手快速掌握这门强大的编程语言。以下是一些关键知识点和学习建议: 1. **...

Global site tag (gtag.js) - Google Analytics