Java SE
silvery_white
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入了解Java泛型(一) -- 泛型与原生态类型
Java1.5引入了泛型之后,为程序的安全性又增加了一个新的保障,减少了发生运行时类型错误的可能性,这篇文章并不是要讲述泛型的基本操作,而是要了解一些在进行泛型处理时可能会遇到的一些稍微复杂些的问题。在第一篇文章中,主要了解一些泛型和原生态类型的关系问题。 何为原生态类型(raw type),就是不带有类型信息的"泛型",比如相对于List的List就是原生态类型。实际上原生态类型的List...2009-03-20 12:48:35 · 233 阅读 · 0 评论 -
深入了解Java泛型(二) -- 泛型列表与数组
记得以前面试的时候曾被问过一个问题:数组和List的区别是什么?当时答的无非就是效率,容量固定,List不能存基本类型等等。当Java发展到了1.5之后,出现了泛型版本的List,又为这个问题的解答加入了一笔。下面就来讲一下与这个话题相关的内容。 1. 数组的协变性。 数组的协变性(covariant)是指如果类Base是类Sub的基类,那么Base[]就是Sub[]的基类。而泛型是不可变...2009-03-21 19:45:01 · 227 阅读 · 0 评论 -
深入了解Java泛型(三) -- 泛型方法
前面提到的都是与类的泛型化相关的话题,不过方法也可以从泛型中受益,尤其是Helper类的工具方法这种"无状态"的方法更加合适。还是有几个话题可以进一步讨论下的。 1. 类型推导 所谓类型推导,就是编译器可以通过判断参数的类型来推导类型参数(泛型)的类型。这句话初看会发现非常绕口,举个例子就能很好的理解了。 [code="java"]public class GenericHelper...2009-04-28 10:17:00 · 143 阅读 · 0 评论 -
深入了解Java泛型(四) -- 有限制通配符
大概有限制通配符的使用是源于Java的泛型的不可变性,所谓的不可变性就是说对于两个Set和Set,不管T1和T2谁是谁的父类,Set和Set都不会是父子类的关系。 Java泛型的不可变性在应用中可能会遇到一些不方便的地方,尽管它很安全,比如一段这样的代码,加入我们要自己实现一个简单的List类如下: [code="java"]public class MyList { priv...2009-05-10 02:03:23 · 178 阅读 · 0 评论 -
深入了解Java泛型(五) -- 类型令牌
可以考虑下这样的场景:假设我的一个应用中有很多类都是"无状态"的,并且实例化一个这种类是很费资源的,更糟的是发现这些类没有一个是单例的,这个时候可以考虑在外部编写一个单例的缓存,使用这个缓存来维护这些类的实例。 考虑到类型安全性,我想使用泛型去实现这个缓存,但是泛型一般只能有有限的类型参数,比如Set和List有1个,Map有2个,这个时候就可以考虑不将缓存泛型化,而将缓存的键泛型化。说了这...2009-05-10 09:09:47 · 430 阅读 · 0 评论 -
java.nio.Buffer的一些基础知识的备忘
capacity(): 表明缓冲区的容量大小, 一旦确定了大小, 将不能再改变; limit(): 告诉您到目前为止已经往缓冲区填了多少字节,或者用#limit(int)来改变这个限制; position(): 告诉您当前的位置,以执行下一个读/写操作; mark(): 为了稍后用 reset() 进行重新设置而记住某个位置; flip(): 交换限制指针和位置指针,然后将位置置为 0,...2009-01-13 18:25:24 · 105 阅读 · 0 评论
分享