- 博客(12)
- 收藏
- 关注
原创 数据库的隔离级别以及脏读,不可重复读和幻读
数据库的隔离性:多个事务并发执行时,事务之间不能相互干扰。(其本质就是线程安全的问题).隔离性和并发性其实是相悖的,隔离是为了保证数据的准确,并发是为了保证事务的执行效率。如果多个事务之间隔离性越强,并发程度就越低,效率就越低;多个事务之间隔离性越弱,并发程度就越高,效率就越高。但是在不同的场景下,对于数据的准确性要求不一样,就可以在满足数据准确要求的前提下尽可能的提高并发程度。并发执行事务时可能产生的恶果(脏读,不可重复读,幻读)脏读事务中的修改,即使没有提交,对其他事务也都是可见的
2020-07-29 11:47:33
377
1
原创 数据库的事务基本概念
解决的问题数据表保存了一些人的账户余额接下来进行 甲向乙转账5000元此过程两个步骤 1.甲的账户余额减去5000 2.乙的账户余额增加5000如果1 执行成功 但是在执行2 的时候执行失败,此时甲的余额减少而乙的余额并没增加.出现这样的情况就需要事务来解决事务:把一组操作封装到一起.成为了一个共同的执行单元.事务的基本特性:ACID1.原子性 事务中的若干个操作要么全部执行成功,要么就全部执行失败.全部执行失败的过程就是一旦某一个步骤执行出现问题就把前面的已经执行完毕的步骤回滚回去,
2020-07-29 10:13:22
206
原创 什么是数据库中的索引
数据库的索引索引是什么?数据库中的表,数据,索引之间的关系就和图书,书籍内容和书籍目录的关系是一样的.数据库的索引(index)就好比书的目录.能帮助我们快速定位检索数据,来提高查找效率.索引要解决的问题因为针对数据库顺序查找,数据库的数据在磁盘上,磁盘访问速度更慢,并且数据量也可能非常多,速度就会很慢,引入索引就是防止顺序查找查找效率非常低索引可以考虑的数据结构1.哈希表哈希表的查找效率是O(1)数据库的索引可以考虑哈希,但是SQL语句有很多逻辑关系,例如范围查找和大于等于等
2020-07-28 22:56:31
331
原创 算法题--二叉树重建
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重 复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。前序遍历的第一个节点是root,它可以将中序遍历的结果划分为两部分,左子树和右子树根据中序遍历左子树和右子树的元素个数可以将前序序列划分为划分成左右子序列.左右子树可递归生成最后重建二叉树 public TreeNode reBuildTree (int[]pr
2020-07-28 00:28:25
123
原创 JVM相关的一些面试题
1.Student s = new Student(); 在内存中做了哪些事情?加载Student.class文件进内存在栈内存为s开辟空间在堆内存为学生对象开辟空间对学生对象的成员变量进行默认初始化对学生对象的成员变量进行显示初始化通过构造方法对学生对象的成员变量赋值学生对象初始化完毕,把对象地址赋值给s变量2.Student s = new Student();其中s这个引用是在堆上还是在栈上?不知道.因为这个代码看不出来t是局部变量还是一个成员变量.引用类型有可能在栈上,也有可
2020-07-27 11:25:31
108
原创 面试常见算法题2--字符串替换和链表反转
1.请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字 符串为We%20Are%20Happy替换后的字符串整体变长了,所以要进行字符串的移动,空格替换成%20,是一换三.可以先统计原来字符串中空格的个数(n),然后可以计算出新字符串的长度.new = old + 2*n;我们可以定义一个new和一个old各自指向新老字符串的结尾,然后让old向new移动 如果是空格放入依次放入02%,如果不是空格 往后平移即可.public c
2020-07-26 23:50:26
201
原创 面试常见算法题1--数组相关,降低时间复杂度
1.在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数这是一道数组操作问题。首先我们要知道查找的过程本质就是排除的过程。这道题如果用循环遍历查找的话,简单但是效率过低。所以不妨思考一下什么样的查找效率会变高数组示例: 2 3 4 5 3 4 5 6 4 5 6 7此二维数组有序排列,每行与每列都是递增的,所以我们可以通过比较右上角与
2020-07-26 21:42:28
460
原创 面试考点--JVM是什么以及JVM中的内存区域划分
JVM是什么?JVM(Java Virtual Machine的简称。意为Java虚拟机。):指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。 JVM的初心是为了跨平台 一次开发到处运行,其作用类似于一个翻译官。JVM能够屏蔽系统的差异,如果一种新发明出来的语言想跨平台,就可以直接借助JVM来完成,而无需自己考量。现在看来JVM存在的意义已经不仅仅是为了跨平台, 而是提供了一个生态圈 。jvm中的内存区域划分(面试考点)1.JVM中的内存从哪来?来自于操作系统。J
2020-07-26 21:03:32
178
原创 面试复习--黑盒测试常见方法
黑盒测试设计测试用例的方法有哪些1.等价类把输入(特殊情况下才考虑输出) 划分成若干个等价类,从每一个等价类中选择一个测试用例如果该测试用例测试通过,我们就说这个测试用例代表的等价类测试通过.目的:为了解决测试用例不能穷举的情况有效等价类 :针对系统输入有意义的数据无效等价类:针对系统输入或者需求无意义的数据例: 网易邮箱账户登录 6-18个字符,可以使用字母数字下划线有效等价类:1.6-18个字母; 6-18数字; 6-18下划线2.字母与数字混合; 字母与下划线混合;数字与下划线混
2020-07-26 12:19:58
1121
原创 测试开发面试复习1--什么是软件测试?
1.什么是软件测试?a.验证软件是否满足用户的需求;b.评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量;c.检验是否满足规定的需求或弄清预期结果与实际结果之间的差别.2.测试和研发的区别?首先测试与研发时的调试的区别1)目的不相同;测试的任务是发现程序中的缺陷调试的任务是定位并且解决程序中的问题.2)参与角色不同;测试主要是由测试人员和开发人员来执行,黑盒测试主要由测试人员完成,单元/集成测试主要是由开发人员执行.调试是由开发人员完成的.3)执行阶段不相同;测试贯穿整个
2020-07-03 17:10:48
260
原创 Java入门学习--数据类型
类型是对变量的种类进行了划分, 不同的类型的变量具有不同的特性。数据类型划分为基本数据类型和引用数据类型基本数据类型:数值型(byte,short,int,long,float,double);字符型(char);布尔型(boolean)引用数据类型:String,数组,类,枚举,接口这些类型最基本用法如下所示:public class ShuJuZifu {public stat...
2020-05-26 10:19:03
116
原创 Java学习1--初识冯诺依曼体系
1. 冯诺依曼体系结构2.冯诺依曼体系的构成冯诺依曼结构由五大部分组成分别为输入设备,输出设备,运算器,控制器和存储器(1)输入设备:用于把原始数据和处理这些数的程序输入到计算机中。例如键盘,鼠标,摄像头。(2)输出设备:用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。例如显示器,打印机,绘图机。(3)运算器:基本功能是完成对各种数据的加工处理,例如算术四则运算,与、或...
2020-02-27 17:22:39
356
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人