关闭

apache-apollo安装及配置过程

简介:Apollo以ActiveMQ原型为基础,是一个更快、更可靠、更易于维护的消息代理工具。Apache称Apollo为最快、最强健的STOMP(Streaming Text Orientated Message Protocol,流文本定向消息协议)服务器. 它采用一个完全不同的消息分发架构,同ActiveMQ一样支持多种协议。如STOMP,AMQP,MQTT,Openwire,SSL和WebS...
阅读(3876) 评论(2)

Storm1.0安装过程及遇到的错误处理方法

Storm1.0安装下载 org.apache.storm.utils.NimbusLeaderNotFoundException: Could not find leader nimbus from seed hosts ["127.0.0.1"]. java.io.IOException: Found multiple defaults.yaml resources...
阅读(5017) 评论(0)

Storm 1.0 新特性

Storm 1.0.0版本增加了很多新的特性,可用性以及性能也得到了很大的改善,该版本是Storm发展历程上一个里程碑式的版本,主要特点如下。性能提升Storm 1.0.0版本最大的亮点就是性能提升,和之前的版本先比,Storm 1.0的速度能够提升至16倍,延迟能够降低至60%。Storm的拓扑性能和应用案例以及依赖的外部服务相关,但是对于大部分应用,相对于之前的版本,性能能够实现3倍的提升。Pa...
阅读(1730) 评论(0)

《Java多线程编程核心技术》(五)定时器Timer的使用

定时器 Timer的使用在JDK库中Timer类主要负责计划任务的功能,也就是在指定的时间开始执行某一个任务。 Timer类的主要作用就是设置计划任务,但封装任务的类确实TimerTask类。执行计划任务的代码要放到TimerTask的子类中,因为TimerTask是一个抽象类。方法schedule(TimerTask task,Date time) 该方法的作用是在指定的日期执行一次某一任务。...
阅读(380) 评论(0)

Storm 简介及组件的基本概念

如果需要实现一个实时计算系统全量数据处理使用的大多是鼎鼎大名的hadoop或者hive,作为一个批处理系统,hadoop以其吞吐量大、自动容错等优点,在海量数据处理上得到了广泛的使用。但是,hadoop不擅长实时计算,因为它天然就是为批处理而生的,这也是业界一致的共识。否则最近这两年也不会有s4, Storm ,puma这些实时计算系统如雨后春笋般冒出来啦。先抛开s4, Storm ,puma这些系...
阅读(1799) 评论(0)

Storm 快速安装及部署示例

本文提供最简单快速的安装示例:Storm依赖zookeeper和Python环境,具体安装步骤不再列出,只简单介绍Storm的安装过程。1,Linux环境下载storm(版本0.10.0)wget http://mirrors.cnnic.cn/apache/storm/apache-storm-0.10.0/apache-storm-0.10.0.tar.gz 2,解压tar -zxvf apac...
阅读(2651) 评论(0)

《Java多线程编程核心技术》(四)Lock的使用

1,使用ReentrantLock类在java中,可以使用synchronized关键字来时间线程之间同步互斥,但在JDK1.5中新增加了ReentrantLock类也能达到同样的效果,并且在扩展功能上也更加强大。关键字synchronized与wait()和notify()/notifyAll()方法结合可以时间等待/通知模式,类ReentrantLock也可以实现,但需要截止Condition对...
阅读(664) 评论(0)

《Java多线程编程核心技术》(三)线程通信

第三章 线程通信1,等待/通知机制 ①举个现实中的例子: (1)厨师昨晚一道菜的时间不确定,所以厨师将菜品放到“菜品传递台”上的时间也不确定。 (2)服务员取到菜的时间取决于厨师,所以服务员就有“等待”(wait)的状态。 (3)服务员如何能取到菜呢?这有得取决于厨师,厨师将菜放到“菜品传递台”上,其实就相当于一种通知(notify),这是服务员才可以拿到菜并交个就餐者。 (4)在这个过程...
阅读(641) 评论(0)

