- 浏览: 14721 次
- 性别:
最新评论
文章列表
一个线程都要从运行到结束都要经过3个阶段:
1、正在运行
2、准备结束运行
3、结束运行
那么怎么结束这个线程呢?可以通过下面这三个方法结束一个线程。
1、使用stop()方法强制结束线程。
2、使用thread.interrupt()方法发送中断。
3、在Thread对象中设置共享变量,通过在run方法中不断检测该变量的值来决定是否结束。
第一种方法,stop()方法。
臭名昭著的stop()停止线程的方法已不提倡使用了,原因是什么呢?当在一个线程对象上调用stop()方法时,这个线程对象所运行的线程就会立即停止,并抛出特殊的ThreadDeath() ...
- 2014-05-24 15:49
- 浏览 530
- 评论(0)
最近在学习的时候,一直很疑惑Vector和List的两个容器的区别。
在网上查了好多资料,知道Vector的许多方法都是线程同步的,在多线程访问的时候,是线程安全的(这里的线程安全是有限的)。而List在多线程访问的时候,是非线程安全的。
原因是由于Vector在好多方法中加入了sychronized关键字修饰。比如addElement方法中:
public synchronized void addElement(E obj) {
modCount++;
ensureCapacityHelper(elementCount + 1);
e ...
- 2014-05-23 23:30
- 浏览 2469
- 评论(0)
原文地址:http://xiaolu123456.iteye.com/blog/1485349
在Java编程语言中,最基本的结构就是两种,一种是数组,一种是模拟指针(引用),所有的数据结构都可以用这两个基本结构构造,HashMap也一样。当程序试图将多个
key-value 放入 HashMap 中时,以如下代码片段为例:
HashMap<String,Object> m=new HashMap<String,Object>();
m.put("a", "rrr1");
m.put("b&quo ...
- 2014-05-23 16:21
- 浏览 699
- 评论(0)
原文地址:http://www.iteye.com/topic/777716
ThreadLocal<T>类在Spring,Hibernate等框架中起到了很大的作用,对于其工作原理,很多网上的文章分析的不够彻底,甚至有些误解。
首先,为了解释ThreadLocal类的工作原理,必须同时介绍与其工作甚密的其他几个类(内部类)
1.ThreadLocalMap
2.Thread
- 2014-05-23 08:55
- 浏览 448
- 评论(0)
原文地址:http://abeetle.iteye.com/blog/233896
今天刚发现StringUtils,觉得不错,特意深入了解了一下,做个说明,以供今后参考:
类包是:org.apache.commons.lang.StringUtils
Java1.4的文字处理上支持regular expression了。这可是个重量级而方便的东东啊,缺点是太复杂,学习起来有难度。相较而言,Jakarta Commons提供的StringUtils和WordUtils至今还维持着那种简洁而强大的美,使用起来也很顺手。Commons Lang的StringUtils包 ...
- 2014-05-21 10:33
- 浏览 436
- 评论(0)
原文地址:http://angelinafan.blog.163.com/blog/static/1361727982011224112444751/
今天发现一个挺诡异的问题,先来看看下面这段代码:
view
plaincopy
to clipboard
- 2014-05-18 11:44
- 浏览 574
- 评论(0)
原文链接:http://my.oschina.net/leejun2005/blog/131744
之前有童鞋问到了这样一个问题:为什么我在 reduce 阶段遍历了一次Iterable 之后,再次遍历的时候,数据都没了呢?可能有童鞋想当然的回答:Iterable
只能单向遍历一次,就这样简单的原因。。。事实果真如此吗?
还是用代码说话:
- 2014-05-17 14:55
- 浏览 1386
- 评论(0)
我们在用矩阵处理真实数据的时候,一般都是非常稀疏矩阵,为了节省存储空间,通常只会存储非0的数据。
下面我们来做一个稀疏矩阵:
新建2个稀疏矩阵数据文件sm1.csv, sm2.csv
只存储非0的数据,3列存储,第一列“原矩阵行”,第二列“原矩阵列”,第三列“原矩阵值”。
sm1.csv
- 2014-05-16 15:38
- 浏览 1058
- 评论(0)
算法的实现思路:
图片和思路来自于http://blog.fens.me/hadoop-mapreduce-matrix/
新建2个矩阵数据文件:m1, m2
m1
1,0,2
-1,3,1
m2
3,1
2,1
1,0
新建启动程序:MainRun.java
新建MR程序:MartrixMultiply.java
- 2014-05-16 09:42
- 浏览 651
- 评论(0)
今天写MR程序,原来用TextInputFormat改为用KeyValueTextInputFormat类提交到hadoop上一直提示ClassNotFoundException的异常。
百思不得其解,后来查看源码时发现没有KeyValueTextInputFormat的源代码。
这时候我注意到我的集群上hadoop版本号是1.0.0, ...
- 2014-05-14 00:19
- 浏览 407
- 评论(0)
原文地址:http://www.tuicool.com/articles/63Ejqi
Author:张丹(Conan)
Date: 2013-04-07
Weibo: @Conan_Z
Email:bsspirit@gmail.com
Blog:http://www.fens.me/blog
APPs:
@晒粉丝http://www.fens.me
@每日中国天气http://apps.weibo.com/chinaweatherapp
RHadoop实践系列文章
...
- 2014-05-13 14:14
- 浏览 1253
- 评论(0)
原文地址:http://www.douban.com/note/205755213/
之前一直觉得user-based和item-based差别不大,算法的差异小的我每次和别人说起都解释一下。后来慢慢的才发现丢脸了,其实从物理意义上2者差别大着呢,想想自己以前一直喜欢从物理角度 ...
- 2014-05-13 11:37
- 浏览 1642
- 评论(0)
原文地址:http://langyu.iteye.com/blog/1171091
MapReduce Counter为提供我们一个窗口:观察MapReduce job运行期的各种细节数据。今年三月份期间,我曾经专注于MapReduce性能调优工作,是否优化的绝大多评估都是基于这些Counter的数值表现。MapReduce自带了许多默认Counter,可能有些朋友对它们有些疑问,现在我分析下这些默认Counter的含义,方便大家观察job结果。
我的分析是基于Hadoop0.21,我也看过Hadoop其它版本的Counter展现,细节大同小异,如果有差异的地方,以事实版本为主。 Coun ...
- 2014-05-12 22:44
- 浏览 473
- 评论(0)
原文地址:http://langyu.iteye.com/blog/1171091
Cloudera提供给客户的服务内容之一就是调整和优化MapReduce job执行性能。MapReduce和HDFS组成一个复杂的分布式系统,并且它们运行着各式各样用户的代码,这样导致没有一个快速有效的规则来实现优化代码性能的目的。在我看来,调整cluster或job的运行更像一个医生对待病人一样,找出关键的“症状”,对于不同的症状有不同的诊断和处理方式。
在医学领域,没有什么可以代替一位经验丰富的医生;在复杂的分布式系统上,这个道理依然正确—有经验的用户和操作者在面对很多常见问题上都会有“第六感”。 ...
- 2014-05-12 22:42
- 浏览 434
- 评论(0)
比较简单,直接上代码:
这是MapReduce功能代码:
package org.edu.bupt.xiaoye.hadooptest;
import java.io.IOException;
import java.net.URI;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Fil ...
- 2014-05-12 16:00
- 浏览 602
- 评论(0)