为什么需要锁(并发控制)?
在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。
典型的冲突有:
l 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。
l 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改为2,用户A读到的值仍为6。
为了解决这些并发带来的问题。 我们需要引入并发控制机制。 More …
锁( locking )
业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中 (可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的 “ 锁 ” ,即给我们选定的目标数据上锁,使其无法被其他程序修改。
Hibernate 支持两种锁机制:即通常所说的 “ 悲观锁( Pessimistic Locking) ”和 “ 乐观锁( Optimistic Locking) ” 。 More …
我感觉这个需要很长时间的练习才能达到你想要的效果,因为我的声音就是偏低,越想高越感觉憋在嗓子里发不出声音。
也曾请教过一些老师,自我感觉这样可以改善:
如果先天条件不是“洪钟型”的,就没有必要因为这个而不自信,越因为这个紧张可能越发不出自然而洪亮的声音。特别是在公众场合和需要声音大的场合,不自信可能会带来更多的尴尬。 More …
软件包管理
在GNU/Linux(以下简称Linux)操作系统中,RPM和DPKG为最常见的两类软件包管理工具,他们分别应用于基于RPM软件包的Linux发行版本和DEB软件包的Linux发行版本。软件包管理工具的作用是提供在操作系统中安装,升级,卸载需要的软件的方法,并提供对系统中所有软件状态信息的查询。
RPM全称为Redhat Package Manager,最早由RedHat公司制定实施,随后被GNU开源操作系统接受并成为很多Linux系统(RHEL)的既定软件标准。DEB是基于Debian操作系统(UBUNTU)的DEB软件包管理工具-DPKG,全称为 Debian Package。 More …
学习知识首先要从基础学起,不如说现在很多人在学习Linux操作系统,学习Linux就要先了解一些Linux命令,本文介绍Linux关机/重启命令的知识。常用的Linux关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令。 More …
这里讲的切换到root用户,并不是在图形界面中用root权限打开文件浏览器,而是直接在命令行中获得root权限。
该方法我已经测试过了,可以很好的执行。
众所周知,UNIX/LINUX拥有很多丰富的命令,这些命令均是直接通过命令行的方式执行的,其强大而丰富的功能绝非鼠标在界面点击所能比的。下面分享一个非常简单的命令,在命令行状态下切换到root用户。 More …
此系列文章译自SUN的泛型编程指南, 看不懂译文的请看原文
http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf
一、绪言
JDK1.5对JAVA语言进行了做了几个扩展,其中一个就是泛型。 More …
软件包管理
在GNU/Linux(以下简称Linux)操作系统中,RPM和DPKG为最常见的两类软件包管理工具,他们分别应用于基于RPM软件包的Linux发行版本和DEB软件包的Linux发行版本。软件包管理工具的作用是提供在操作系统中安装,升级,卸载需要的软件的方法,并提供对系统中所有软件状态信息的查询。
RPM全称为Redhat Package Manager,最早由RedHat公司制定实施,随后被GNU开源操作系统接受并成为很多Linux系统(RHEL)的既定软件标准。DEB是基于Debian操作系统(UBUNTU)的DEB软件包管理工具-DPKG,全称为 Debian Package。 More …
A:RPM包,这种软件包就像windows的EXE安装文件一样,各种文件已经编译好,并打了包,哪个文件该放到哪个文件夹,都指定好了,安装非常方便,在图形界面里你只需要双击就能自动安装。 More …