`
文章列表

XA分布式事务

   在谈到 XA 规范之前,必须首先了解分布式事务处理( Distributed Transaction Processing , DTP )的概念。 Transaction ,即事务,又称之为交易,指一个程序或程序段,在一个或多个资源如 数据库 或文件上为完成某些功能的执行过程的集合。   分布式事务处理是指一个事务可能涉及多个数据库操作,分布式事务处理的关键是必须有一种方法可以知道事务在任何地方所做的所有动作,提交或回滚事务的决定必须产生统一的结果(全部提交或全部回滚)。   X/Open 组织(即现在的
Vector 类提供了实现可增长数组的功能,与ArrayList类似,会对比这两个进行讲解。  属性: protected Object[] elementData;  存储数据对象,与ArrayList一样,底层存储都是数组对象 protected int elementCount;  vector数据元素个数,小于等于elementData,ArrayList用的是size protected int capacityIncrement;  vector数组容量扩容是增长大小,默认为0,ArrayList没有该参数,每次按照0.5的进行扩展。 创建  VectorAPI ...
   ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小,下面将从ArrayList的属性及相关方法进行概述 属性 private transient Object[] elementData;  为实际数据的存储对象,可以看出ArrayList实际存储数据对象为对象数组,所以ArrayList实际为对对象数组操作的封装,从这里我们也可以看出ArrayList没有容量限制。  private int size;  当前对象数组中已经存在元素 ...
由一组类和接口组成的Java集合框架(JCF)它是封装数据结构和算法。JCF的作用:1、向集合中装纳对象,装纳的对象被称为元素。           2、为我们提供元素的算法实现。           3、利用集合进行对象的传输(减 ...
前面翻译过一篇类似的文章,发现讲的不够透彻,这篇是一篇扩展型的文章。     本文注意结合buffer类的API解析buffer内部的机制,并且只介绍读写,其他的请参考buffer的原代码,自己可以进行分析【可能后续也有相关的补充】,本文使用的实现类为ByteBuffer 。      也可以看看我翻译blog了解下buffer的基本东西      http://xianglp.iteye.com/blog/1842063     缓冲区是能原始数据类型的数组包装对象,Buffer类比数组的最大好处为它将数据的信息和数据内容封装到唯一的对象中。Buffer类和它的实现子类定义了处理数 ...
  原文连接:http://tutorials.jenkov.com/java-nio/scatter-gather.html      Jave NIO支持scatter/gather(分散/聚集),scatter/gather的概念用于描述从通道里面读取和写入通道。      从通道里面分散读是在读操作的时候,读取的数据被写入多 ...
 http://tutorials.jenkov.com/java-nio/buffers.html  还可以看 java NIO buffer核心解析       Java缓冲区(Buffers )与通道(Channels)同时使用。正如我们所了解的,数据从通道(Channels)读入到缓冲区(Buffers ),从缓冲区(Buffers )写入到通道(Channels)。      缓冲区(Buffers )本质上是一个内存块,可以在里面写入,然后从里面读取。内存块并包装成NIO buffer对象,并有提供一系列方法使操作内存块变的简单。      一系列的NIO buffer ...
    原文http://tutorials.jenkov.com/java-nio/channels.html        Java NIO通道(Channel)与流(streams)有些类似,但还是有所差异:     (1):通道你既可以写也可以读,而流只能一种方式(读或者写)。     (2):通道可以异步的读写。     (3):通道只能从缓冲区里进行读写。     如上所述,你可以从通道里将数据读入到缓冲区里,也可以从缓冲区里将数据写入到通道。图示如下:         Channel Implementations(通道的实现)     Java NIO最重 ...
   原文:http://tutorials.jenkov.com/java-nio/index.html       Java NIO(New IO)是可以替代标准java IO API的IO API(从java 1.4开始)。Java NIO提供了与标准IO不同的IO工作方式。      Java NIO: Channels and Buffers(通道和缓冲区)      标准的IO是在字节流和字符流进行操作。NIO在通道(Channel)和缓冲区(Buffer)进行操作。数据总是从通道读取到缓冲区里,或者从缓冲区写入到通道里。      Java NIO: Asynchron ...
  翻译:http://tutorials.jenkov.com/java-nio/nio-vs-io.html      当研究学习java NIO与标准IO的API时,一个问题马上涌入脑海:我应该什么时候使用NIO,什么时候使用IO,      本文中我将阐述Java NIO和标准IO之间的差异,它们的使用场景,及它们在您代码设计中的影响。      java NIO与IO的主要差异      下表将总述java NIO与IO的差异,我讲在表格后面详细讲述各个部分的差异。 Java  标准IO Java NIO 面向流(Stream oriented) 面向缓冲区 ...
最近在给同事分析短信工程的时候,发现没有调用返回,但是有取值更新的过程,开始以为是代码问题,后来才发现原来是用的NIO的相关东西,NIO以前很久就注意到了,但是没有具体用过,趁这次机会将NIO的相关东西整理。 最近也加入了两个群一个是oracleDBA和hadoop,两个群分别提到了一些问题,有简单和复杂的,有些我知道,有些我只听说过。 oracleDBA群,这个群里面有高手,也有菜鸟【PS:我也是个菜鸟】:群里说到的问题有count函数,count函数是否会计算null值,count(常数)与count(*)有无差异,日志种类【redo,alter,trc,archive 】及日志的作 ...
       sleep()使当前线程进入停滞状态(阻塞当前线程),让出CUP的使用、目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会,他不能改变对象的机锁,所以当在一个Synchronized块中调用Sle ...
今天在本器中想分析下执行计划,但是在sqlplus中输入set autotrace on 报cannot set autotrace 错误 解决方法如下: 首先必须采用用Oracle的sqlplus登陆sys账号 sqlplus " sys/sys@XXX as sysdba " 然后执行如下脚本: @?\sqlplus\admin\plustrce.sql (创建plustrace角色并授权)    @?\rdbms\admin\utlxplan.sql (创建执行计划的表) 执行过程如下   SQL> @?\sqlplus\admin\plust ...
在JavaScript中可以用下面的几种方法申明对象: 1.直接使用{} var myObject = {} ; 2.使用function function myObject() { .... } 3.函数字面量 var myObject = function(){} ;   4.使用object 对象: var myObject = new object();   java 创建数组的方式 1.使用关键字Array创建。 var array=new Array(); array[0]="0"; array[1]=&q ...
    Java语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。其中同步块 (或方法)可以使用关键字synchronized或使用java.util.concurrent.lock 中的类 ReentrantLock。 这里我们只介绍synchronized,其他的将陆续的介绍。    (1):为什么要采用synchronized等方式来同步。         这主要和java内存模型(简称JMM),它分为主内存区(一般为 ...
Global site tag (gtag.js) - Google Analytics