看java文档的疑问

看java文档的疑问,第1张

看java文档的疑问

一、ArrayList
1、ArrayList中add *** 作以分摊的固定时间 运行,意思知道,就是用某种特殊算法降低了大量add的时间复杂度,而单个add时间复杂度还是O(n),大量的add时间复杂度则单个add可以接近O(1),但是是怎么实现的呢?

2、ArrayList与用于 linkedList 实现的常数因子相比,此实现的常数因子较低。那还要链表干嘛?我直接用ArrayList还有随机访问的特性,这不更好吗?然后一个疑问:它怎么办到的?

3、注意,此实现不是同步的。如果多个线程同时访问一个 ArrayList 实例,而其中至少一个线程从结构上修改了列表,那么它必须保持外部同步。什么意思?不是同步的意思就是非互斥吧?java里同步和互斥的概念,感觉并没有分开。因为synchronized英文含义是同步,但实际上实现的是对一个方法的互斥。我也不知道自己说的对不对,等我看到那部分文档再来回答。

4、此类的 iterator 和 listIterator 方法返回的迭代器是快速失败的。快速失败??什么含义?
注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证。快速失败迭代器会尽最大努力抛出 ConcurrentModificationException。因此,为提高这类迭代器的正确性而编写一个依赖于此异常的程序是错误的做法:迭代器的快速失败行为应该仅用于检测 bug。
??

5、clone()
返回此 ArrayList 实例的浅表副本。
浅表副本,什么意思?

6、toArray(T[] a)
按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
运行时类型??

7、trimToSize()
将此 ArrayList 实例的容量调整为列表的当前大小。
嘛意思?就是把null的元素remove掉?不知道是不是这样?

二、Arrays
sort
1、该排序算法是一个经过调优的快速排序法,改编自 Jon L. Bentley 和 M. Douglas McIlroy 合著的 Engineering a Sort Function", Software-Practice and Experience Vol. 23(11) P. 1249-1265 (November 1993)。快速排序怎么调优?还得看下论文。。。

2、该排序算法是一个经过修改的合并排序算法怎么修改的归并排序?

3、自然顺序看的懂但不明白。?

4、根据指定比较器产生的顺序对指定对象数组进行排序。比较器?怎么做?

deepHashCode
5、基于指定数组的“深层内容”返回哈希码。意思是可以用在多维数组咯?看了一下deepEquals的介绍,应该是这个意思。

三、HttpURLConnection
1、如果在调用 disconnect() 时持久连接空闲,则可能关闭基础套接字。啥意思?

2、addRequestProperty(String key, String value)
添加由键值对指定的一般请求属性。都有什么请求属性?

3、
getContent
public Object getContent(Class[] classes)
throws IOException
获取此 URL 连接的内容。
参数:
classes - 指示请求的类型的 Class 数组。
怎么用这个Class数组?

4、getFileNameMap()
从数据文件加载文件名映射(一个 mimetable)。?看不懂

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4668667.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-07
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存