自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(229)
  • 收藏
  • 关注

非主流并发工具之 CountDownLatch

CountDownLatch 是一个用来倒计数的咚咚。如果某项任务可以拆分成若干个子任务同时进行,然后等待所有的子任务完成,可以考虑使用它。该类的用法非常简单。首先构造一个 CountDownLatch,唯一的参数是任务数量,一旦构造完毕就不能修改。接着启动所有的子任务(线程),且每个子任务在完成自己的计算后,调用 CountDownLatch#countDown 方法将倒计数减一。最后在主线...

2011-10-27 08:49:22 90

异常积累:org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectio

启动时报错,原因如下:url=jdbc:informix-sqli://192.168.2.114:8888/test:INFORMIXSERVER=testdb1;NEWLOCALE=en_us;NEWCODESET=zh_cn.gb;中的字符集错误,应改为:url=jdbc:informix-sqli://192.168.2.114:8888/test:INFORMIXSERVER=tes...

2011-10-27 08:46:45 543

tomcat 调内存

一、java.lang.OutOfMemoryError: PermGen space 错误解决办法:修改TOMCAT_HOME/bin/catalina.sh 在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行: JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m 二、...

2011-10-27 08:46:18 91

Linux下nginx的安装

首先到nginx官方网站下载源码包 http://nginx.org/en/download.htmltar zxvf nginx_1_0_8_gzcd nginx_1_0_8_gzsudo ./configure --prefix=/opt/nginx_1_0_8     将nginx安装到/opt/nginx_1_0_8 其他的参数可以到 http://wiki.nginx.org/N...

2011-10-27 08:42:11 99

如何从网页中下载图片

如何从网页中下载图片如果做为爬虫很有必要从网页中下载图片到本地,那么我们利用jsoup来进行该操作,jsoup 是一个很不错的html解析器。网页中下载图片需要这么两步操作1.获取绝对路径很多网页中用的是相对路径,因此获取图片的绝对路径很重要方法一:我们就利用jsoup来获取Element image = document.select("img").first();...

2011-10-27 08:41:47 166

深入理解缓冲区(十七)

4.3.2 从buf与IO看改进---异步IO与IO相关的操作,如上图所示。其中,分为两种方式的读写:逻辑IO和物理IO。逻辑IO,是数据据访问层向缓存区读写数据的操作,请求数据,称为逻辑读;写入数据,称为逻辑写。物理IO,是数据缓冲区向外存读写数据的操作,请求数据,称为物理读;写入数据,称为物理写。物理层的读写,是通过smgr接口进行的。调用序列如下:Read...

2011-10-24 08:40:00 115

《Oracle编程艺术》学习笔记(18)-REDO和UNDO

REDOOracle维护着两类重做日志文件:在线(online)重做日志文件和归档(archived)重做日志文件。在线重做日志用于在出现电源故障(实例终止)时“修正”数据文件,而归档重做日志用于在出现硬盘故障时或者误操作删除数据时,配合数据文件备份“修正”数据文件。为什么需要重做日志文件->http://blog.csdn.net/fw0124/article/details/68...

2011-10-24 00:43:00 100

《Oracle编程艺术》学习笔记(17)-DEFERRABLE约束

默认情况下,完整性约束在整个语句得到处理后进行检查。但是可以创建延迟约束,把这个约束延迟到COMMIT或另外某个时间才检查。可以指定为· DEFERRABLE INITIALLY IMMEDIATE:创建可延迟的约束,但是初始状态是在语句级检查。INITIALLY IMMEDIATE也可以不写。· DEFERRABLE INITIALLY DEFERRED: 创建可延迟的约束,而且初始...

2011-10-24 00:36:00 167

《Oracle编程艺术》学习笔记(16)-事务持久性

通常情况下,事务提交后,它的改变就是持久的。即使提交后数据库崩溃,改变也永久存储到数据库中了。但是,有2种例外情况:1)使用COMMIT语句新增的WRITE扩展10gR2以上版本新增特性,包括下面2种选择· COMMIT [WORK] WRITE WAIT 等同于COMMIT,需要等待提交完成(完成向REDO日志文件的物理写入操作),即同步提交。· COMMIT [WORK] ...

