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

   第一级别:精读源码

 该级别包含的包如下:

  1. java.io
  2. java.lang
  3. java.util
  4.  
  5. 第二级别:深刻理解

 该级别包含的包如下:

  1. java.lang.reflect
  2. java.net
  3. javax.net.*
  4. java.nio.*
  5. java.util.concurrent.*

    第三级别:会用即可
      
  6.  
  7. 该级别包含的包如下:
  1. java.lang.annotation
  2. javax.annotation.*
  3. java.lang.ref
  4. java.math
  5. java.rmi.*
  6. javax.rmi.*
  7. java.security.*
  8. javax.security.*
  9. java.sql
  10. javax.sql.*
  11. javax.transaction.*
  12. java.text
  13. javax.xml.*
  14. org.w3c.dom.*
  15. org.xml.sax.*
  16. javax.crypto.*
  17. javax.imageio.*
  18. javax.jws.*
  19. java.util.jar
  20. java.util.logging
  21. java.util.prefs
  22. java.util.regex
  23. java.util.zip
  24.  
  25. 比较实用的几个工具主要有jmapjconsolejstackjvisualvm
  26.  
  27. JVM才是你Java根基的根本
    详细参见:http://www.cnblogs.com/zuoxiaolong/p/life54.html

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

加分项:

  1. 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层次。只有这样,我们才能游刃有余地去使用它。

 

JDK重要包和Java学习方法论的更多相关文章

  1. Java学习记录-Jdk包简单介绍

    java.applet Java语言编写的一些小应用程序 java.awt AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交 ...

  2. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

  3. Java学习第一步——JDK安装及Java环境变量配置

    Java作为当下很主流的编程语言,学习Java的朋友也越来越多了,作为一门面向对象的编程语言,Java也有着安全.高 效等诸多有点.从TIOBE(TIOBE排行榜是根据互联网上有经验的程序员.课程和第 ...

  4. JDK框架简析--java.lang包中的基础类库、基础数据类型

    题记 JDK.Java Development Kit. 我们必须先认识到,JDK不过,不过一套Java基础类库而已,是Sun公司开发的基础类库,仅此而已,JDK本身和我们自行书写总结的类库,从技术含 ...

  5. Java的一些常见问题,JRE,JDK,JVM,包等概念理解

    Java常见错误: 文件名字应该与文件中public类的名字相同 public static void main(String[] args); 如何定位错误和解决错误. JVM,JRE,JDK解释和 ...

  6. Java学习-039-源码 jar 包的二次开发扩展实例(源码修改)

    最近在使用已有的一些 jar 包时,发现有些 jar 包中的一些方法无法满足自己的一些需求,例如返回固定的格式,字符串处理等等,因而需要对原有 jar 文件中对应的 class 文件进行二次开发扩展, ...

  7. 列出JDK中常用的Java包

    列出JDK中常用的Java包 1.java.lang 2.java.sql 3.java.io 4.java.math 5.java.text 6.java.net 7.java.util 8.jav ...

  8. Java 学习(1) ---JDK安装和配置环境变量

    一,Java 开发的第一步,就是安装JDK(Java Development ToolKit  Java开发工具包) JDK 是Java开发的核心,因为它包括Java 运行环境,工具包和命令.当我们安 ...

  9. Java 学习(14):接口 & 包(设置 CLASSPATH 系统变量)

    Java 接口(英文:Interface) 定义:在JAVA编程语言中,接口是一个抽象类型,是抽象方法的集合,接口通常以 interface 来声明. 一个类通过继承接口的方式,从而来继承接口的抽象方 ...

随机推荐

  1. IOS 中runtime 不可变数组__NSArray0 和__NSArrayI

    IOS 中runtime 不可变数组__NSArray0 和__NSArrayI 大家可能都遇到过项目中不可变数组避免数组越界的处理:runtime,然而有时候并不能解决所有的问题,因为类簇不一样 # ...

  2. Kinect for Windows V2和V1对照开发___深度数据获取并用OpenCV2.4.10显示

    V1深度分辨率:320x240 V2深度分辨率:512x424 1.  打开深度图像帧的方式 对于V1: hr = m_PNuiSensor->NuiImageStreamOpen( NUI_I ...

  3. WPF中的StackPanel、WrapPanel、DockPanel

    一.StackPanel StackPanel是以堆叠的方式显示其中的控件 1.可以使用Orientation属性更改堆叠的顺序 Orientation="Vertical" 默认 ...

  4. 有关Color和Drawable你所不知道的那些内容

    Android开发中,我们经常会用到Color或Drawable,有时他们是可以混用的,有时却有严格的区别. Drawable 体系结构 Drawable是可绘制物件的一般抽象.与View不同,Dra ...

  5. 微信小程序的一些限制

    小程序的一些限制: 不支持HTML.没有 Dom.网页用的 JS.CSS 基本要全部重写,WXML 的语法和 HTML 差异还挺大,基本是一个个照着手册的属性去改.CSS 选择器不支持级联. 小程序源 ...

  6. 【Android】 onSaveInstanceState()恢复数据

    onSaveInstanceState()方法会携带一个 Bundle 类型的参数,Bundle 提供了一系列的方法用于保存数据,比如可以使用 putString()方法保存字符串,使用 putInt ...

  7. kickstart安装

    1.生成ks.cfg 文件 安装Kickstart # yum install system-config-kickstart 8.2 在桌面环境下配置Kickstart 启动X Windows 环境 ...

  8. ASP.net程序在本地操作正确,新电脑不正确的处理经验

    一.可能是计算机操作系统位数不兼容的问题,如下处理后即可.

  9. java web -部署在linux

    概述: 初次将java web项目部署到linux上, 还是很顺利的, 基本上没有什么错误. 步骤: 1, 安装jdk(官网中说了很清晰了),在linux上安装安装jdk, 不想windows那样, ...

  10. iOS 查找字符串 相同 子字符串的位置 range

    问题:解决替换同一个字符串的多个相同的字符eg. xxx这个超级大土豪白送xxx一个!赶快来抢把! 将第一个xxx换成名字 将第二个xxx换成物品 两种办法    第二种办法更灵活一点 //第一种办法 ...