JNDI 技术与JDBC技术的结合 简要的例子
摘要:JNDI 技术与JDBC技术的结合既然有那么多的优点,那么我们该如何做呢?RowSet 包提供了这方面的功能JNDI 技术与JDBC技术结合的原理如下: 使用JDBC和JNDI 技术,编写一个提供数据库服务的组件,然后将它出版到某个中间层服务器中,侦听服务请求。接下来我们可以编写Java 应用程序查找提供数据库服务的组件,一旦查找到它(组件) ,就可以利用它提供的各种方法执行特定的数据库操作。RowSet 包定义的DataSource 接口提供了建立数据库连接的JNDI 支持。具体的方法如下1 首先创建一个Java 类SampleDataSource 该类扩展了javax..sql.DataS
阅读全文
JavaBean和企业Bean的区别
摘要:JavaBean 和 Server Bean(通常称为 Enterprise JavaBean (EJB))有一些基本相同之处。它们都是用一组特性创建,以执行其特定任务的对??获得其它特性的能力。这使得 bean 的行为根据特定任务和所在环境的不同而有所不同。 Enterprise Bean 与 JavaBean 不同。JavaBean 是使用 java.beans 包开发的,它是 Java 2 标准版的一部分。JavaBean 是一台机器上同一个地址空间中运行的组件。JavaBean 是进程内组件。Enterprise Bean 是使用 javax.ejb 包开发的,它是标准 JDK 的
阅读全文
转:基于Java事务模型的事务策略
摘要:[导读]事务对于确保数据的完整性与一致性是至关重要的。要想完全理解事务,必须得熟悉一些基本概念、模型还有策略。Mark Richards说到“混淆事务模型与事务策略是个常见错误”。 事务对于确保数据的完整性与一致性是至关重要的。要想完全理解事务,必须得熟悉一些基本概念、模型还有策略。Mark Richards说到“混淆事务模型与事务策略是个常见错误”。这篇文章谈到了“Java 平台所支持的三种事务模型并对基于这些模型的四种主要事务策略展开了讨论。通过使用Spring Framework及Enterprise JavaBeans(EJB)3.0的一些示例,Mark介绍了事务模型的工作方式及他们
阅读全文
ByteBuffer分散和聚集的应用场景
摘要:分散/聚集 I/O 对于将数据划分为几个部分很有用。例如,您可能在编写一个使用消息对象的网络应用程序,每一个消息被划分为固定长度的头部和固定长度的正文。您可以创建一个刚好可以容纳头部的缓冲区和另一个刚好可以容难正文的缓冲区。当您将它们放入一个数组中并使用分散读取来向它们读入消息时,头部和正文将整齐地划分到这两个缓冲区中。 我们从缓冲区所得到的方便性对于缓冲区数组同样有效。因为每一个缓冲区都跟踪自己还可以接受多少数据,所以分散读取会自动找到有空间接受数据的第一个缓冲区。在这个缓冲区填满后,它就会移动到下一个缓冲区。
阅读全文
转:JAVA内存映射文件
摘要:解释:将文件的一段区域映射到内存中,比传统的文件处理速度要快很多参考:无格式输入流 110秒缓冲输入流 9.9秒随机存取文件 162秒内存映射文件 7.2秒例子Java代码 packagetwelve;importjava.io.BufferedInputStream;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStream;importjava.io.RandomAccessFile;importjava.nio.M
阅读全文
Direct or Non-direct ByteBuffer
摘要:转载于:http://crmky.spaces.live.com/Blog/cns!8C989768DB1A6B14!458.entry?sa=254330365这两种类型的ByteBuffer相信大家都知道,但是两者的区别在什么地方呢?在不同的环境下采用哪种类型的ByteBuffer会更有效率呢?先解释一下两者的区别: Non-direct ByteBuffer内存是分配在堆上的,直接由Java虚拟机负责垃圾收集,你可以把它想象成一个字节数组的包装类,如下伪码所示: HeapByteBuffer extends ByteBuffer { byte[] content; int positio
阅读全文
转:Java NIO 详解
摘要:!-- [if gte mso 10] 上图就是这个项目的总体结构图,从图中可以看出该程序分为这几大块:连接侦听线程、连接对象队列、发送线程池、接收线程池、分发线程、事件处理对象、监控处理对象。下面我将描述下整个连接处理过程:1、 连接侦听线程循环接收一个连接请求,如果有连接请求过来,则返回一个连接Socket对象,否则该线程就阻塞等待,直到有一个连接请求过来。2、 封装该返回的Socket对象(主要是封装获取完整包数据,发送方法,关闭方法等)成Connection对象,并把封装好的Connection对象放入连接对象队列。3、 分发线程不停的轮询连接对象队列,如果发现有可接收数据的连接对
阅读全文
摘录:Java NIO trick and trap
摘要:摘录自淘宝Java中间件团队的博客Java NIO trick and trapNIO神话使用NIO = 高性能 NIO不一定更快的场景 客户端应用 连接数<1000 并发程度不高 局域网环境下NIO完全屏蔽了平台差异 NIO仍然是基于各个OS平台的IO系统实现的,差异仍然存在使用NIO做网络编程很容易 离散的事件驱动模型,编程困难 ...
阅读全文
转:String的一些东东
摘要:1. 首先String不属于8种基本数据类型,String是一个对象。 因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。 2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null; 3. String str=”kvill”; String str=new String (“kvill”);的区别: 在这里,我们不谈堆,也不谈栈,只先简单引入常量池这个简单的概念。 常量池(constant pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括了关
阅读全文
abstract的方法是否可同时是static,是否可同时是native,是否可同时是synchronized?
摘要:1、abstract与static (what) abstract:用来声明抽象方法,抽象方法没有方法体,不能被直接调用,必须在子类overriding后才能使用 static:用来声明静态方法,静态方法可以被类及其对象调用 (how) static与abstract不能同时使用 (why) 用static声明方法表明这个方法在不生成类的实例时可直接被类调用,而abstract方法不能被调用,两者...
阅读全文
转:volatile和synchronized的区别
摘要:volatile和synchronized的区别:1.volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取;synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。2.volatile仅能使用在变量级别;synchronized则可以使用在变量、方法、和类级别的3.volatile仅能实现变量的修改可见性,并能保证原子性;而synchronized则可以保证变量的修改可见性和原子性4.volatile不会造成线程的阻塞;synchronized可能会造成线程的阻塞。5.volatile标记的变量不会被编译器优化;syn
阅读全文
转:深入浅出 Java Concurrency
摘要:转:深入浅出 Java Concurrencyhttp://www.blogjava.net/xylz/archive/2010/07/08/325587.html
阅读全文
转:java内存模型
摘要:java内存模型:http://dingchaoqun12.blog.163.com/blog/static/11606250420105433853901/(原本准备把内存模型单独放到某一篇文章的某个章节里面讲解,后来查阅了国外很多文档才发现其实JVM内存模型的内容还蛮多的,所以直接作为一个章节的基础知识来讲解,可能该章节概念的东西比较多。一个开发Java的开发者,一旦了解了JVM内存模型就能够...
阅读全文
java多线程中等待线程与被阻塞线程的区别
摘要:当线程试图获取一个内部的对象锁(不是java.util.concurrent库中的锁),而锁被其它线程占有,则该线程进入阻塞状态。当线程等待另外一个线程通知调度器的一个条件的时候,它自己进入等待状态。在调用Object.wait()或Thread.join()方法,或者等待java.util.concurrent库中的Lock或Condition时,会出现等待状况。
阅读全文
转:JAVA集合框架思考
摘要:jungleford如是说 对于Java集合框架(Java Collections Framework,JCF),Java玩家大概都不会陌生,在C++里面相似的概念是标准模板库(Standard Template Library,STL),主要是对一些数据结构和相关算法的封装。前段时间在J2SE版看到一个关于Java集合框架的问题,当时re了一下,简单解释了一些的概念,考虑到这是一个Java初学者...
阅读全文