JDK1.8 HashMap源码解析(不分析红黑树部分)

一、HashMap数据结构        HashMap由 数组+链表+红黑树实现,桶中元素可能为链表,也可能为红黑树。为了提高综合(查询、添加、修改)效率,当桶中元素数量超过TREEIFY_THRESHOLD(默认为8)时,链表存储改为红黑树存储,当桶中元素数量小于UNTREEIFY_THRES...

2018-06-07 16:33:00

阅读数 310

评论数 0

求最接近cap的2次幂(tableSizeFor函数的实现)

不比cap小的2次幂(HashMap中的tableSizeFor函数)// 初始化临界值的具体实现 static final int tableSizeFor(int cap) { int n = cap - 1; n |= n >&gt...

2018-06-07 11:16:41

阅读数 239

评论数 0

git基本操作

git配置Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。git提供了三级的配置:/etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。~/.gitconfi...

2018-06-02 17:00:56

阅读数 26

评论数 0

Spring AOP中的JDK代理和Cglib代理

JDK动态代理是java JDK自身提供的基于接口的代理,代理类的生成速度快,而代理类的运行速度慢,适合于prototype类型Cglib代理是基于之类继承的方式的代理,能代理非基于接口的类,适合于非final修饰的类,能对public的方法进行代理,代理类的生成速度慢,而代理类的运行速度快,适合...

2018-04-19 10:14:01

阅读数 47

评论数 0

Spring AOP如何让内部方法调用也发生代理

方法之间的调用直接使用的是原始对象,而非代理对象,因而内部调用不会产生代理public class Waiter { public void greetTo(String name) { System.out.println("greet to :&...

2018-04-17 15:47:39

阅读数 1538

评论数 0

Spring无效的事务传播行为

insertRole方法上的propagation=Propagation.REQUIRES_NEW表示不管当前上下文环境有没有事务,都重新开启一个新的事务,但实际上是不生效的。原因如下:Spring的事务管理是在通过动态代理类进入invoke方法里面的,然后判断是否需要拦截方法,需要的时候才根据...

2018-03-07 21:21:12

阅读数 52

评论数 0

Mybatis学习笔记——解析及运行原理

构造SqlSessionFactory过程采用Builder模式设计Builder设计模式:对于复杂对象,直接通过构造函数构造会导致大量逻辑放在构造函数中。为了简化构造逻辑,我们更希望一步一步有秩序地构造对象,从而降低其复杂度SqlSessionFactoryBuilder就是SqlSession...

2018-03-07 21:13:14

阅读数 60

评论数 0

Mybatis学习笔记——动态Sql

关于条件的判断if      判断语句choose (when, otherwise) 类似于switch case语句if 和 when 都需要与test属性连用,test为具体判断逻辑在判断之前都加1=1的原因是:如果不加1=1,当断语句返回false时,后面判断部分的sql为空,这样整体sq...

2018-03-04 19:57:05

阅读数 103

评论数 0

Mybatis学习笔记——映射

在映射器中,我们主要可以定义如下几类元素:select  查询,可以自定义查询参数和返回结果insert   插入,执行后返回一个整型,代表插入的条数update、deletesql  允许定义一部分SQL,在其它地方应用它resultMap  用来描述数据库结果集返回对象(和select中的re...

2018-03-02 19:40:29

阅读数 276

评论数 0

Mybatis学习笔记——入门+配置

1. MyBatis入门2. Mybatis配置PS:XML文件的层次结构不能调到顺序,如果颠倒,会解析失败2.1 properties配置2.1.1 三种配置的方式及加载顺序        3. 通过程序加载        常用于对数据库密码进行解密,配置文件中配置密文,程序解析成明文之后再传给...

2018-02-28 21:20:15

阅读数 58

评论数 0

Storm中的worker Executor Task

Storm在集群上运行一个Topology时,主要通过以下3个实体来完成Topology的执行工作: Worker(进程) Executor(线程) Task 下图简要描述了这3者之间的关系: 1个worker进程执行的是1个topology的子集(注:不会出现1个wo...

2016-12-23 21:53:02

阅读数 218

评论数 0

String,StringBuffer、StringBuilder的那些事

public class StringText { public static void main(String[] args){ String s1,s2,s3,s4; s1 = new String("123"); s2 = ...

2016-12-23 21:47:39

阅读数 102

评论数 0

String、StringBuffer、StringBuilder区别

StringBuffer、StringBuilder和String一样,也用来代表字符串。String类是不可变类,任何对String的改变都 会引发新的String对象的生成;StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象。既然可变和不可变都有了,为何还有一个...

2016-12-23 21:39:25

阅读数 94

评论数 0

节点的网络拓扑距离

The idea is that the bandwidth available for each of the following scenarios becomes progressively less:1. Processes on the same node 2. Different n...

2016-12-23 21:36:31

阅读数 1150

评论数 0

HDFS写文件过程

客户端调用create()来创建文件DistributedFileSystem用RPC调用元数据节点,在文件系统的命名空间中创建一个新的文件。元数据节点首先确定文件原来不存在,并且客户端有创建文件的权限,然后创建新文件。DistributedFileSystem返回DFSOutputStream,...

2016-12-23 21:32:05

阅读数 356

评论数 0

Replica Placement(副本放在位置)

There’s a trade- off between reliability and write bandwidth and read bandwidth herethe first replica on the same node as the client (for clients ru...

2016-12-23 21:27:04

阅读数 188

评论数 0

RawCompare

TextPair 包含了两个Textpublic static class FirstComparator extends WritableComparator { private static final Text.Comparator TEXT_COMPARATOR = new Text.Co...

2016-12-23 21:24:43

阅读数 146

评论数 0

Row-oriented layout  &  Column-oriented layout

现需查询column2 对于基于行存储的表,需要先把每行加载到内存,然后反序列化相应的列(可以节约反序列化整行的时间),但还是浪费了读磁盘的时间 对于基于列存储的表,可以直接读取相应的列,然后进行反序列化

2016-12-23 21:20:28

阅读数 203

评论数 0

MultithreadedMapper的使用

当Map处理每条记录时都很耗时,可以考虑MultithreadedMapper摘自Definition中的一段话: 对于计算密集型型任务,使用MutithreadedMapper不会带来性能提升 2.对于IO密集型任务而言,如联网操作,使用MutithreadedMapper可能会带来性能提升

2016-12-23 21:09:20

阅读数 225

评论数 0

MapReduce 中的两表 join 几种方案简介

1. 概述 在传统数据库(如:MYSQL)中,JOIN操作是非常常见且非常耗时的。而在HADOOP中进行JOIN操作,同样常见且耗时,由于Hadoop的独特设计思想,当进行JOIN操作时,有一些特殊的技巧。 本文首先介绍了Hadoop上通常的JOIN实现方法,然后给出了几种针对不同输入...

2016-12-23 20:58:13

阅读数 135

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