事务的特征ACID,即原子性、一致性、隔离性、持久性。
原子性(Atomic)保证一个事务为一个最小的单元,内部不可分割;
一致性(Consistency)保证事务中的每个操作线程不可单独提交,成功则一起提交,不成功则事务回滚;
隔离性(Isolation)保证不同事务间看到的数据视图相互独立,相互隔离(隔离级别可设置);
持久性(Durability)保证事务提交后数据会持久的保存下来; More …
想必用Java的人都用过JDK的容器类吧,什么List, Set, Map啦。每天这些代码在全世界成千上万的JVM里面运行,每天数以万记的程序员在使用这些类。你知道这些这么cool的代码是谁写的吗?是Joshua Bloch。他以前是在Sun工作,现在跳到Google了,Google是无敌了。他可是大师级别的人物了。虽说他是大师但是人家也在写代码,所以这样的人的文章必定是脚踏实地。而非有些只会动嘴皮子,开会的时候在白板上画出一堆框框线线然后让别人来coding的“专家”。虽然自己写了多年Java也设计了不少东西,但是自己从他的经验和设计上还也实实在在受到了不小的帮助。虽说这是01年的采访,但是内容仍旧值得一读,我把这篇采访翻译了一下(Joshua Bloch: A conversation about design – JavaWorld)。下面就来听听别人采访他关于设计方面的对话。作为Java开发者,我把自己的注释用/**/来标示:) More …
在Java语言中,equals()和hashCode()两个函数的使用是紧密配合的,你要是自己设计其中一个,就要设计另外一个。在多数情况 下,这两个函数是不用考虑的,直接使用它们的默认设计就可以了。但是在一些情况下,这两个函数最好是自己设计,才能确保整个程序的正常运行。最常见的是当 一个对象被加入收集对象(collection object)时,这两个函数必须自己设计。更细化的定义是:如果你想将一个对象A放入另一个收集对象B里,或者使用这个对象A为查找一个元对象在收集对象B里位置的钥匙,并支持是否容纳,删除收集对象B里的元对象这样的操作,那么,equals()和hashCode()函数必须开发者自己定义。其他情 况下,这两个函数是不需要定义的。 More …
经常在论坛上面看到覆写hashCode函数的问题,很多情况下是一些开发者不了解hash code,或者和equals一起用的时候不太清楚为啥一定要覆写hashCode。 More …
话说EmEditor我用了好几年。在我看来对于非专业程序员,EmEditor可以称得上是Win平台下最为完美的编辑器,因为它在速度、功能、易用性和扩展性上都达到了相当平衡的高水准。 More …
Tracert(跟踪路由)是路由跟踪公用程式,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP错误消息来确定从一个主机到网路上其他主机的路由。 More …
IPv4的IP地址长度为4字节,通常采用点分十进制表示法(dotted decimal representation)例如0xc0a80002表示为192.168.0.2。Internet被各种路由器和网关设备分隔成很多网段,为了标识不同的网段,需要把32位的IP地址划分成网络号和主机号两部分,网络号相同的各主机位于同一网段,相互间可以直接通信,网络号不同的主机之间通信则需要通过路由器转发。 More …