`
brilon
  • 浏览: 21641 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论
文章列表
ThreadLocal最常用的场景:一个对象并非是线程安全的,但是你想让每个线程中访问的该对象是唯一的,不会和其他线程冲突,那么你就要用到ThreadLocal了。 举个简单的例子,比如SimpleDateFormat对象,不是线程安全的,假设该对象在多线程访问下会出问题,发生冲突,那么应该让每个线程只获取到唯一的该对象的实例,而且彼此线程不能访问对方的该实例。 package com.example; import java.text.SimpleDateFormat; import java.util.Date; public class DateFormat { ...
JCS是一个对象Cache,它可以把Java对象缓存起来,提高那些访问频率很高的Java对象的存取效率。 如果要对一个持久对象做缓冲,就是在hbm的class标签前面加一行: <jcs-cache usage="read-only"/> <jcs-cache usage="read-write"/> 这是一个只读缓冲,只对Read操作做缓冲,也可以用read-write,对update也进行缓冲,不过不能用在集群环境中。 例如: <?xml version="1.0"?> &l ...
http://oracle.chinaitlab.com/induction/787876.html 在Oracle数据库中,创建索引虽然比较简单。但是要合理的创建索引则比较困难了。笔者认为,在创建索引时要做到三个适当,即在适当的表上、适当的列上创建适当数量的索引。虽然这可以 ...
1.       事务处理和并发性 1.1.       基础知识和相关概念 1)全部的表类型都可以使用锁,但是只有InnoDB和BDB才有内置的事务功能。 2)使用begin开始事务,使用commit结束事务,中间可以使用rollback回滚事务。 3)在默认情 ...
  InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQL与Oracle不同,后者是通过在数据块中对相应数据行加锁来实现的。InnoDB这种行锁实现特点意味着:只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁! 在实际应用中,要特别注意InnoDB行锁的这一特性,不然的话,可能导致大量的锁冲突,从而影响并发性能。下面通过一些实际例子来加以说明。 (1)在不通过索引条件查询的时候,InnoDB确实使用的是表锁,而不是行锁。 在如表20-9所示的例子中,开始tab_no_index表没有索引:   mysql> create t ...
作者:丹臣 | 【转载时请务必以超链接形式标明文章原始出处和作者信息及本声明】 地址:http://rdc.taobao.com/blog/dba/html/110_innodb_row_lock_current_waits.html MySQL innodb存储引擎使用与oracle相同的行锁机制,对如何查看系统中存在的行锁情况在下面的实验中,将可以看到。下面是测试过程: session 1:更新记录 mysql> set autocommit=off; Query OK, 0 rows affected (0.01 sec) mysql> update t1 set emai ...
效率上,union all比union更好一点.因为union在执行的时候会把结果集进行排序并删除重复的记录,而union all则会把两个结果集原封不动地合并在一起.
序列化 的应用:     * 1.        永久性保存对象,保存对象的字节序列到本地文件中;     * 2.        通过序列化对象在网络中传递对象;     * 3.        通过序列化在进程间传递对象。
⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 ⑵深复制(深克隆) 被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制把要复制的对象所引用的对象都复制了一遍。 Java的clone()方法 ⑴clone方法将对象复制了一份并返回给调用者。一般而言,clone()方法满足: ①对任何的对象x,都有x.clone() !=x//克隆对象与原对象不是同一个 ...
Global site tag (gtag.js) - Google Analytics