`
小张三
  • 浏览: 67822 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
ACID,指数据库的 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库系统,必需要具有这四种特性,否则在事务过程(Transaction processing)当中,无法保证 ...
    Session的缓存被称为hibernate的第一级缓存。       Session缓存的三大作用:   减少数据库的访问频率,提高访问性能 保证缓存中的对象与数据库同步,位于缓存中的对象称为持久化对象 当持久化对象之间存在关联时,Session保证不出现对象图的死锁      Session如何判断持久化对象的状态改变呢?      Session加载对象后会为对象值类型的属性复制一份快照。当Session清理缓存时,比较当前对象和它的快照就可以知道哪些属性发生了变化。      Session什么时候清理缓存? commit()方法被调用 查 ...
    什么样的数据适合放到第二级缓存中?       1.很少被修改的数据     2.不是很重要的数据,允许出现偶尔并发的数据     3.不会被并发访问的数据       不适合存放到第二级缓存的数据?       1.经常被修改的数据     2.财务数据,绝对不允许出现并发     3.与其他应用共享的数据       Hibernate的二级缓存       第二级缓存是一个可拔插的缓存插件,它是有SessionFactory负责管理。由于SessionFactory对象的生命周期和应用程序的整个过程对应,因此第二级缓存是进程范围或集群范围的缓存。 ...
     缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。       缓存的介质一般是内存,所以读写数据很快。但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质。缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访问和缓存数据的生命周期。       Hibernate的换成包括Session的缓存和SessionFactory的缓存,其中SessionFactory的缓存又可以分为两类:内置 ...
MySQL Server 5.0.18 http://dev.mysql .com/downloads/mysql /5.0.html 下载MySQL Server,并安装在本地机器上。 下面两个为Windows图形界面工具。 MySQL Query Browser 1.1.20 http://dev.mysql .com/downloads/query-browser/1.1.html MySQL Control Center 0.9.4 http://my ...
    在Java中利用代理(Proxy)可以在运行时创建一个实现了一组给定接口的新类。        在系统程序设计中,有时需要面对无法确定接口,却需要构造对象的情况。以前为了解决此问题,有些程序根据动态确定的接口,生成Java类文件,然后调用类加载器构造该对象,然后使用,这样一来无可避免性能问题。通过代理类,能够在不额外创建Java文件的情况下构造对象及调用该对象方法。       使用代理的理由有很多,其中就有如下的情况:     1.路由对远程服务器的方法调用     2.在程序运行期间,将用户接口事件与行动关联起来     3.调试时跟踪方法调用        以下举 ...
    在进行JUnit进行对象比较时,有一个可行的方案,就是比较对象的所有成员变量值的组合,以下提供了一个通用的对象的toString()重载方法: /** * @author Administrator * @version 1.0 2009/10/07 * @reason 分析对象即其父类的非Static的Field的類型和值 * */ package com.cn.reflection; import java.lang.reflect.AccessibleObject; import java.lang.reflect.Array; import ...
1.创建一个最简单的枚举类型 创建枚举类型要使用enum关键字,隐含了所创建的类型都是java.lang.Enum类的子类,它是抽象类。其中,枚举类型符合通用模式 Class Enum<E extends Enum<E>> ,而 E 表示枚举类型的名称。枚举类型的每一个值都将映射到 protected Enum(String name, int ordinal) 构造函数中,在这里,每个值的名称都被转换成一个字符串,并且序数设置表示了此设置被创建的顺序。   public enum Size{ SMALL, ...
初始化的顺序是先“静态”,(如果它们尚未因前面的对象创建过程而被初始化),后“非静态”。 具体的创建过程: 1.当首次创建某个类对象的时候,或者该类的静态方法/静态域首次被访问时,Java解释器必须查找该类的路径,以定位该类的class文件。 2.然后载入该class(创建一个Class对象),有关静态初始化的动作都会执行。静态初始化只在Class对象首次加载的时候进行一次。   例如:按照出现顺序执行初始化动作 static int n1 = f(1); static{ n3 = f(3); //静态域的初始化语句不必担心非法向前引用,但是如果是访 ...
    源自《图兰朵》:       是什么在每天白昼死去,却在夜晚重新诞生?                                                        -----希望(对她的希望)       是什么有如火焰般燃烧,但当你死去,它就变得冰冷?                                                        -----热血(温暖她冷酷的心)       让你燃起烈火的冰块是什么?                                   -----她
最近在项目中遇到一个问题,要求程序在 runtime 阶段动态创建一个类的实例。很自然的便想到用 JAVA 类反射机制,下面是一个简单例子,来说明应用方法。本例中使用 Constructor 动态获取类的含参构造方法。 package com.zxn.example; import java.lang.reflect.Constructor; public class MainClass { public static void main(String[] args) { try { // find the class and ...
   当我们在利用'=='比较基本类型时,比较的是值    但是==运算符用于比较包装器对象时,是检测对象是否值向同一个存储区域。因此以下的比较通常不成立:   Integer a = 1000; Integer b = 1000; if(a == b)...      但是Java实现却有可能让它成立:(将1000改为100) Integer a = 100; Integer b = 100; if(a == b)...    这是为什么呢?    原来在此处涉及自动打包操作,将int类型自动打包成Integer类型。而自动打包规范要求boolean,b ...
由于static语句块先于main方法执行,因此可设计一个不用main方法即可打印输出的HelloWorld程序   public HelloWorld { static { System.out.print("Hello World!"); System.exit(0); } }  如果没有System.exit(0),会报运行时错误的哦
bin = BINaries /dev = DEVices /etc = ETCetera /lib = LIBrary /proc = PROCesses /sbin = Superuser BINaries /tmp = TeMPorary /usr = Unix Shared Resources /var = VARiable ? FIFO = First In, First Out GRUB = GRand Unified Bootloader IFS = Internal Fie ...
  使用JChooser获取新建文件时文件后缀名:   /** * @author Henry * @create 2009-9-30 */ package com.cn.dom4j; /** * @author Henry * */ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import javax.swing.JFrame; import javax.swing.JFileChooser; imp ...
Global site tag (gtag.js) - Google Analytics