随笔分类 - java面试题
常见的Java面试题
摘要:3.1 说一说你对数据库事务的了解 事务可由一条非常简单的SQL语句组成,也可以由一组复杂的SQL语句组成。在事务中的操作,要么都执行修改,要么都不执行,这就是事务的目的,也是事务模型区别于文件系统的重要特征之一。 事务需遵循ACID四个特性: A(atomicity),原子性。原子性指整个数据库事
阅读全文
摘要:InnoDB引擎与MyISAM引擎的区别 ? InnoDB支持事务,MyISAM不支持事务 InnoDB支持行级锁,表级锁,MyISAM只支持表级锁 InnoDB支持外键,MyISAM不支支持外键 InnoDB为什么选择B+Tree作为索引结构? 对于二叉树,有可能形成链表结构,数据量大的情况下,B
阅读全文
摘要:2.21 请介绍TreeMap的底层原理 TreeMap基于红黑树(Red-Black tree)实现。映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。TreeMap的基本操作containsKey、get、put、remove方法
阅读全文
摘要:2.1 Java中有哪些容器(集合类)? java中的集合主要由Collection 和Map两个接口派生而出,Collection又派生出List,Set两个子接口。java中所有集合类都是List ,Set,Map的实现类 List集合 有序 可重复,有索引 Set集合 无序 不重复,无索引 M
阅读全文
摘要:1.36 遇到过异常吗,如何处理? 在Java中,可以按照如下三个步骤处理异常: 捕获异常 将业务代码包裹在try块内部,当业务代码中发生任何异常时,系统都会为此异常创建一个异常对象。创建异常对象之后,JVM会在try块之后寻找可以处理它的catch块,并将异常对象交给这个catch块处理。 处理异
阅读全文
摘要:1.21 说一说hashCode()和equals()的关系 hashCode用于获取哈希值,equal用于确定两个对象是否相等 如果两个对象相等,则他们必须拥有相同的哈希值 两个对象哈希值相等,则他们未必相等 1.22 为什么要重写hashCode()和equals()? Object类提供的eq
阅读全文
摘要:1.11 int和Integer有什么区别,二者在做==运算时会得到什么结果? int是基本数据类型,Integer是包装类型,在==运算时integer会自动拆箱为int类型 1.12 说一说你对面向对象的理解 面向对象并不是一种技术,而是一种编程思想 把现实中的事物看成一个个对象来解决问题 按照
阅读全文
摘要:1.1 为什么Java代码可以实现一次编写、到处运行? 跨平台的是Java程序,JVM是跨平台的关键 在程序运行前,Java程序需要经过编译器编译为字节码文件,在程序运行时,JVM会将字节码文件翻译为机器语言并运行 java程序只需经过一次编译,然后在不同平台下安装对应版本的JVM,就能将字节码文件
阅读全文
摘要:算法描述: 1.前提:已排序的长度为n的数组A(假设已存在)2.定义左边界low = 0,右边界high = n - 1,确定查找的范围。循环执行3,4步骤3.获取中间索引 mid=(low + high)/ 24.比较中间索引的值 A[mid] 与待查找元素 t ① 若A[mid] == t ,则
阅读全文