第一题:HashMap内部实现原理
HashMap存的是key=>value对的集合,每一对就是一个entry(条目),key和value存的都是对象的引用。key不能存重复的值,key的集合是keySet()。value可以存重复的值,value的集合是values()。
HashMap底层用的是hash(散列)算法,使的在map中查询值..
分类:
编程语言 时间:
2016-05-24 17:15:46
阅读次数:
197
先来看下抽象类和抽象方法 抽象类:用abstract关键字来修饰,包含抽象方法的类必须声明为抽象类。 抽象方法:定义方法时只给出方法头,而不给出内部实现代码,也用abstract修饰。 (抽象类不一定有抽象方法,但有抽象方法的类一定是抽象类) 接口:就是抽象方法和常量值的集合。本质上讲,接口是一种特 ...
分类:
其他好文 时间:
2016-05-21 19:03:22
阅读次数:
262
我选择的是SSH框架。 选择的原因: SSH框架为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。 Struts: 优点:首先他是开源的,使开发者可以更深了解他的原理和内部实现机制, 可扩展性 采用MVC模式分离业务逻辑层 显示层 模型层 低 ...
分类:
其他好文 时间:
2016-05-20 19:23:23
阅读次数:
208
Map Task内部实现
在Task运行过程分析2中提到,MapTask分为4种,分别是Job-setup Task、Job-cleanup Task、Task-cleanup Task和Map Task。其中,Job-setup Task和Job-cleanup Task分别是作业运行时启动的第一个任务和最后一个任务,主要工作分别是进行一些作业初始化和收尾工作,比如创建和删除作业临时输出目录;而...
分类:
其他好文 时间:
2016-05-18 19:01:47
阅读次数:
209
在Task运行过程分析3——MapTask内部实现中,我们分析了MapTask的Collect阶段,并且解读了环形缓冲区使得MapTask的Collect阶段和Spill阶段可并行执行。。。接下来分析Spill阶段和Combine阶段。。。Spill过程分析
Spill过程由SpillThread线程完成,SpillThread线程实际上是缓冲区kvbuffer的消费者 protected cl...
分类:
其他好文 时间:
2016-05-18 18:36:48
阅读次数:
295
迭代器的抽象 迭代器是好东西,也是猿猴工具箱里面的七种武器之一。代码中必然要操作一堆数据,因此就要有容器,有了容器,自然就不可缺少迭代器,没有迭代器,容器使用 上就会非常不方便,并且还必须暴露其内部实现方式。比如,在可怜的C语言里面,操作数组容器就要通过整数索引来访问其元素,操作链表容器,就要通过 ...
分类:
其他好文 时间:
2016-05-16 19:39:13
阅读次数:
241
inndo也是通过跟oracle类似的回滚段来实现多版本,内部实现中,innodb会添加3个字段到数据库中的每个记录上,一个6byte的DB_TRX_ID表示最后插入或更新的行的事务标识符,删除在内部被表示成更新用一个标记为来标识这行被删除了。还有个7byte的DB_ROLL_PTR来执行undo log的记录,如果一行被更新了,那么undo log记录信息能重构被更新前的内容,一个6byte的DB...
分类:
数据库 时间:
2016-05-13 03:15:06
阅读次数:
159
简介
StringBuilder与StringBuffer是两个常用的操作字符串的类。大家都知道,StringBuilder是线程不安全的,而StringBuffer是线程安全的。前者是JDK1.5加入的,后者在JDK1.0就有了。下面分析一下它们的内部实现。
继承关系
public final class StringBuffer
extends AbstractStringBuilder...
分类:
编程语言 时间:
2016-05-12 23:11:10
阅读次数:
208
我们从三个方面来对AIDL进行了解:
1)介绍
2)定义
3)实例
一 介绍
AIDI(Android接口定义语言),它是Android中用来解决进程间通信的一个桥梁,它的内部实现是binder,是IPC机制的一种轻量级的实现,在Android中提供了自动创建stub的工具。
二 定义
AIDL从它的名字就可以知道,它是一个接口类型的文件,但是它与java中定义的接口...
分类:
其他好文 时间:
2016-05-12 20:22:29
阅读次数:
182
1、什么是JDBC2、JDBC连接数据库的三种方式2.1、第一种实现方式2.2、第二种实现方式2.3、第三种实现方式3、com.mysql.jdbc.Driver的内部实现1、什么是JDBC使用java代码(程序)发送sql语句的技术使用jdbc发送sql前提需要知道:数据库的IP地址、端口、数据名、用户名和密码。JDB..
分类:
数据库 时间:
2016-05-12 00:05:53
阅读次数:
302