2011-10-24 00:33:00 130

《Oracle编程艺术》学习笔记(15)-事务原子性

事务的四大特性:ACID· 原子性(atomicity):事务中的所有动作要么都发生,要么都不发生。· 一致性(consistency):事务将数据库从一种一致状态转变为下一种一致状态。· 隔离性(isolation):一个事务的影响在该事务提交前对其他事务都不可见。· 持久性(durability):事务一旦提交,其结果就是永久性的。语句级原子性下面的insert语句,如果由于c...

2011-10-24 00:31:00 155

《Oracle编程艺术》学习笔记(14)-写一致性

先解释2个概念:· 一致读(Consistent read):“发现”要修改的行时,所完成的获取就是一致读。· 当前读(Current read):得到块来实际更新所要修改的行时,所完成的获取就是当前读。可以通过tkprof报告看到每条语句一致读和当前读的统计。tkprof:http://blog.csdn.net/fw0124/article/details/6899162用...

2011-10-24 00:27:00 105

《Oracle编程艺术》学习笔记(13)-Oracle的并发与多版本控制

事务隔离级别ANSI/ISO SQL 标准定义了4 种事务隔离级别,这些隔离级别是根据3个“现象”定义的1)脏读(dirty read) 能读取未提交的数据,也就是脏数据。2)不可重复读(nonrepeatable read) 如果在T1时间读取某一行,在T2时间重新读取这一行时,这一行可能已经被修改,被删除,或者被更新等等。3)幻像读(phantom read) 如果在T...

2011-10-24 00:21:00 129

《Oracle编程艺术》学习笔记(12)-Oracle的锁

以下是对Oracle锁定策略的总结:· Oracle只在修改时才对数据加行级锁。正常情况下不会升级到块级锁或表级锁。· 如果只是读数据,Oracle 绝不会对数据锁定。不会因为简单的读操作在数据行上锁定。· 写入器(writer)不会阻塞读取器(reader)。换种说法:读(read)不会被写(write)阻塞。这一点几乎与其他所有数据库都不一样。在其他数据库中,读往往会被写阻塞。...

2011-10-23 23:26:00 175

《Oracle编程艺术》学习笔记(11)-Oracle进程

Oracle实例主要有3类进程(在Windows中,实际上是线程):·服务器进程(server process):这些进程根据客户的请求来完成工作。服务器进程包括专用服务器和共享服务器。http://blog.csdn.net/fw0124/article/details/6898693·后台进程(background process):这些进程随数据库而启动,用于完成各种维护任务,如将块...

2011-10-23 23:12:00 106

《Oracle编程艺术》学习笔记(10)-SGA,PGA和UGA

Oracle有3个主要的内存结构:系统全局区(System Global Area,SGA)是一个很大的共享内存段,几乎所有Oracle进程都要访问这个区中的某一点。进程全局区(Process Global Area,PGA)是一个进程或线程专用的内存,其他进程/线程不能访问。用户全局区(User Global Area,UGA):这个内存区与特定的会话相关联,保存会话的状态。如果使用共享服务器,...

2011-10-23 23:03:00 152

《Oracle编程艺术》学习笔记(9)-Oracle中的文件-数据文件

在 Oracle 中,可以用4 种文件系统机制存储数据。(一个数据库中可能包含下述所有类型文件)·“Cooked”操作系统(OS)文件系统这些文件存放在OS的文件系统中。可以使用OS工具来移动文件。Cooked 文件系统通常也会缓存,这说明在你读写磁盘时,OS会为你缓存信息。·原始分区(raw partitions,也称裸分区)这不是文件,而是原始磁盘。不能用OS工具查看其内容。它们就...

2011-10-23 22:55:00 104

《Oracle编程艺术》学习笔记(8)-Oracle中的文件-警告日志文件

