漠北空城

听海观潮


  • 首页

  • 关于

  • 标签

  • 归档

  • 搜索

ConcurrentModificationException异常总结-多线程方式

发表于 2015-07-12

1、多线程方式发生异常举例

1.1、java代码如下:

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
final List<String> myList = createTestData();
new Thread(new Runnable() {
@Override
public void run() {
for (String string : myList) {
System.out.println("遍历集合 value = " + string);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
for (Iterator<String> it = myList.iterator(); it.hasNext();) {
String value = it.next();
System.out.println("删除元素 value = " + value);
if (value.equals("3")) {
it.remove();
}
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();

1.2、异常信息打印如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
遍历集合 value = 1
删除元素 value = 1
删除元素 value = 2
遍历集合 value = 2
遍历集合 value = 3
删除元素 value = 3
删除元素 value = 4
Exception in thread "Thread-0" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at com.primeton.test.Test$1.run(Test.java:119)
at java.lang.Thread.run(Thread.java:619)
删除元素 value = 5

当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。说明以上办法在同一个线程执行的时候是没问题的,但是在异步情况下依然可能出现异常。

阅读全文 »

redis.conf配置文件详解

发表于 2015-07-08

redis配置文件redis.conf详细说明

1、daemonize

1
2
3
4
5
6
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程(守护进程
# daemon)是指在UNIX或其他多任务操作系统中在后台执行的电脑程序,并不会接受电脑用户的直接操
# 控。)
daemonize no

2、pidfile

1
2
3
4
5
# When running daemonized, Redis writes a pid file in /var/run/redis.pid by
# default. You can specify a custom pid file location here.
# 当 Redis 以守护进程的方式运行的时候,Redis 默认会把 pid 文件放在/var/run/redis.pid,
# 你可以配置到其他地址。当运行多个 redis 服务时,需要指定不同的 pid 文件和端口
# pidfile /var/run/redis.pid
阅读全文 »

Redis的安装

发表于 2015-07-07

redis是比较流行的NOSQL数据库之一,下面来记录下redis的安装过程:

1. 安装环境介绍:

Redis版本:redis-3.0.1
Linux版本:Red Hat Enterprise Linux Workstation release 7.0 (Maipo)

2. 下载所需Redis文件

在http://redis.io下载最新的稳定版本。这里下载的是redis-3.0.1.tar.gz

3. 将所下载文件放入Linux系统中

通过Xmanager中Xftp工具连接到对应机器,将redis-3.0.1.tar.gz放到/redis文件夹下,如下图:
将所下载文件放入到Linux系统中

阅读全文 »

克罗地亚狂想曲

发表于 2015-05-31

马克西姆-克罗地亚狂想曲

阅读全文 »

做一个内心强大的人

发表于 2015-05-19

千与千寻

二百年前丹麦思想家克尔凯郭尔一生一贫如洗,生命也很短暂,但是,他内心强大,一生充满快乐。像这样的人的幸福,是一般人所难以理解的。像这样内心强大的人,其实是精神贵族。
  
现代社会,每个人都面对强大的社会压力,这其中,有来自事业的压力,身体健康的压力,亲人朋友给的压力。很多人无法承受一点委屈,当被人误解和冤枉时,往往感觉心理很受伤。而其实一个真正内心强大的人,是没有人能伤害你的。因为,内心强大的人,他不活在别人的眼光里。即使全国的人以他为敌,即使全世界的人误解了他,孤立了他,他也能够淡然而坚定地生活。内心强大的人,在真理与真相面前,他就是敢于成为国民之敌的人,在这个时候,那个最孤独的人,就是世界上最有力量的人,成为千夫所指的人,也就是真正有思想的人,这样的人的内心世界就到了强大之极的地步。
  
但请不要误解,一个拥有强大内心的男人,平时并非是强势的咄咄逼人的,相反他可能是温柔的、微笑的、韧性的、不紧不慢的、沉着而淡定的。拥有强大内心的男人,他们反而更温柔,更和蔼。内心强大是心中的安定与平静。强大,不是霸道,不是要将别人的所有占为己有,恰恰相反,内心的强大带给我们的是宽容和谦让。正是因为内心的安定与平静,我们才明白自己真正需要什么,才明白如何才能得到快乐。

阅读全文 »
1…11121314
漠北空城

漠北空城

69 日志
19 标签
链接
  • xyz327
© 2024 漠北空城
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4
粤ICP备18054530号-2   |     |