摘要:
数据库事务ACID原则 数据库事务正确执行的四个原则:A原子性、C一致性、I独立性、D持久性 原子性 整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没发生过一样 一致性 事务开始之前和事务结束后,数 阅读全文
摘要:
Spring中Bean的生命周期 在说明前可以思考一下Servlet的生命周期:实例化,初始init,接收请求service,销毁destroy; Spring上下文中的Bean也类似,如下 1、实例化一个Bean--也就是我们常说的new; 2、按照Spring上下文对实例化的Bean进行配置-- 阅读全文
摘要:
硬链接和软链接的区别 在Linux上,一个文件被分为两部分(如图一):用户数据 (user data) 与元数据 (metadata)。 inode号:即索引节点号, 它是文件元数据的一部分,也是文件的唯一标识而非文件名。 通过文件名打开文件时: 硬链接 文件有相同的 inode 及 data bl 阅读全文
摘要:
说一下几种常见的排序算法和分别的复杂度 倒排一个LinkedList Collecionts.reverse(List<?> list) 什么是跳表 听到跳表(skiplist)这个名字,既然是list,那么应该跟链表有关。 跳表是有序链表,但是我们知道,即使对于排过序的链表,我们对于查找还是需要进 阅读全文
摘要:
Java中常见的锁分类 常见的锁分类大致有:排它锁、共享锁、乐观锁、悲观锁、分段锁、自旋锁、公平锁、非公平锁、可重入锁等。 a.排他锁和共享锁 synchronized就是一个排他锁,ReentrantLock也是一个排它锁,而ReentrantReadWriteLock则是一个 读共享锁,写排他锁 阅读全文
摘要:
谈谈你对解析与分派的认识 解析 Java中方法调用的目标方法在Class文件里面都是常量池中的符号引用,在类加载的解析阶段,会将其中的一部分符号引用转化为直接引用。(关于符号引用与直接引用,详见【深入理解JVM】:Class类文件结构)这种解析的前提是:方法在程序真正运行之前就有一个可以确定的调用版 阅读全文
摘要:
实例方法和静态方法有什么不一样 1.在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。 而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。 2.静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许 访问实例成员 阅读全文