Quartz与Spring集成—— SchedulerFactoryBean的初始化分析

Quartz是一个开源的定时调度框架,支持集群部署。我们可以通过其Java API来使用它,或者通过Spring来配置与管理,也可以结合使用两种方式。本文重点分析Quartz与Spring集成时的初始化过程。

2016-07-25 15:29:44

阅读数 43480

评论数 6

Tomcat7.0源码分析——请求原理分析(上)

谈起Tomcat的诞生,最早可以追溯到1995年。近20年来,Tomcat始终是使用最广泛的Web服务器,由于其使用Java语言开发,所以广为Java程序员所熟悉。很多人早期的J2EE项目,由程序员自己实现Jsp页面或者Servlet接受请求,后来借助Struts1、Struts2、Spring等...

2016-06-30 08:38:24

阅读数 34092

评论数 28

Tomcat7.0源码分析——生命周期管理

从server.xml文件解析出来的各个对象都是容器,比如:Server、Service、Connector等。这些容器都具有新建、初始化完成、启动、停止、失败、销毁等状态。tomcat的实现提供了对这些容器的生命周期管理,本文将通过对Tomcat7.0的源码阅读,深入剖析这一过程。

2016-06-02 09:44:32

阅读数 28194

评论数 14

Hadoop2.6.0运行mapreduce之Uber模式验证

在有些情况下,运行于Hadoop集群上的一些mapreduce作业本身的数据量并不是很大,如果此时的任务分片很多,那么为每个map任务或者reduce任务频繁创建Container,势必会增加Hadoop集群的资源消耗,并且因为创建分配Container本身的开销,还会增加这些任务的运行时延。如果...

2016-05-05 14:55:38

阅读数 24047

评论数 2

Hadoop2.6.0中YARN底层状态机实现分析

Hadoop2.x.x版本的底层实现中作了很多优化:用状态机对各种对象生命周期和状态转移进行管理;采用事件机制避免线程同步与阻塞;采用Protocol Buffers优化RPC性能;采用Apache Avro优化日志等。本文主要针对YARN中状态机的实现进行分析,在这个过程中,会捎带一些事件的内容。

2016-04-29 08:30:19

阅读数 23507

评论数 0

Hadoop2.6.0运行mapreduce之推断(speculative)执行(上)

前言当一个应用向YARN集群提交作业后,此作业的多个任务由于负载不均衡、资源分布不均等原因都会导致各个任务运行完成的时间不一致,甚至会出现一个任务明显慢于同一作业的其它任务的情况。如果对这种情况不加优化,最慢的任务最终会拖慢整个作业的整体执行进度。好在mapreduce框架提供了任务推断执行机制,...

2016-05-12 14:39:44

阅读数 21792

评论数 0

Tomcat7.0源码分析——请求原理分析(中)

在《TOMCAT7.0源码分析——请求原理分析(上)》一文中已经介绍了关于Tomcat7.0处理请求前作的初始化和准备工作,请读者在阅读本文前确保掌握《TOMCAT7.0源码分析——请求原理分析(上)》一文中的相关知识以及HTTP协议和TCP协议的一些内容。本文重点讲解Tomcat7.0在准备好接...

2016-07-07 13:33:15

阅读数 17608

评论数 18

Hadoop2.6.0配置参数查看小工具

使用Hadoop进行离线分析或者数据挖掘的工程师,经常会需要对Hadoop集群或者mapreduce作业进行性能调优。性能调优的前提是需要能准确知道目前针对Hadoop集群或者mapreduce作业配置的参数。本文将针对这一需求,基于Hadoop开发一个简单实用的工具查询查看各种参数。

2016-04-21 15:31:50

阅读数 16917

评论数 0

Hadoop2.6.0子项目hadoop-mapreduce-examples的简单介绍

学习Hadoop的同学们,一定知道如果运行Hadoop自带的各种例子。hadoop-mapreduce-examples项目中还提供了这些例子,本文就其中例子的执行方式进行分析。看看它能否让我们学习mapreduce编程变得更加容易。

2016-04-18 11:41:44

阅读数 15472

评论数 0

Hadoop2.6.0的FileInputFormat的任务切分原理分析(即如何控制FileInputFormat的map任务数量)

