注: OneCoder 即本人苦逼Coder

今天群里(Java Coder群:91513074)的朋友,问我该如何看帮助文档,或者说在遇到问题的时候如何解决。希望我能介绍一下我的方法。

这个OneCoder其实没有资格高谈阔论,只能说说个人的习惯和方式。自学和自我解决问题确实是一项非常非常重要的能力,远比你现在所会的知识重要的多的多,因为,你未知的永远的无穷的。
关于API文档
经常有朋友求各种API文档,初学者里最常见的就是要JDK的API文档。这个 OneCoder个人的习惯是,从来不会去下API文档,那个查找起来也不方便而且也没有代码辅助,而是直接去JDK的源码中看注释,甚至是源码。既方便,又直接,又精确,还接近本质。你下的JDK里,其实都带有源码的,而且默认还是绑定好的。这么方便,为何不看?
比如,你用到了String类中的subString方法,想知道如何使用。你可以去看所谓的API文档,你也可以直接在你的IDE中点开String类,用ctrl+o搜索到subString方法。你可以看到他的注释:
  1. /**
  2. * Returns a new string that is a substring of this string. The
  3. * substring begins at the specified <code>beginIndex</code> and
  4. * extends to the character at index <code>endIndex - 1</code>.
  5. * Thus the length of the substring is <code>endIndex-beginIndex</code>.
  6. * <p>
  7. * Examples:
  8. * <blockquote><pre>
  9. * "hamburger".substring(4, 8) returns "urge"
  10. * "smiles".substring(1, 5) returns "mile"
  11. * </pre></blockquote>
  12. *
  13. * @param      beginIndex   the beginning index, inclusive.
  14. * @param      endIndex     the ending index, exclusive.
  15. * @return     the specified substring.
  16. * @exception  IndexOutOfBoundsException  if the
  17. *             <code>beginIndex</code> is negative, or
  18. *             <code>endIndex</code> is larger than the length of
  19. *             this <code>String</code> object, or
  20. *             <code>beginIndex</code> is larger than
  21. *             <code>endIndex</code>.
  22. */
如果你了解,你就会知道,所有的接口的API都是根据这个Javadoc生成的。顺便,你还可以看到它的实现,加深你的理解,何乐而不为呢?
关于搜索引擎的使用
解决问题最好的办法,当然是去网上搜索。这里 OneCoder 必须要说的是,对于开发人员来说,百度确实不是一个好的搜索引擎,搜索出来的东西相关性和有效性都十分有限。这里, OneCoder 必须大力的推荐Google。真的不在一个层次上。你可能会说,Google总是被墙。这个, OneCoder 采用了不太通用的做法,那就是常年购买了一个ssh的代理,专门用于访问google。呵呵:)其实,解决google问题的方法网上还有很多,你也可以去搜索一下。我们可以简单对比一下两个搜索引擎的搜索效果。
以“Netty 教程”这个搜索词为例:

同样的 OneCoder 原创的文章,百度排名靠前的确实被采集站恶意采集的转载文章,而非原创文章。这对于你获取原始的准确的信息是有很大影响的。
至于相关性、信息的前沿性等方面的对比, OneCoder 由于一时找不到合适的例子,暂时不做图例。但是,随着你慢慢的使用,你会逐渐发现二者的区别。比如,在你搜索一些前沿性的课题的时候,或者一些罕见的错误的时候。Google往往能给出你有价值的参考信息。
关于自我解决问题
这个其实说起来比较抽象。你可能会说,这个是经常积累等等。是,这的确需要经验,但是那一点一滴经验又如何去累积呢?难道靠问别人?
既然提到了搜索引擎,我们就要会用它。好的关键字,能让我更快的接近答案。这里, OneCoder 的愚见是,不要使用一些例如:怎么办?为什么?等无用的字眼,而是输入关键字。尤其是出现异常的时候,你大可以直接将异常的信息直接粘到搜索引擎中去搜索。(注意:去掉跟你自己代码有关的信息,只要通用的部分。)
比如:今天 OneCoder 遇到一个Hibernate的异常导致的空指针问题。一时没有头绪,遂将所有跟异常信息和部分堆栈粘贴入google,结果就在stackoverflow上,找到非常有价值的信息,从而解决了问题。
关于StackOverFlow
一个国外非常著名的问答社区,问题包罗万象,回答都非常的认真友好。 OneCoder已经在上面解决了无法问题。当然,不是通过直接提问,而还是Google给我搜到的答案。这里还得感谢Google。
关于其他
其实 OneCoder 用到的工具,就这么简单。源码+Google。除此以外,一个善于总结的善于思考的大脑是更加必不可少的。这就是所谓经验和知识的积累吧。
解决一个问题不是关键,关键是会解决一类问题,更关键的是会独立解决没接触过的问题,这是一种非常重要的能力。我宁愿找一个0基础,但是可以自己动手学会、解决的人,也不需要一个虽然有基础,但是也仅限于此的人。个人遇见,仅供参考。
如非特别注明,本站内容均为OneCoder原创,转载请务必注明作者和原始出处。
本文地址:http://www.coderli.com/archives/java-study-resolve-problem-by-itself/