告警文件位于BACKGROUND_DUMP_DEST参数指定的目录下,文件名alert_<ORACLE_SID>.log。另外,11g之后,警告文件还另外生成一个xml版本,位于如下语句指定的目录下:select * from v$diag_info where name='Diag Alert';11g之后,可以通过ADRCI工具(位于$ORACLE_HOME/bin目录...

2011-10-23 22:52:00 99

《Oracle编程艺术》学习笔记(7)-Oracle中的文件-Trace文件

如果一个系统的执行效率比较低,一个比较好的方法是通过跟踪用户的会话并且使用tkprof工具使用排序功能格式化输出,从而找出有问题的SQL语句。例如首先从os上利用top命令找到当前占用cpu资源最高的一个进程的PID号9999;然后在数据库中根据PID号找到相应的sid和serial#select s.sid,s.serial# from v$session s,v$process p...

2011-10-23 22:51:00 294

《Oracle编程艺术》学习笔记(6)-Oracle中的文件-参数文件

最重要的参数文件是数据库的参数文件,数据库的参数文件通常称为初始文件(init file),或init.ora文件。历史上它的默认名就是init<ORACLE_SID>.ora。从Oracle9i Release 1以来,对于存储数据库的参数设置,引入了一个有很大改进的新方法:服务器参数文件(server parameter file),或简称为SPFILE。这个文件的默认名为sp...

2011-10-23 20:24:00 123

《Oracle编程艺术》学习笔记(5)-Oracle中的文件

与实例相关的文件有:· 参数文件(parameter file):这些文件告诉Oracle实例在哪里可以找到控制文件,并且指定某些初始化参数,这些参数定义了某种内存结构有多大等设置。· 跟踪文件(trace file):这通常是一个服务器进程对某种异常错误条件做出响应时创建的诊断文件。· 警告文件(alert file):与跟踪文件类似,但是包含“期望”事件的有关信息,并且通过一个集中...

2011-10-23 20:22:00 122

《Oracle编程艺术》学习笔记(4)-Oracle体系结构

实例和数据库之间的关系数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。· 实例是一组后台进程(Unix/Linux下)/线程(Windows下)和共享内存。· 数据库是磁盘上存储的数据集合。· 实例“一生”只能装载并打开一个数据库。· 数据库可以由一个或多个实例(使用RAC)装载和打开。专用服务器模式和共享服务器模式Oracle服务器处理请求...

2011-10-23 20:19:00 268

《Oracle编程艺术》学习笔记(3)-SELECT FOR UPDATE SKIP LOCKED

考虑这么一个场景:等待处理的任务加入数据库某个表中,表的PROCESSED_FLAG列只有两个值:Y 和N。对于插入到表中的记录,该列值为N(表示未处理)。其他进程读取和处理这个记录时,就会把该列值从N更新为Y。位图索引适用于低基数(low-cardinality)列,所谓低基数列就是指这个列只有很少的可取值。但是这里并不适合。采用位图索引,一个键指向多行,可能数以百计甚至更多。如果更新一个位...

2011-10-23 19:47:00 166

《Oracle编程艺术》学习笔记(2)-开发成功的Oracle应用

Thomas Kyte在《Oracle编程艺术》这本书中总结了他的成功经验,摘录如下:成功经验总结:· 基于数据库(或依赖于数据库)构建的应用是否成功,这取决于如何使用数据库。另外,从我的经验看,所有应用的构建都围绕着数据库。如果一个应用未在任何地方持久地存储数据,很难想象这个应用真的有用。· 应用总是在“来来去去”,而数据不同,它们会永远存在。从长远来讲,我们的目标并不是构建应用,而...

2011-10-23 19:40:00 109

《Oracle编程艺术》学习笔记(1)-配置环境

1) SQL*Plus的login.sql 文件使用SQL*PLUS登陆时,SQL*PLUS会按照如下的顺序读取并执行脚本:· $oracle_home/sqlplus/admin/glogin.sql· 当前目录下的login.sql,或者设置一个环境变量SQLPATH(Windows下面通过注册表)来指定一个目录define _editor=viset serveroutput o...

