feu yeux
Belong to Eric Han
BlogJava | 首页 | 发新随笔 | 发新文章 | 联系 | 聚合 | 管理

2012年9月5日

Java中并发环境中的For和ForEach
posted @ 2012-09-05 14:09 Lu Han 阅读(625) | 评论 (0) | 编辑 收藏
 

2012年4月25日

事务简述
     摘要: 数据库并发操作存在的异常情况:
1.更新丢失(LostUpdate):
A和B事务并发执行,A事务执行更新后,提交;B事务在A事务更新后,B事务结束前也做了对该行数据的更新操作,然后回滚,则两次更新操作都丢失了。

第一类丢失更新(回滚丢失,Lost update)。
在事务A期间,事务B对数据进行了更新;在事务A撤销之后,覆盖了事务B已经提交的数据。
SQL92没有定义这种现象,标准定义的所有隔离界别都不允许第一类丢失更新发生。

第二类丢失更新(覆盖丢失/两次更新问题,Second lost update)。
在事务A期间,事务B对数据进行了更新;在事务A提交之后,覆盖了事务B已经提交的数据。
第二类丢失更新,实际上和不可重复读是同一种问题。

2.脏读取(DirtyReads):
A和B事务并发执行,B事务执行更新后,A事务查询B事务没有提交的数据,B事务回滚,则A事务得到的数据不是数据库中的真实数据。也就是脏数据,即和数据库中不一致的数据。

3.不可重复读取  阅读全文
posted @ 2012-04-25 10:45 Lu Han 阅读(809) | 评论 (0) | 编辑 收藏
 

2011年11月5日

Java安全传输实践2
     摘要: 安全通信高级应用
中间证书:自签证书-中间CA签发证书-导入KeyStore
keytool -list -v -keystore temp/iview.keystore -storepass 111111
您的 keystore 包含 3 输入
别名名称: root
输入类型: trustedCertEntry
所有者:CN=mars_ca, OU=rv, O=rcd, L=ZB, ST=bj, C=China
签发人:CN=mars_ca, OU=rv, O=rcd, L=ZB, ST=bj, C=China
别名名称: intermediary
输入类型: trustedCertEntry
所有者:CN=mars_inter, OU=rv, O=rcd, L=ZB, ST=bj, C=China
签发人:CN=mars_ca, OU=rv, O=rcd, L=ZB, ST=bj, C=China
别名名称: icm
项类型: PrivateKeyEntry
认证链长度:  阅读全文
posted @ 2011-11-05 04:27 Lu Han 阅读(485) | 评论 (0) | 编辑 收藏
 

2011年7月8日

轮询客户端的实现
     摘要: 服务器端给第一个客户端发送notification,然后在限定时间内,等待客户端作出回应—向服务器发送request。如果客户端一直没有回复,服务器会在到达限定时间后,向第二个客户端发送notification。如果客户端在限定时间内回复,服务器端放弃再给其他客户端发送消息。
Design
服务器、客户端使用socket发送和接收信息
发送端存在一个客户端列表,每次发送一给一个客户端,发送后,向Helper发送添加该客户端id的请求。
客户端收到信息会向Helper发送删除该id的请求。
Helper收到add时,启动一个ScheduledExecutorService类的schedule,延时启动一个线程,并将该schedule缓存。remove时,从缓存里取出schedule并停止它。如果在延时时间内,线程没有被停止,它会被执行:从缓存中取出,告诉服务器向下一个客户端发送请求。  阅读全文
posted @ 2011-07-08 16:01 Lu Han 阅读(1610) | 评论 (1) | 编辑 收藏
 

2011年5月26日

Java远程方法调用实践
     摘要: 服务器端业务接口继承自Remote
服务器端业务实现该接口
服务器注册远程实现名称
// style-1
Registry registry = LocateRegistry.createRegistry(RMIParameter.PORT);
registry.rebind(RMIParameter.NAME, bis); // replace existing binding name
// style-2
//java.rmi.Naming.rebind(RMIParameter.NAME, bis); // replace existing binding name
客户端打桩调用Naming.lookup  阅读全文
posted @ 2011-05-26 23:55 Lu Han 阅读(2099) | 评论 (1) | 编辑 收藏
 
Java安全传输实践
     摘要: 传输层安全访问是通过身份验证和加密传输的过程。JDK的JSSE提供了传输层安全访问的实现。本文旨在通过一个完整的TLS通讯实例,辨析一个普遍的误导。  阅读全文
posted @ 2011-05-26 14:48 Lu Han 阅读(3801) | 评论 (0) | 编辑 收藏
 

2010年12月4日

Java线程池类ThreadPoolExecutor浅析
     摘要: 线程池的特点是将任务的提交和执行分开。这样做的好处是,能使处理器尽量多地同时执行任务。

1.当工人数量没有达到最小雇佣数量时,每当任务来临,线程池都要创建一个工人,把工人加入工人集合。

2.如果任务来临时,当前工人数量poolSize已经大于最小雇佣数量,线程池尝试把任务加入任务列表,如果成功,任务提交的步骤就结束了。

2.5.工人会不断地尝试从队列里获取任务,如果获取到任务(请看5),工人就把任务拿去执行。这是任务的执行步骤。

3.如果加入队列失败,再雇佣一个工人或者
4.拒绝该任务。

5.工人等待任务的策略分两种(本文不考虑生命周期和状态):死等!在给定时间内等。

6.没有任务则把该工人的线程结束。

7.没有拿到任务的工人,被清除出工人集合。  阅读全文
posted @ 2010-12-04 19:09 Lu Han 阅读(2342) | 评论 (0) | 编辑 收藏
 
仅列出标题  
随笔:7 文章:1 评论:2 引用:0
<2025年6月>
日一二三四五六
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

公告

View Eric Han's profile on LinkedIn

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类

  • concurrent(2) (rss)
  • database (rss)
  • IO(1) (rss)
  • rpc(1) (rss)
  • security(2) (rss)
  • xml (rss)

随笔档案

  • 2012年9月 (1)
  • 2012年4月 (1)
  • 2011年11月 (1)
  • 2011年7月 (1)
  • 2011年5月 (2)
  • 2010年12月 (1)

文章分类

  • JVM (rss)

文章档案

  • 2012年4月 (1)

搜索

  •  

最新评论

  • 1. re: Java远程方法调用实践
  • 不错,学习了!
  • --猪猪影院
  • 2. re: 发送Notification后的处理
  • 不错 学习了!
  • --猪猪电影

阅读排行榜

  • 1. Java安全传输实践(3801)
  • 2. Java线程池类ThreadPoolExecutor浅析(2342)
  • 3. Java远程方法调用实践 (2099)
  • 4. 轮询客户端的实现(1610)
  • 5. 事务简述(809)
  • 6. Java中并发环境中的For和ForEach(625)
  • 7. Java安全传输实践2(485)

评论排行榜

  • 1. 轮询客户端的实现(1)
  • 2. Java远程方法调用实践 (1)
  • 3. Java安全传输实践(0)
  • 4. Java线程池类ThreadPoolExecutor浅析(0)
  • 5. Java中并发环境中的For和ForEach(0)
  • 6. 事务简述(0)
  • 7. Java安全传输实践2(0)

Powered by: 博客园
模板提供:沪江博客
Copyright ©2025 Lu Han