前言 首先确保已经搭建好Hadoop集群环境,可以参考《Linux下Hadoop集群环境的搭建》一文的内容。我在测试mapreduce任务时,发现相比于使用Job.setNumReduceTasks(int)控制reduce任务数量而言,控制map任务数量一直是一个困扰我的问题。好在经过很多摸索...

2016-04-12 13:42:17

阅读数 15358

评论数 0

Tomcat7.0源码分析——Session管理分析(上)

对于广大java开发者而已,对于J2EE规范中的Session应该并不陌生,我们可以使用Session管理用户的会话信息,最常见的就是拿Session用来存放用户登录、身份、权限及状态等信息。对于使用Tomcat作为Web容器的大部分开发人员而言,Tomcat是如何实现Session标记用户和管理...

2016-09-23 10:06:16

阅读数 14189

评论数 8

使用Akka构建集群(一)

Akka提供的非常吸引人的特性之一就是轻松构建自定义集群,这也是我要选择Akka的最基本原因之一。如果你不想敲太多代码,也可以通过简单的配置构建一个非常简单的集群。本文为说明Akka集群构建的学习成本低廉,以Akka官网的例子代码出发,进行简单改造后与Spring集成,有关Spring集成的信息你...

2017-01-09 15:56:18

阅读数 14060

评论数 2

Tomcat7.0源码分析——启动与停止服务原理

熟悉Tomcat的工程师们,肯定都知道Tomcat是如何启动与停止的。对于startup.sh、startup.bat、shutdown.sh、shutdown.bat等脚本或者批处理命令,大家一定知道改如何使用它,但是它们究竟是如何实现的,尤其是shutdown.sh脚本(或者shutdown....

2016-06-07 09:49:29

阅读数 13823

评论数 6

Tomcat7.0源码分析——类加载体系

前言 Tomcat遵循J2EE规范,实现了Web容器。很多有关web的书籍和文章都离不开对Tomcat的分析,初学者可以从Tomcat的实现对J2EE有更深入的了解。此外,Tomcat还根据Java虚拟机规范实现了经典的双亲委派模式的类加载体系。本文基于Tomcat7.0的Java源码,对其类加载...

2016-03-28 09:43:06

阅读数 12900

评论数 8

Hadoop2.6.0的事件分类与实现

说实在的,在阅读Hadoop YARN的源码之前,我对于java枚举的使用相形见绌。YARN中实现的事件在可读性、可维护性、可扩展性方面的工作都值得借鉴。

2016-04-26 10:45:05

阅读数 12774

评论数 2

记Hadoop2.5.0线上mapreduce任务执行map任务划分的一次问题解决

近日在线上发现有些mapreduce作业的执行时间很长,我们需要解决这个问题。输入文件的大小是5G,采用了lzo压缩,整个集群的默认block大小是128M。本文将详细描述这次线上问题的排查过程。

2016-07-14 13:31:59

阅读数 12679

评论数 2

Tomcat7.0源码分析——server.xml文件的加载与解析

作为Java程序员,对于tomcat的server.xml想必都不陌生。本文基于Tomcat7.0的Java源码,对server.xml文件是如何加载和解析进行分析。

2016-04-01 13:05:00

阅读数 12000

评论数 9

Spring与Akka的集成

近年来随着Spark的火热,Spark本身使用的开发语言Scala、用到的分布式内存文件系统Tachyon(现已更名为Alluxio)以及基于Actor并发编程模型的Akka都引起了大家的注意。了解过Akka或者Actor的人应该知道,这的确是一个很不错的框架,按照Akka官网的描述——使用Akk...

2017-01-04 10:23:34

阅读数 11638

评论数 8

Tomcat7.0源码分析——请求原理分析(下)

本文继续讲解TOMCAT的请求原理分析,建议朋友们阅读本文时首先阅读过《Tomcat7.0源码分析——请求原理分析(上)》和《Tomcat7.0源码分析——请求原理分析(中)》。在《Tomcat7.0源码分析——请求原理分析(中)》一文我简单讲到了Pipeline,但并未完全展开,本文将从Pipe...

2016-07-28 10:37:35

阅读数 11299

评论数 12

Quartz与Spring集成——创建调度器

在《Quartz与Spring集成—— SchedulerFactoryBean的初始化分析》一文中介绍过,Spring集成Quartz时的初始化过程。创建调度器也是初始化过程中的一步,本文将着重介绍Quartz初始化时是如何创建调度器的。

2016-09-01 10:41:24

阅读数 11058

评论数 6

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