《Java多线程编程核心技术》(二)对象及变量的并发访问

**第二章 对象及变量的并发访问。****1,synchronized** 多线程学习是一定会遇到的经典问题,“非线程安全”其实会在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的后果就是“脏读”,也就是渠道的数据其实是被更改过的,而“线程安全”就是获得的实例变量的值是经过同步处理过的,不会出现脏读的现象。①方法内的变量为线程安全。“非线程安全”问题存在于“实例变量”中,如果是方法内部的...
阅读(381) 评论(0)

《Java多线程编程核心技术》(一)多线程技能

最近阅读了一本《Java多线程编程核心技术》,总结了一下每章的知识点:第一章,java多线程技能 知识点:1,实现多线程编程的方式主要有两种:一是继承Thread类,重新run方法,二是实现Runnable接口,实现run方法,对象作为构造参数传入Thread对象进行start()启动。(第二种方式支持多继承情况)2,currentThread()方法可以返回代码段正在被哪个线程调用的信息。 Th...
阅读(657) 评论(0)

Java多线程研究06-带返回值的线程定义接口Callable以及Future,FutureTask的使用

带返回值的CallableJAVA线程相关的Runnable接口中的run()方法没有提供返回值,如下:...... public void run() { ...... } ......如果需要在线程A执行完成,得到返回值后,再继续执行某个业务。那么推荐使用JDK1.5中提供的带有“执行返回值”的线程定义接口:Callable。如果还需要为多个线程的执行调度加入更复杂的控制逻辑,那么需要我...
阅读(1247) 评论(0)

Java多线程研究05-ThreadPoolExecutor中workQueue、threadFactory和handle

我们继续讨论ThreadPoolExecutor线程池。上篇文章给出的最简单的ThreadPoolExecutor线程池的使用方式中,我们只采用了ThreadPoolExecutor最简单的一个构造函数:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,...
阅读(1473) 评论(0)

Java多线程研究04-线程池的使用(ThreadPoolExecutor详解)

为什么要使用线程池?线程是一个操作系统概念。操作系统负责这个线程的创建、挂起、运行、阻塞和终结操作。而操作系统创建线程、切换线程状态、终结线程都要进行CPU调度——这是一个耗费时间和系统资源的事情。 另一方面,大多数实际场景中是这样的:处理某一次请求的时间是非常短暂的,但是请求数量是巨大的。这种技术背景下,如果我们为每一个请求都单独创建一个线程,那么物理机的所有资源基本上都被操作系统创建线程、切换...
阅读(908) 评论(0)

Java多线程研究03-线程的基本操作(notify,notifyAll,interrupt,join,sleep)

JAVA中的基本线程操作这是前面给出的线程状态切换图例,可能还不能完全理解其中的切换条件,我们将详细介绍JAVA中如何进行这些线程状态的操作。 本文将讲解notify、notifyAll、interrupt、join和sleep等操作。notify和notifyAll操作notify方法的工作情况通过代码解释:package com.zczpeng.thread;public class Noti...
阅读(1001) 评论(0)

Java多线程研究02-对象锁,synchronized关键字详解

对象锁的概念通过图理解一下,多个线程要操作同一个对象的场景 图1: 图2: 图3: 解释:● 钥匙是什么,可以理解为线程的执行资格,拥有cpu时间片等资源。● 可是对象的‘锁芯’(对象独占权)只有一个,那么可以打开这把锁的多个‘钥匙’同一时间内只能有一把‘钥匙’进行操作;其他持有‘钥匙’的线程(或者没有持有钥匙的线程)都要进入等待状态;直到某把‘钥匙’从‘锁眼’中退出,操作系统会决定...
阅读(666) 评论(0)
145条 共10页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:289650次
    • 积分:4264
    • 等级:
    • 排名:第7912名
    • 原创:138篇
    • 转载:7篇
    • 译文:0篇
    • 评论:30条
    文章分类
    最新评论