2011-10-23 19:36:00 82

Data Guard 知识简介(一) 11g新特性、介绍及物理standby的配置

这篇文章主要从官方的Oracle 11g Data Guard Concepts and Administration和其它一些资料中摘一些相关的知识,来帮助理解Data Guard的体系结构。RAC 11.2 体系结构(三)http://blog.csdn.net/wildwave/article/details/6882567也讨论了关于Data Guard的一些概念,在这里,重复的部分将...

2011-10-23 00:53:00 218

深入理解缓冲区(十六)

4.3 PostgreSQL数据缓存区改进对于数据库的数据缓存区,PG采取的是在一块连续的数据块对应的内存中,进行局部缓存块的淘汰。当这样的缓冲区被分配好后,则不可再发生动态调整。PG的分配内存的整体方式,是把所有需要内存的都统一求出大小,在系统初始启动过程中,一次从内存中申请出硕大的一块区域,然后在这个区域上,划分出不同的小区域,为不同的内存需求者使用。这样,严重制约了内存动态使用的...

2011-10-21 08:30:00 156

深入理解缓冲区(十五)

4.2.3 双向缓存和单向缓存的比较 REDO缓存和REDO日志文件,前者是固定大小的区域,后者是一个线性的文件序列,如何使得固定区域和线性文件对应,是REDO缓存要解决的问题。这点,笔者在上一节进行了描述。 对于数据库的数据缓存,其缓存和外存的数据文件的对应关系,是少对多、一个对一个的关系;而日志缓存和日志文件的对应关系,是少对多、单个对线性序列的关系。要仔细体会这2者的不同,还需要很...

2011-10-20 09:33:00 126

Oracle中recyclebin的保留策略

我们知道,Oracle 10g引入了recyclebin的概念,当我们删除一个表的时候,若不指定purge,系统只是将这个表重命名为BIN$开头的名称,并在数据字典中修改相关的数据。 Administrator's Guide中是这么描述recyclebin的:recycle bin实际上是一个包含了删除的对象的相关信息的数据字典表。被删除的表以及相关的对象(比如索引、约束、嵌套表等等)并没有...

2011-10-19 17:20:00 156

深入理解缓冲区(十四)

