自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 浅析NSQ客户端consume过程源码

NSQ是一个用go语言实现的分布式消息系统,本篇博客不介绍NSQ的整体架构,这方面可以自己去了解。因为曾经的工作运用到了NSQ,我这两天闲下来研究了一下NSQ的客户端是如何完成consume这整个过程的。 下面是一个关于客户端消费NSQ队列里消息的示例:package mainimport ( "fmt" "time" "github.com/nsqio/go-nsq")/

2017-03-17 16:49:26 1815

原创 MapReduce的作业流程以及新一代MapReduce——YARN

了解mapreduceV1(旧版本的mapreduce)与mapreduceV2(YARN)的区别我们需要先深入理解一下mapreduceV1的工作机制和设计思想。首先看一下mapreduce V1的运行图解 MapReduce V1的组件及功能分别是: Client:客户端,负责编写mapreduce代码并配置和提交作业。 JobTracker:是整个mapreduce框架的核心,类似于

2016-05-09 18:49:24 2704

原创 初识Hadoop之HDFS体系

HDFS是一种分布式文件系统,它采用的是master/slave架构对海量文件进行管理。一个HDFS集群是由一个NameNode和一定数目的DataNode组成的,NameNode是一个中心服务器,它负责管理集群中的执行调度,而DataNode则是具体任务的执行节点。HDFS以block为基本单位来处理文件,每个DataNode上都存储一个block,block默认大小为64MB,开发者也可以根据需

2016-05-09 18:11:34 2406

原创 2016年阿里巴巴集团蚂蚁金服面经

今年三月参加了阿里巴巴集团蚂蚁金服的实习生校园招聘,有幸通过了三轮技术面试,不幸的因为毕业时间和实习时间的原因在HR面的时候给卡死了。下面放上我的面试经验,个人觉得还算精彩,一面42分钟,二面54分钟,三面52分钟,感觉也相当充实。希望对想去阿里巴巴集团的同学能有所帮助一面1 自我介绍2 介绍一下学习之路,学习编程多久了3 说说我自己写的MVC框架,分析优缺点(这个占了面试大部分篇幅)4 servl

2016-04-28 08:51:50 16604 6

原创 我的MVC框架————GothaMVC(4)GothamDispatcher的实现和Model层的封装

前面三章介绍的都是准备工作,当一切完好之后,dispatcher就可以静静地等待HTTP请求的到来了任何MVC框架的核心都是Dispatcher,它起到一个中央处理器分发HTTP请求的作用,在我的框架中使用了动态代理模式,这点与springMVC所不同的是,它实现了dispatcher与拦截器的充分解耦,将拦截器和handler做成切片,然后通过调用代理对象的方式去触发拦截器和handler。 这

2016-02-25 11:17:28 905 2

原创 我的MVC框架————GothaMVC(3)view层的实现

众所周知现在的前端模板有很多,像JSP,FreeMarker,Velocity等。 面向对象的程序设计要遵守六大设计原则之一的开闭原则,即对扩展开放——对修改关闭。 所以view层的代码,在我这里的核心在于策略模式的实现。 首先,我们写一个view层的接口package viewTemplate;import javax.servlet.http.HttpServletRequest;imp

2016-02-25 10:33:03 860

原创 我的MVC框架————GothaMVC(2)拦截器的实现

在springMVC和struts2中都具有拦截器,当然我的框架中也必不可少。 在web当中,拦截器是对调用的Controller起作用,它提供了一种机制可以使开发者可以定义在一个请求执行的前后执行的代码,也可以在一个请求执行前阻止其执行。 比如,访问一个URL,可以先定义一个拦截器判断用户有没有权限,有权限才让访问。 首先,我们写一个拦截器的接口package handlerExecutio

2016-02-25 10:06:51 544

原创 我的MVC框架————GothaMVC(1)web容器和handler包装类

从年前到年后,前前后后断断续续写了差不多一个多月的框架终于大功告成啦~借鉴了springMVC的设计原理和相当多的设计模式。这一章我们先看一下在HTTP请求发来之前的准备工作,首先当然是MVC本身需要持有的容器。下面是代码package webAppContext;import java.io.IOException;import java.net.URL;import java.util.En

2016-02-25 09:54:24 757

原创 自己实现的一个简单的数据库连接的插件————JdbcPlugin

这几天自行写了一个数据库连接的插件,并发安全,支持扩展,为以后自己开发可以使用。当然如果有不足或者错误的地方,欢迎大家指正哈。首先这里使用了模板模式,定义模板顶级逻辑为启动数据库驱动器并从驱动器生成一个Connection。 这个模板子类实现了多种JDBC的propties,我在这里实现了四种数据库MySQL,Derby,Oracle,PostgreSQL。当然,开发者也可以在此模板上自行扩展。下

2016-02-14 11:09:50 2644

原创 Java设计模式之浅析命令模式

最近在看《headfirst设计模式》觉得是时候该整理整理一些知识了为了浅显易懂我们把命令模式想象成一个人用遥控器换台关机的事件。要设计命令模式,我们需要的是一个无辜的遥控器,一台自己家的电视机,然后是各种开关机换台的命令信号。首先,我们要定义一个接口,这个接口是所有电视机信号的抽象动作public interface Command{ public void do();}接下来看一看电

2015-10-20 10:13:40 900

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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