JDK重要包和Java学习方法论

 

以下内容摘自万能的林萧说:一篇文章教会你,如何做到简历中要求的“要有扎实的Java基础”

   第一级别:精读源码

 该级别包含的包如下:

java.io
java.lang
java.util

第二级别:深刻理解

 该级别包含的包如下:

java.lang.reflect
java.net
javax.net.*
java.nio.*
java.util.concurrent.*

第三级别:会用即可
  

该级别包含的包如下:
java.lang.annotation
javax.annotation.*
java.lang.ref
java.math
java.rmi.*
javax.rmi.*
java.security.*
javax.security.*
java.sql
javax.sql.*
javax.transaction.*
java.text
javax.xml.*
org.w3c.dom.*
org.xml.sax.*
javax.crypto.*
javax.imageio.*
javax.jws.*
java.util.jar
java.util.logging
java.util.prefs
java.util.regex
java.util.zip

比较实用的几个工具主要有jmap、jconsole、jstack、jvisualvm

JVM才是你Java根基的根本
详细参见:http://www.cnblogs.com/zuoxiaolong/p/life54.html

以下内容摘自:对于Java程序猿学习当中各个阶段的建议

加分项:

       1、计算机系统原理。

  2、网络通信协议(TCP/IP,HTTP等)。

  3、数据结构与算法。

  4、著名开源项目的源码。

  5、你自己有很棒的开源项目。

  6、你的个人博客。

 

阶段:

一、Java基础

二、Web开发

 

三、开发框架

 

《Java编程思想》

《大话设计模式》,《重构 改善既有代码的设计》,《effective java》(优雅的代码)

《深入理解Java虚拟机》,《Java并发编程实战》(Java底层和Java类库)

《深入理解计算机系统》,《tcp/ip详解 卷一、二、三》,《数据结构与算法》(多样化)

Github 好的项目 (影响力)

 

以下内容摘自:技术的正宗和野路子

  • Tutorial(入门教程)。由该项技术的官网提供。通常是英文的。这份资料是给初次接触该项技术的人看的,一般是一步一步地教你完成某些例子。当我们说某项技术对于新手不太友好的时候,一般也是因为这项技术的Tutorial部分做得不够好。

  • Specification,简称Spec。这是集中体现该项技术的设计思想的东西,是高度抽象的描述。这个一般也是一份完备的、系统的描述,包含该项技术涉及到的方方面面。这部分资料在不同的地方叫法不同,在相对简单的技术项目中,也可能没有;在另一些情况下,这部分资料混杂在其它文档资料之中;它还可能以论文(paper)的形式出现。

  • API Reference。大而全的API索引和文档,针对不同的语言接口可能提供多份。当我们使用这项技术进行编程的时候,API Reference自然是个离不开的、总是要不停去查询的一份资料。

  • 别人写的技术博客。质量良莠不齐,到底有没有价值,我们要学会去分辨。

  • 技术书籍。跟技术博客类似,质量有好有坏。稍后我们和技术博客放在一起来分析。

  • Source Code。如果我们要学习的技术是开源的,那么很幸运,我们能得到源代码。这是一份终极资料。

每当我们接触一项新的技术的时候,我们都要把手头的资料按照类似的这样一个金字塔结构进行分类。
如果我们阅读了一些技术博客和技术书籍,那么也要清楚地知道它们涉及到的是金字塔中的哪些部分。
 
最开始,一般读完Tutorial之后,就基本能上手做一些开发工作了。然后一边开发,一边查阅API Reference。
技术牛人们当然也参考网上的代码,但他们通常会确保它的每一部分都能安放在知识金字塔的某一部分,他们不容许那种不属于任何体系的知识孤岛的出现。
技术的“野路子”,其实是知识结构的不完整和不系统造成的一种状态。
我们的大脑好比内存。既然是内存,就装不下所有的知识。但应该能装下对于知识的索引,否则我们便没法工作了。

对于那些最核心的技术,我们应该做到:

  • 通读Spec。读完就不再困惑。

  • 重要部分的API Reference要通读。里面包含了很多跟实现有关的信息。

  • 如果工作需要,还可能需要读到Source Code。特别是对于平常一直在使用的SDK,不一定从头到尾把源码读通,这样工作量太大且效率不高,但一定要把你的开发环境设置成一点击某个调用的方法就能跳转进源码实现。只有这样,你才能把平常开发的时间利用起来,随时随刻都点过去看源码。

对于剩下的知识里80%的部分,应该至少理解到Spec层次。只有这样,我们才能游刃有余地去使用它。
 
posted @ 2016-10-20 09:16  JillWen  阅读(3220)  评论(2编辑  收藏  举报