摘要: 并发编程基础 摘要: 并发编程,是程序员必须掌握的一门课程。并发学习得怎么样,直接影响到程序的性能和健壮性。本文针对java中常见的并发问题,及并发编程中的一些常用概念,进行了初步的扫盲,希望能通过一些知识点的理解,加深程序员对并发的理解。让我们一起进入并发的世界 。 1 何谓并发 并发,是指多线程 阅读全文
posted @ 2017-03-28 13:16 罗武 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 一、线程的调度方式 线程调度分为两种方式: 协同式调度和抢占式调度。协同式调度:线程的执行时间由线程本身控制,线程将工作执行完之后,通知操作系统切换到其他线程上。缺点:时间不可控,就算出问题,也不会通知操作系统切换,容易阻塞。抢占式调度:每个线程由操作系统来分配执行时间,调度。java的线程就是基于 阅读全文
posted @ 2017-01-16 15:42 罗武 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 一、操作系统内存模型 由于计算机的存储设备与处理器的运算能力之间有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(cache)来作为内存与处理器之间的缓冲:将运算需要使用到的数据复制到缓存中,让运算能快速进行,当运算结束后再从缓存同步回内存之中没这样处 阅读全文
posted @ 2017-01-16 15:33 罗武 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 大数据集群实验环境搭建 一、1.x环境搭建 1、虚拟机、安装jdk 2、免密码设定: (1)生成自己的公钥和私钥。 ssh-keygen -t -rsa (2)将自己的私钥拷贝到需要免密码的服务器的.ssh目录下,重新命名为authorized_keys。 scp ./id_rsa.pub rowe 阅读全文
posted @ 2016-12-16 10:35 罗武 阅读(1021) 评论(0) 推荐(0) 编辑
摘要: ORACLE 自治事物 一、问题 (1)现象 一个表A,存在一个触发器,该触发器用来统计表A的数量,并将结果更新到B表。此时,java代码里面调用insert into select 语句,会发生ora-04091错误。 (2)分析 Java调用insert into A select from A 阅读全文
posted @ 2016-11-29 13:38 罗武 阅读(183) 评论(0) 推荐(0) 编辑
摘要: UNDO内存结构剖析 一、场景 Oracle的 C事物从早上9:00开始读取A表全部10w行数据,这个而读取需要经历5分钟。在9:01的时候,B事物将A表删除100条记录,那么,当9:05的时候,事物C读取完成,能读取到多少条记录? 其实,按照一致性原则,需要读取10w行记录,而不是9900行。这个 阅读全文
posted @ 2016-11-16 14:32 罗武 阅读(937) 评论(0) 推荐(0) 编辑
摘要: 事物深度解析 一、部分概念及理论 1、快速提交 Oracle数据库事物信息会分布在: (1)undo段头块事务表。 (2)数据块事物槽。 (3)数据块中的数据行。每更新修改一条数据,都会在行头部写入事物信息。 如果数据库事物提交,则需要更新各个角落的事物信息,造成提交缓慢。目前,oracle采用快速 阅读全文
posted @ 2016-11-15 14:32 罗武 阅读(335) 评论(0) 推荐(0) 编辑
摘要: UNDO及事物 undo表空间是Oracle独有,在oracle开启一个事物之后,oracle对数据进行修改,同时,会把修改前的数据保存到UNDO表空间的UNDO段里。undo表空间中会自动分配undo段,这些undo段用来保存事务中的DML语句的undo信息,也就是来保存数据在被修改之前的值。在r 阅读全文
posted @ 2016-11-14 17:34 罗武 阅读(1972) 评论(0) 推荐(0) 编辑
摘要: SCN 一、SCN的引入 众所周知,当oracle实例崩溃时,oracle通过检查点队列使用CKPT进程,周期性的将LRBA记入控制文件,以记录读取REDO LOG的范围。确定范围之后,oracle首先进行前滚(将redo log中的数据块重新构造成buffer),然后回滚(将不需要进行构造的未提交 阅读全文
posted @ 2016-11-14 12:58 罗武 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 检查点队列 Oracle实例崩溃,恢复呢?Oracle数据库提交了的数据块,只是保证了已经保存到了Redo buffer中。如果oracle数据库崩溃了,需要前滚数据库日志来重构buffer cache中的脏块,从而保证已提交的事物不会丢失。前滚哪些数据文件呢?起点和终点分别在哪里? ORACLE 阅读全文
posted @ 2016-11-11 17:01 罗武 阅读(445) 评论(0) 推荐(0) 编辑