自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 理解数据库之Mysql的共享锁与排他锁、行锁与表锁

共享锁共享锁又称为读锁,简称S锁,顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。排他锁排他锁又称为写锁,简称X锁,顾名思义,排他锁就是不能与其他所并存,如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获取排他锁的事务是可以对数据就行读取和修改。注意区别共享锁就是指多个事务只能读数据而不能修改数据...

2019-06-19 23:34:29 1085

原创 理解数据库之事务与其隔离级别

一、事务的四大特性原子性原子性是指事务包含的操作要么全部成功,要么全部失败回滚。一致性一致性是指事务必须使数据库从一个一致性状态变换为另一个一致性状态,也就是说事务执行之前和执行之后都必须处于一致性状态。以A、B两个用户转账为例,无论如何转账,两个用户的总金额和是不变的。隔离性隔离性是指当多个用户访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务所干扰,多...

2019-06-19 23:32:53 216

原创 求解:一个数组中除了某个数字出现一次,其它均出现两次,求出该数?

如题,其要求给出最优的时间与空间复杂度。---- 2019年春招珍爱网笔试题1. 哈希法新建一个数组,目的存储数组元素出现的次数,其数组长度大小为(n/2+1)。为防止在进行hash求索引时,数组越界,可以通过取模得到索引下标。时间复杂度O(n)、空间复杂度O(n)public int soultion1(int[] num){ int[] a = new int[n...

2019-06-19 23:10:32 465

原创 理解数据库之设计范式

1. 第一范式(指原子性,不可分割)数据库第一范式是指数据库中的每一列都是不可分割的原子值。例如设计地址字段时,如有需求需要经常访问地址中的城市,街道等信息时,就要把该字段继续分割。2. 第二范式(指非主属性必须完全依赖于主属性)数据库第二范式是指所有非主属性列都应该完全依赖于主属性,而不是只依赖主属性的一部分,这是在联合主键的情况下。在一个订单表中,一个订单可包含多个产品,那么该订单表的主...

2019-06-17 23:31:51 177

原创 理解数据库之悲观锁和乐观锁

数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。而乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。概念乐观锁和悲观锁可以说是一种思想,一种人们为了解决并发控制带来的问题而定义好的策略。这里需要注意的是千万不能将乐观锁和悲观锁的概念狭义地理解为数据库中提供的锁机制,例如行锁、表锁、...

2019-06-17 23:30:09 294

原创 理解数据库之索引类型

索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。常见的索引类型有:哈希表、有序数组、搜索树哈希表哈希表是一种以键 - 值(key-value)存储数据的结构,我们只要输入待查找的值即 key,就可以找到其对应的值即 Value。哈希的思路很简单,把值放在数组里,用一个哈希函数把 key 换算成一个确定的位置,然后把 value 放在数组的这个位置。不可避免地,多个 key 值经过...

2019-06-17 23:27:42 277

原创 理解JVM之GC垃圾回收器

GC主要用于回收、释放垃圾占用的空间。需要回收的内存有哪些我们知道,线程私有区域为程序计数器、本地方法栈、虚拟机栈。这些区域的数据随着线程的启动创建,随着线程的结束而销毁。虚拟机栈里的栈帧随着方法的进入顺序执行着入栈和出栈操作,一个栈帧需要多少内存取决于具体虚拟机实现并且在编译期间就已确定下来。当方法和线程执行完毕后,内存就会随着回收,因此无需担心。而java堆和方法区不一样。方法区存放着类...

2019-06-16 23:20:57 560

原创 理解JVM之内存模型JMM

JMM内存模型图java内存模型就是一种符合内存模型规范的,屏蔽了各种硬件和操作系统的访问差异,保证了Java程序在各种平台下对内存的访问都能保证效果一致的机制和规范。目的是保证并发编程场景中的原子性、可见性和有序性。根据java虚拟机规范,java虚拟机管理的内存将分为下面五大区域。五大内存区域图中黄色块为线程的共享区域,紫色块为线程的私有区域。堆堆是java虚拟机管理内存最大的一...

2019-06-16 23:08:33 244

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除