前面2篇文章知道了HDFS的存储原理,知道了上传和下载文件的过程,同样也知晓了MR任务的执行过程,以及部分代码也已经看到,那么下一步就是程序员最关注的关于MR的业务代码(这里不说太简单的): 一、关于MapTask的排序 mapTask正常情况,按照key的hashcode进行从小到大的排序操作,形 ...
分类:
其他好文 时间:
2019-07-12 00:40:00
阅读次数:
108
Test.java Test2.java Test3.java Test4.java Test5.java Test6.java Test7.java ...
分类:
编程语言 时间:
2019-07-11 22:06:49
阅读次数:
120
原文链接:https://mp.weixin.qq.com/s/KnSUprd6Z7zbpZAVR1OEdw 1. Java 基础 1. JDK 和 JRE 有什么区别? 2. == 和 equals 的区别是什么? 3. 两个对象的 hashCode() 相同,则 equals() 也一定为 tr ...
分类:
其他好文 时间:
2019-07-11 12:21:16
阅读次数:
82
1 Bad practice 坏的实践 一些不好的实践,下面列举几个: HE:类定义了equals(),却没有hashCode();或类定义了equals(),却使用Object.hashCode();或类定义了hashCode(),却没有equals();或类定义了hashCode(),却使用Ob ...
分类:
数据库 时间:
2019-07-08 00:33:19
阅读次数:
144
简介 HashMap 根据键的 hashCode 进行数据的存取,大多数情况下可以直接定位到它的值,从而具有很高的效率,是无序的,要想具有顺序可用LinkedHashMap; 键值均可为null;是非线程安全的,如果需要满足线程安全,可以用Collections的synchronizedMap或者使 ...
分类:
其他好文 时间:
2019-07-07 09:17:40
阅读次数:
90
HashMap原理: “HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获取对象时,通过键对象的equals()方法找到 ...
分类:
其他好文 时间:
2019-07-06 17:49:00
阅读次数:
134
向集合添加自定义的对象,则一定要重写equals方法, 向set或map的key中添加自定义的对象,则一定要重写hashcode()方法。 1.迭代器 接口 Iterator<E> Iterator i=new Iterator (); 遍历解析: 首先i指向集合开头的上一个位置。调用hasNext ...
分类:
编程语言 时间:
2019-07-06 17:37:04
阅读次数:
138
介绍一、 hashCode()方法和equal()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致,那么equal()既然已经能实现对比的功能了,为什么还要hashCode()呢? 因为重写的equal()里一般比较的比较全面比较复杂,这样效率就比较低,而利用hashCode()进行 ...
分类:
其他好文 时间:
2019-07-05 19:22:07
阅读次数:
68
首先Set接口的特点: 1.它不允许出现重复元素 无重复 2.不保证集合中元素的顺序 无序 3.允许包含值为null的元素,但最多只能有一个null元素。 HashSet集合,采用哈希表结构存储数据,保证元素唯一性的方式依赖于:hashCode()与equals()方法。 1)HashSet集合排重 ...
分类:
编程语言 时间:
2019-07-04 00:37:49
阅读次数:
197
3.3 不正确的 equals()和 hashCode()实现 在定义新类时,一个非常常见的疏忽是不为 equals()和 hashCode()方法编写适当的重写方法。 HashSet 和 HashMap 在许多操作中使用这些方法,如果它们没有被正确覆盖,那么它们可能成为潜在的内存泄漏问题的来源。 ...
分类:
其他好文 时间:
2019-07-02 12:08:00
阅读次数:
115