- 博客(12)
- 收藏
- 关注
原创 Pharser CyclicBarrier CountdownLatch Semaphore
1. CyclicBarrier : 初始化count是固定的, 通常用于多个线程同时等待彼此,当所有线程到达某一点时,同时继续进行。例子: Int N = 3;final CyclicBarrier cb = new CyclicBarrier(N);for (int i = 0; i < N; i++) { new Thread(new Runnable(...
2015-05-29 15:22:40
214
原创 一个例子看懂协变和LSP
package org.spark;public class app { public static void main(String[] args) { Convertor<Object> objConvertor = new Convertor<Object>(); String result = conver...
2015-05-26 11:04:23
225
原创 Hadoop学习笔记——Hadoop 读写文件过程剖析
读取文件: 下图是HDFS读取文件的流程: 这里是详细解释: 1.当客户端开始读取一个文件时,首先客户端从NameNode取得这个文件的前几个block的DataNode信息。(步骤1,2) 2.开始调用read(),read()方法里,首先去读取第一次从NameNode取得的几个Block,当读取完成后,再去NameNode拿下一批Block的D...
2013-04-23 10:22:57
162
原创 Hadoop学习笔记——NameNode 和 DataNode 以及容错处理
概念:HDFS会把一个很大的文件分块(与传统的文件系统类似),存放在不同的DataNode上。不过这个块是个逻辑概念,比较大,默认是64M。Hadoop以“管理者-工作者”模式运行。NameNode就是管理者,它保存了文件系统中所有文件以及目录信息。也记录了每个文件的分块信息。但这些分块具体在哪些机器上存储则由DataNode自己上报。容错:NameNode的容错:所有的文件访问都要通过NameN...
2013-04-19 15:00:04
611
原创 Hadoop学习笔记——哪些场景适用,哪些不适用。
Hadoop不是万能的,有些场景适用,有些不适用。Hadoop设计的目的主要包括下面几个方面,也就是所谓的适用场景:1:超大文件 可以是几百M,几百T这个级别的文件。2:流式数据访问 Hadoop适用于一次写入,多次读取的场景,也就是数据复制进去之后,长时间在这些数据上进行分析。3:商业硬件 也就是说大街上到处都能买到的那种硬件,这样的硬件...
2013-04-19 09:20:36
839
原创 Hadoop学习笔记——如何把Mapper/Reducer的代码分发到节点上去。
在Hadoop中实现Map/Reduce模型,我们需要继承如下两个类: public class MaxTemperatureMapper extends MapReduceBaseimplements Mapper<LongWritable, Text , Text , IntWritable> public class MaxTemperatur...
2013-04-17 20:38:47
266
原创 源码分析——在ASP.Net MVC 中,如何在Global.asax中配置一个指向Area内部的默认Route...
ASP.Net MVC 中配置Route的时候可以设置一个默认的Route。比如我要在输入http://localhost的时候默认进入http://localhost/home/index。可以在Global.asax中这么配置: routes.MapRoute( "Default", // Route name ...
2013-04-14 16:55:33
202
原创 Ibatis中关于事务的一个疑问的刨析——startTransaction的时候到底有没有与数据库交互。...
在Ibatis中我们要执行一个事务,代码是这样的: sqlMapClient.startTransaction (); sqlMapClient.add (xxxxx); sqlMapClient.update (xxxxx); sqlMapClient.commitTransaction (); 看到这段代码你会不会有一个问题,sqlMapCli...
2013-03-31 00:05:40
881
原创 Asp.net MVC 源码debug时发现的一个bug(WebPage WebViewPage错乱了)。
Razor的模板文件.cshtml会在运行时被编译为一个C#的class,基类为WebViewPage。也就是说在cshtml中选中一个变量,比如说@Html 然后按F12. 会跳到WebViewPage的类定义中。 我在下载了MVC的源码,并把web工程中的引用指向源码的工程后,再在cshtml中F12过去的话,就跑到WebPage类中去了。困扰了好久,发现是个bug。正常引用官方的...
2013-03-28 20:21:40
104
原创 为什么我们需要IOC框架, 与依赖倒置原则有什么关系?
大部分企业应用开发和互联网项目的开发都在应用IOC框架。但是大部分时候,我们也就是这么用用,很少人有去考虑用的到底对不对,合适不合适。 大家都知道依赖倒置原则,这里给出定义:高层模块不能依赖于底层模块,两者都应该依赖于抽象。 是不是有点颠覆三观!! 难道业务层不应该依赖数据访问层吗。难道是数据访问层依赖业务层吗? 下面是一个最常见的设计,业务层依赖 数据访问层,...
2013-03-23 20:32:21
238
原创 学习笔记——Maven如何管理项目间依赖,与Visual studio的对比。
用习惯Visual Studio的人一开始学习Maven可能很难以理解。VS里面有个solution的概念,一个sln可以包含多个project,这些project之间的依赖都可以通过可视化的方式添加。如下图:这里有三个项目,main依赖dao和domain,dao依赖domain。 在Maven中没有solution的概念,一般是通过一个父工程来充当管理子工程的角色,达到和s...
2013-03-17 19:02:40
517
原创 依赖注入的三种方式以及优缺点。
依赖注入是指在创建一个对象时,自动地创建它依赖的对象,并注入。大家都知道有三种途径来实现依赖注入,我这里总结一下这三种方式的优缺点: 1.构造方法注入:优点:在构造方法中体现出对其他类的依赖,一眼就能看出这个类需要其他那些类才能工作。脱离了IOC框架,这个类仍然可以工作,POJO的概念。一旦对象初始化成功了,这个对象的状态肯定是正确的。缺点:构造函数会有很...
2013-03-17 11:22:09
2941
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人