05 2017 档案

死锁
摘要:死锁发生的条件有三个: 1.线程个数在两个以上; 2.线程请求的锁的个数在两个以上; 3.线程请求锁是有顺序的。 举个例子:两个线程各自持有的锁刚好是对方线程请求的,结果是彼此相互等待,系统阻塞。因为这种死锁往往是线程持有两个以上的锁,且以不同的顺序请求锁导致的,因此也叫锁顺序死锁。看例子: pac 阅读全文

posted @ 2017-05-23 10:21 不想下火车的人 阅读(378) 评论(0) 推荐(0) 编辑

eclipse配置storm1.1.0开发环境并本地跑起来
摘要:storm的开发环境搭建比hadoop(参见前文http://www.cnblogs.com/wuxun1997/p/6849878.html)简单,无需安装插件,只需新建一个java项目并配置好lib包引用即可。本地跑也无需先启动storm,直接Run As->Java Application完事 阅读全文

posted @ 2017-05-21 11:44 不想下火车的人 阅读(4287) 评论(0) 推荐(0) 编辑

windows下安装storm1.1.0并启动
摘要:64位windows安装storm前需要先搞定zookeeper和python,所以下面我们3步走: 一、zookeeper 1、上https://zookeeper.apache.org/点击下方download到新页面,还得点一次中间的download,再选一个镜像链接http://mirror 阅读全文

posted @ 2017-05-17 12:04 不想下火车的人 阅读(4172) 评论(0) 推荐(0) 编辑

eclipse配置hadoop2.7.2开发环境并本地跑起来
摘要:先安装并启动hadoop,怎么弄见上文http://www.cnblogs.com/wuxun1997/p/6847950.html。这里说下怎么设置IDE来开发hadoop代码和调试。首先要确保你本地装了eclipse,再下个eclipse的hadoop插件就完事了。下面细说一下: 1、到http 阅读全文

posted @ 2017-05-13 18:39 不想下火车的人 阅读(8511) 评论(0) 推荐(0) 编辑

windows下安装并启动hadoop2.7.2
摘要:64位windows安装hadoop没必要倒腾Cygwin,直接解压官网下载hadoop安装包到本地->最小化配置4个基本文件->执行1条启动命令->完事。一个前提是你的电脑上已经安装了jdk,设置了java环境变量。下面把这几步细化贴出来,以hadoop2.7.2为例 1、下载hadoop安装包就 阅读全文

posted @ 2017-05-13 08:08 不想下火车的人 阅读(50467) 评论(4) 推荐(1) 编辑

tomcat启动报错:java.lang.NoClassDefFoundError
摘要:tomcat启动加载spring配置文件时报错,找不到类GetHelloRequest,经排查实际上该类已经存在。后来发现日志里还有一句: This is very likely to create a memory leak,怀疑内存不足,看了下环境,起了不少tomcat进程,杀掉几个再重启tom 阅读全文

posted @ 2017-05-09 11:36 不想下火车的人 阅读(17683) 评论(0) 推荐(0) 编辑

使用java.util.Timer实现定时任务产生的异常
摘要:定时任务用Timer实现有可能出现异常,因为它是基于绝对时间而不是相对时间进行调度的。当环境的系统时间被修改后,原来的定时任务可能就不跑了。另外需要捕获并处理定时任务抛出的异常。如果在TimerTask里抛出了异常,那么Timer认为定时任务被取消并终止执行线程。举例: package com.wl 阅读全文

posted @ 2017-05-07 23:41 不想下火车的人 阅读(3470) 评论(0) 推荐(0) 编辑

信号量Semaphore使用实例
摘要:信号量就是一个停车场,车位数量的固定的,入场先要取卡获得准入证,出去交钱还证。车位满了后面的车就得排队,等里面有车离场才能进来。可以作为资源池来应用,也可以实现流控。如果停车场很小,只有一个车位进出,那么它就是一个互斥锁。下面举例看下它的应用场景: 1、有界列表: package com.wlf.c 阅读全文

posted @ 2017-05-07 23:31 不想下火车的人 阅读(632) 评论(0) 推荐(0) 编辑

异步计算
摘要:异步计算通过异步获取计算结果,也可以实现类似闭锁CountDownLatch、栅栏CyclicBarrier的功能。它使用Callable来代表一个任务,提交到Executor框架后,可以异步的通过Future来获取任务执行结果。可以通过CompletionService来提交一组任务到一个阻塞队列 阅读全文

posted @ 2017-05-06 21:39 不想下火车的人 阅读(455) 评论(0) 推荐(0) 编辑

栅栏CyclicBarrier
摘要:栅栏作用类似闭锁,不同点在于闭锁是一次性用品,栅栏可重复使用。另外闭锁的await方法是用来阻塞的,栅栏的await方法则类似闭锁的countDown方法,是用来做减法的,当栅栏初始化的个数减为零后,栅栏便执行它在初始化时指定的Runnable.run方法。 下面举例说明,使用线程池来调度多线程: 阅读全文

posted @ 2017-05-06 13:57 不想下火车的人 阅读(243) 评论(0) 推荐(0) 编辑

闭锁CountDownLatch
摘要:顾名思义,闭锁就是用锁来把线程锁起来(调用CountDownLatch对象await方法)。为啥要锁起来呢?可以把锁的钥匙交给另外一个线程,由它来打开(调用CountDownLatch对象的countDown方法)。就好比一座大坝,线程到了大坝就只能蓄起来。一旦闭锁打开所有线程将汹涌倾泻,大坝被冲垮 阅读全文

posted @ 2017-05-02 23:27 不想下火车的人 阅读(247) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示