4.2.2 日志缓存的管理方式日志缓存的管理,主要依赖于如下结构:typedef struct XLogCtlData{ /* Protected by WALInsertLock: */ XLogCtlInsert Insert; //标识插入位置 /* Protected by info_lck: */ XLogwrtRqst LogwrtRqst; //标识...

2011-10-19 08:40:00 108

RAC 11.2 体系结构(三)

Standby数据库 RAC主要是一个高可用和可扩展的解决方案,它的好处之一是在实例故障时,能保护系统不会因此导致服务丢失,这在单实例数据库中会导致非计划中断。 然而,RAC一般不能防止灾难性的站点故障,除非是长距离的集群,这在安装中非常少见。同样的,通常人为的失误会导致数据库逻辑上的错误,比如以下的操作:删除表并禁用flashback table功能、使用不正确的where条件来...

2011-10-18 15:19:00 116

深入理解缓冲区(十三)

4.2 PostgreSQL日志缓冲区管理前述介绍的buf,是一种双向的缓存,即“向外存发出读请求à读入数据到缓冲区”和“缓冲区中的数据被更新à写出到外存”。在PostgreSQL系统中,还存在一种单向缓存,是REDO日志的缓存,此种缓存,是系统启动时读日志文件建立的,在运行过程中,缓存数据库引擎操作产生的RODO日志数据,然后按照一种规则,不断从内存刷出数据到外存,方向是从内到外,...

2011-10-18 08:37:00 207

深入理解缓冲区(十二)

4.1.6 并行计算对buf置换的影响并行计算对buf置换的影响,是指在多用户状态下,对buf中的缓存块同时读写时缓冲区的调度、处理、需要考虑的问题等等。假设,A、B是三名仓库管理员,各管着100个仓库,每个仓库装入、取出哪个货主的货物,由管理员负责管理分配A管理员,当有货主想取货物时,A都带着货主去每个仓库辨认一下货物是否是货主的,如是,则给货主支取;当有货主想存货物时,A都去...

2011-10-17 08:25:00 177

RHEL5.6下安装RAC11.2.0.3

操作系统和存储环境linux版本:[root@rac1 ~]# lsb_release -aLSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-...

2011-10-16 20:28:00 166

中美护照之对比

美国护照中写着:不管你身处何方,美国政府都是你强大的后盾。在中国护照中写着:请严格遵守当地的法律,并尊重那里的风俗习惯。 四川话解释:美国说:只要外面有人欺负你,招呼一声,老子马上召集兄弟伙弄他!中国说:出去耍注意安全,听人家话,少给老子惹麻烦...

2011-10-14 09:16:59 391

微软面试100题2010年版全部答案集锦

微软等数据结构+算法面试100题全部答案集锦作者:July、阿财。时间:二零一一年十月十三日。引言 无私分享造就开源的辉煌。 今是二零一一年十月十三日,明日14日即是本人刚好开博一周年。在一周年之际,特此分享出微软面试全部100题答案的完整版,以作为对本博客所有读者的回馈。 一年之前的10月14日,一个名叫July 的人在一个叫csdn的论坛上开帖分享微软等公司数据结构+算法面试10...

2011-10-13 15:25:00 520

Step by Step——Google Map View

今天参照Android Api里的Hello Views来学习GMap,不想,Api里好多错误,囧so,我在这里贴出正确的代码,供大家参考TODO(1):显示Map(Creating a Map Activity)step1:创建一个新的工程step2:由于Maps library不是标准库里的东东,SO,要在AndroidManifest.xml文件中加上一个library:...

2011-10-13 09:30:05 117

专家视角看IT与架构

软件产业目前的状态很混乱,开发成本越来越高,质量却越来越差。云计算所给出的承诺和具体实现还有相当大的差距: 最近,在Batler小组的讨论会中举行了一场题为“业务流程管理和面向服务的架构”的座谈,得出的结论认为,只有公有云才是真正能够节省成本的方法,但是它还不够透明,中型和大型企业暂时还无法考虑把它作为节省IT成本的解决方案。当前在行业中有很多这样的宣传性的说法,但是它们能够解决真正的问题吗? 真...

2011-10-13 01:49:00 70

消失的共享锁

消失的共享锁原文地址:http://sqlblog.com/blogs/paul_white/archive/2010/10/31/read-committed-shared-locks-and-rollbacks.aspx译者:在SQL SERVER中,不同事务隔离级别下,获取共享锁的情况亦不同:1) Read Uncommitted下不申请共享锁。2) Read C...

2011-10-13 00:54:00 75

【笔记】游戏引擎需要关注什么?

一、游戏引擎的几大块1、光影效果,即场景中的光源对处于其中的人和物的影响方式。游戏的光影效果完全是由引擎控制的,折射、反射等基本的光学原理以及动态光源、彩色光源等高级效果都是通过引擎的不同编程技术实现的。2、动画,目前游戏所采用的动画系统可以分为两种:一是骨骼动画系统,一是模型动画系统,前者用内置的骨骼带动物体产生运动,比较常见,后者则是在模型的基础上直接进行变形。引擎把这两种动画系统预h...

2011-10-13 00:35:00 78

基于浏览器的Linux

QEMU模拟器项目创始人Fabrice Bellard开发了在JavaScript中运行的模拟器,允许用户在浏览器上(支持Firefox 4和Google Chrome 11)启动Linux。现在,另一位开发者修改了Fabrice Bellard的JS/Linux,允许模拟器启动较新的内核版本linux kernel 3.0.4,同时支持永久储存。 开发...

2011-10-13 00:31:00 206

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除