集合类是java提供的工具类,主要包括List、Set、Map和vector等类型。所有的集合相关类都位于java.util.*内。 集合类的总体框架图如下图所示: 对总体框架的说明: 集合框架中最顶层的接口有Iterator、Collection和Map三个。其中Itireator是所有迭代器需要 ...
分类:
其他好文 时间:
2016-04-18 23:54:01
阅读次数:
246
花了两个晚上的时间研究了一下ArrayList的源码,
ArrayList 继承自AbstractList 并且实现了List, RandomAccess, Cloneable, Serializable
通过实现这三个接口 就具备了他们的功能
RandomAccess 用来表明其支持快速(通常是固定时间)随机访问
Cloneable可以克隆对象
Serializable 对象序列化就是...
分类:
其他好文 时间:
2016-03-27 01:48:11
阅读次数:
166
在用intelliJ IDEA阅读代码时,跟踪到例如java.io.File类文件时,在关键代码段总会出现 “compile code”字样,使人不能真正跟踪到代码内部去。 为解决此问题,如下操作: step1:下载jdk源码,src.jar 1.1 mac安装的jdk路径 :/System/Lib
分类:
其他好文 时间:
2016-02-14 16:51:32
阅读次数:
331
来源JDK源码,产生的数字分布很均匀 用法代码如下。 # -*- coding: utf-8 -*- HASH_INCREMENT = 0x61c88647 def magic_hash(n): for i in range(n): nextHashCode = i * HASH_INCREMENT
分类:
其他好文 时间:
2016-02-01 14:49:49
阅读次数:
167
1、首先,在安装jdk的时候要安装源码,或许你没注意到,其实源码就在我们的jdk安装目录下面。(安装的时候是可以选择源码安装路径的,如果选择了其他路径就不会在jdk下面了,默认是在jdk下面的。)
2、打开eclipse,点 “window”-> “Preferences” -> “Java” -> “Installed JRES”
此时”Installed JRES”右边是列表窗格,列...
分类:
系统相关 时间:
2016-01-27 09:22:50
阅读次数:
167
// ... literals are interned by the compiler // and thus refer to the same objectString s1 = "abcd";String s2 = "abcd";s1 == s2; // --> true // ... Th...
分类:
其他好文 时间:
2016-01-11 22:05:35
阅读次数:
199
1. 下载Oracle JDK源码 个人解压在/usr/local/jdk下面2. 添加系统路径 个人在 /etc/profile.d/新建一个jdk.sh 内容如下: ``` #!/bin/bash # export JAVA_HOME=/usr/local/jdk1.8.0_65 ...
分类:
系统相关 时间:
2015-12-10 11:19:31
阅读次数:
217
工作中每天都会和java集合打交道,虽然以前也看过jdk源码的实现,但有些东西时间长了还是会遗忘,或者有些实现在新版本中有了新的变化,俗话说"温故而知新",所以打算再阅读一下相关源码。java集合包含collection接口的子接口和实现类以及Map接口的子接口和实现两大块,首先先看看这两大块大致内...
分类:
编程语言 时间:
2015-12-06 17:25:12
阅读次数:
144
java是一门开源的程序设计语言,喜欢研究源码的java开发者总会忍不住debug一下jdk源码。虽然官方的jdk自带了源码包src.zip,然而在debug时查看变量却十分麻烦。例如调试HashMap的public V put(K key, V value) 方法并查看key的值时会提示:可以看到...
分类:
系统相关 时间:
2015-11-25 10:55:41
阅读次数:
244