最后,给老婆的小站:8无聊(http://8wuliao.net)打个广告。看名字,就知道这里不无聊:)

转载于:https://blog.51cto.com/mushiqianmeng/968735

Java初学者如何自学和自己定位解决问题相关推荐

  1. 知乎高赞:java初学者如何通过自学快速找到第一份工作?

    大家好,我是威哥,<RocketMQ技术内幕>一书作者,荣获RocketMQ官方社区优秀布道师.CSDN2020博客执之星Top2等荣誉称号.目前担任中通快递技术平台部资深架构师,主要负责 ...

  2. 自学java难吗?给java初学者的一些建议。

    自学java到底难不难? 其实学习java说难不难,说简单也不简单.如今互联网十分发达,各种学习资料,视频,文档都可以在网上找到.可以说如今是一个全民自学的时代,你要你有决心和时间,足不出户便能学习很 ...

  3. 自学java难吗?给java初学者的一些建议

    自学java到底难不难? 其实学习java说难不难,说简单也不简单.如今互联网十分发达,各种学习资料,视频,文档都可以在网上找到.可以说如今是一个全民自学的时代,你要你有决心和时间,足不出户便能学习很 ...

  4. 【校招分享】Java非科班自学指南

    作者:一星如月看多时 链接:[校招干货]Java非科班自学指南V1.0_招聘信息_牛客网 来源:牛客网 本文针对应届校招生,面向大厂面试学习,讲究打牢基础的同时追求速成,适合还有一年以上时间参加校招的 ...

  5. 给Java初学者的十条小建议,快来收藏吧

    就当前的IT环境来看,招聘Java程序员的公司多,学习Java技术的也多.对于Java初学者而言,技术学习是我们首要考虑的问题.对此,小千总结了以下十条小建议,希望对大家学习Java有帮助. 1.与其 ...

  6. java初学者指南_Java代理初学者指南

    java初学者指南 尽管Java初学者很快学会了键入public static void main来运行他们的应用程序,但是即使是经验丰富的开发人员也常常不知道JVM对Java流程的两个附加入口点的支 ...

  7. java初学者面试_Java面试的前50个问题,面向初学者和经验丰富的程序员

    java初学者面试 您可以参加任何Java面试,无论是大四还是中级,经验或新来的人,一定会看到线​​程,并发和多线程中的几个问题. 实际上,这种内置的并发支持是Java编程语言的最强优势之一,并帮助它 ...

  8. JAVA初学者学习书籍推荐

    很多知识都可以通过书本学习,JAVA学习也需要书籍,尤其是对于JAVA初学者和JAVA自学者尤为重要选择了好的JAVA自学教材能够达到事半功倍的效果,下面我们为JAVA初学者.自学者推荐几本合适的书籍 ...

  9. JAVA初学者必备的基础书籍

    初学JAVA,特别是自学难度较大,但是有一本或者基本基础JAVA参考书在身边,肯定会事半功倍,下面就推荐几本常见的,或者不常见的JAVA初学者可能用到的书. 1.<JAVA编程思想> 作者 ...

最新文章

  1. 数字图像处理——第四章 频率域滤波
  2. 视频光流估计综述:从算法原理到具体应用
  3. Hive简单案例WordCount
  4. c语言编写服务器的优点,用C语言编写的服务器中记录效率最高的文件是什么?...
  5. python设置循环范围_python – 如何检查循环范围的重叠(重叠的年度循环周期)
  6. 自定义vue全局组件use使用
  7. linux之内核剖析
  8. 你可真行呀的飞鸽传书
  9. 【图像去模糊】 deconvolution总结
  10. 23 WM配置-策略-入库策略3-定义现有库存的附加策略I(Addition to Existing Stock Strategy)
  11. python变量和对象的关系_Python变量与对象引用的区别
  12. JetBrains正式发布GoLand
  13. 01-2制作U盘启动盘--装机助理工具
  14. matlab求princomp,matlabprincomp用法
  15. 作业 20181204-5 Final阶段贡献分配规则及实施
  16. 《剑指offer》刷题笔记(发散思维能力):求1+2+3+...+n
  17. mysql组合索引没效果的原因
  18. IntelliJ IDEA的这个接口调试工具真是太太太太太好用了!
  19. 绕任意向量旋转分解到坐标系旋转
  20. iPad2 iOS5.1.1完美越狱教程(Absinthe2)

热门文章

  1. C#中在应用程序和DLL使用消息
  2. Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
  3. 【Ubuntu】Ubuntu下的录频软件SimpleScreenRecorder
  4. 【Python】解决print不能立即打印的问题
  5. 【linux】图形界面基础知识(X、X11、GNOME、Xorg、KDE的概念和它们之间的关系)
  6. 动态展开所有_库存与市场需求之间如何“动态”共舞?库存计划动态模型构建分享...
  7. Php将网站推送到手机桌面的方法,把网页发送到桌面代码
  8. PHP mysql数据迁移,【MySQL】迁移数据目录php-php教程
  9. c语言输入姓名比较是否同性,C语言基础--选择题
  10. Java项目:精美网上音乐平台(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)