`
feng_gladys
  • 浏览: 7787 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

学习Java Generic 之路

阅读更多
 

   本来是想看完 Effective Java ,看到第五章时,因为不懂泛型,就专门找讲泛型的书籍学习一下。

   学习的书籍有 Core Java volume 1, The Java Programing Language 4th, Java Generics & Collections.( 大家不会以为 是书托吧?以上几本应该不需要托吧?再说了偶看的都是英文版的。 )

 

   学习任何一门新技术时,最重要的是学习其基本理论、基本概念。该技术如何使用、为什么这样设计、有什么优势和缺点,都可以从其诞生背景、设计理念、基本概念等推理出来。另外选择的书籍也是非常重要的,应该各个层次的都需要具备一本。

  

   所以我设计的学习路线是 Core Java  -> JPL -> Generics&Collections.

   Core Java : 学习泛型初级的使用、概念等

   JPL :看看 Java 之父对泛型有何深入的讲解。

   Generic&Collections 是看完上面两本讲解泛型的章节后发现的书,目前看了第一部分的前 7 章。

  

   哇,都看完这么多关于泛型的章节,一定对泛型很熟练了吧? 恩那,我当初也是这么设计的 ~--~

   可是,可是呢。。。

 

    Core Java : 看完后,我对泛型只有 List<String> T ,等概念,对 wildcard capture of wildcard erasure 等一点都不了解,是我太笨?抑或 core java 不够好? 重复看两遍 Core Java 也没什么用呀?怎么都无法汇在一起 好吧, 哎呀,我承认我比较笨。

 

JPL java 之父的著作,怀着无比崇敬的心情,仔细的阅读每一行。恩,不错,对 wildcard erasure generic 方法重载等有些理解。当讲到 capture of wildcard 时,又犯晕了。并且该书没有对 T ,? extends T, ? super T, ? 进行比较。(我一向很聪明的呀,咋那么晕乎呢??、)

  

   Generic&Collections 这本书真的不错,讲解知识点时举得例子很好,而且经常和 JDK 里的源码进行对比,分析其优缺点。本书对我在 core java JPL 遇到的难以理解的知识点都一一解答了,并告诉我们何时使用 T ,? extends T, ? super T, ?

 

      

       为什么要按这个顺序阅读呢?

 

       Core Java 比较适合初学者,对知识点讲解比较简单,属于入门书籍。

       JPL :主要对知识点要点进行分析,例子较少,如果没有该知识点基础,较难理解。

Generic & Collections :这样以专题形式讲解某个知识点的书都比较全面(比如专门讲解IO、网络编程、并发等方面的书籍),而且有深度,并能告诉你使用时的注意事项。

 

下面是我阅读的方法,也是安慰我的原因(其实我很聪明的 ~-_-~ ):

      

       1 :我们学习新知识时,一般都很难理解书本上的讲解,遇到反复看也理解不了的,要大胆的跳过。因为有时候后面的知识点能有效的帮助理解前面的知识点。(我不算笨吧,看不懂就跳过,跳过不是因为我理解能力差嘛)

 

       2 :为什么选择多本书?对于某一知识点,不同的作者讲解的方式肯定会不一样,总有一种最适合你的,或者 多种方式的结合才能让你较为彻底的去理解。(这几本书的方式我都不是感冒嘛,其实我不笨的)

 

       3 :书要反复看,不仅一本要反复,看完多本后要重头一本一本的反复看,这样一来对知识点的理解更加巩固。 二来 检查是否漏到了哪些概念或知识。一定要坚持这点!!!

 

4 :我看的是英文版的嘛,当然慢啦。呵呵,推荐大家尽量看英文版,国内的书、译书可真不敢恭维。最近的 XX 疯狂 Java 事件可以反应出来吧 ~ !! 再举个例子, Design Pattern explained 《设计模式解析》中翻译的语句很不通顺,而且有的词很诡异。比如 隐错 把我郁闷了 n 天,最后怒了去对照英文版,才发现 隐错 就是 “Bug” 的意思。

 

 

目前自认为对 generic 概念理解得还行,明后天在博客里用自己话将 自己认为重要的知识点、概念描述一番,望各位路过的牛哥牛姐有时间就丢个有意义的鸡蛋 ~~~~ P 孩在此谢过 ~~~

 

 

分享到:
评论
1 楼 buru 2011-07-11  
请问Generic&Collections这本书哪里有 多谢!

相关推荐

    Java - Generic

    在Java编程语言中,泛型(Generic)是一个强大的特性,它允许我们在编译时检查类型安全,并且可以消除运行时的类型转换。泛型引入的主要目的是提高代码的重用性、安全性和效率,同时减少类型转换的繁琐工作。这篇...

    Generic in java programming language

    如果你熟悉其他语言如C++中的模板(Templates),你会发现Java中的泛型与之有着相似之处但也存在重要差异。对于不熟悉类似概念的新手来说,这是一个从零开始学习的好机会,可以避免被其他语言的概念误导。 #### ...

    JAVA笔记(根据马士兵的java视频整理).pdf

    在学习JAVA的过程中,应当从基础知识开始,逐步加深理解,并通过实践和思考来掌握所学的知识。马士兵的视频教程用生动的例子和实用的代码片段,帮助学习者将理论与实践相结合。 在教学方法方面,提出了“三片面包加...

    Java开发技术大全(500个源代码).

    示例描述:本章学习Java的输入和输出。 CopyFile.java 文件复制实例 dir.java 显示目录下的所有文件和目录 encrypt.java 文件加密 FileList.java 自己实现的一个文件名称枚举类 MyDataIO.java 数据输入输出示例...

    java必备1000单词学习

    Java编程语言是面向对象的编程语言,学习Java的过程中掌握一些核心的英语单词是十分必要的,因为许多编程概念和关键字都是英文原词。以下是一些重要的Java相关英语词汇及其详细解释: 1. **abstract** - 抽象:在...

    霍顿(lvor)讲的Java 7的完整源代码,学习java很好的材料

    这个由霍顿(Ivor Horton)编写的资料包含完整的Java 7源代码,是学习Java 7的理想资源。以下是这个资料中可能涵盖的一些关键知识点: 1. **自动资源管理(try-with-resources)** Java 7引入了try-with-resources...

    Java-Bluetooth-API.rar_bluetooth-API_java bluetooth_java 蓝牙api_j

    Java Bluetooth API.pdf文档可能包含了这些概念的详细解释、示例代码以及API参考,是学习和开发蓝牙应用的重要资源。建议仔细阅读该文档,结合实践来提升蓝牙编程能力。通过熟练掌握Java蓝牙API,你可以开发出各种...

    java链接微软数据库包

    在Java编程中,连接到微软数据库,如...总的来说,这个"java链接微软数据库包"是Java开发者,尤其是初学者连接SQL Server数据库的必备工具,通过它,他们可以学习和实践JDBC技术,进而实现Java程序与数据库的高效交互。

    Java虚拟机规范(Java SE 7)(中英文版)

    Java虚拟机(JVM)是Java程序运行的核心组件,它为Java代码提供了跨平台的运行环境。Java SE 7(Java Standard ...这份文档是Java开发者必备的学习资料,无论你是初学者还是经验丰富的程序员,都能从中受益匪浅。

    java基础学习词汇

    ### Java基础学习词汇详解 #### Abstract (抽象) 在Java中,`abstract`是一个关键字,用于定义抽象类或抽象方法。抽象类是不能被实例化的类,通常用来作为其他类的基础框架,提供了一些基本功能实现的同时,也定义...

    学习Java时自己整理的知识点_3

    ### 学习Java时自己整理的知识点_3 在Java的学习过程中,经常会遇到一些容易混淆的概念,例如方法重载(overload)与方法重写(override),以及如何正确使用`super`关键字等。下面将对这些概念进行详细的解析,...

    JAVA 1.7英文API

    通过深入学习和理解Java 1.7英文API,开发者可以更高效地编写代码,充分利用Java 7的新特性,并提升自己的编程能力。同时,阅读英文API也有助于跟踪最新的技术发展,为未来接触更高级的Java版本做好准备。

    Java泛型学习【转自百度百科】

    Java泛型是Java编程语言中的一个特性,它允许在定义类、接口和方法时使用类型参数,从而增强了代码的重用性、安全性和效率。在Java中,泛型的引入是为了提供编译时类型安全检查,并减少在运行时进行类型转换的需要。...

    JAVA版的iec61850实例

    Java版的IEC61850实例则为开发者提供了一个实践该标准的平台,尤其对于客户端和服务端的MMS(Manufacturing Message Service,制造报文规范)映射的实现,具有很高的学习价值。 **一、IEC61850基础** 1. **数据...

    Weblogic10.3.6(wls1036_generic.jar)安装包linux,windows,mac操作系统通用百度网盘下载

    - 不同操作系统的用户在安装过程中将经历相似的步骤,降低了学习成本。 - 对于系统管理员来说,这种一致性有助于提高部署效率。 3. **便于分发与共享:** - 只需一个安装包即可满足所有用户的需要,便于通过电子...

    Java8 新特性

    10. **Type inference for generic instance creation**:Java8改进了类型推断,使得创建泛型实例更加简洁,如`List&lt;String&gt; list = new ArrayList();` 以上就是Java8的一些主要新特性,它们不仅增强了Java的表达力...

    JAVA高级编程资料

    JAVA还提供了泛型(Generic)来增强集合的安全性,避免类型转换异常。同时,接口如List、Set和Map定义了集合的基本操作,而Collections类提供了对集合的静态方法,如排序、填充和搜索等。此外,JAVA的并发集合如...

    疯狂Java操练

    根据给定文件的信息来看,这段文字与IT行业和Java编程技术并不相关,而是关于王小波及其作品...通过这些练习和学习,可以帮助初学者快速掌握Java编程的基础知识和高级特性,为进一步深入学习Java开发打下坚实的基础。

Global site tag (gtag.js) - Google Analytics