- 博客(120)
- 收藏
- 关注
原创 数据库的常用锁机制是什么?
在MyISAM中只用到表锁,不会有死锁的问题,锁的开销也很小,但是相应的并发能力很差。innodb实现了行级锁和表锁,锁的粒度变小了,并发能力变强,但是相应的锁的开销变大,很有可能出现死锁。乐观锁一般是指用户自己实现的一种锁机制,假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。表锁和行锁都分为共享锁和排他锁(独占锁),而更新锁是为了解决行锁升级(共享锁升级为独占锁)的死锁问题。
2023-05-17 23:13:46
67
原创 数据库的ACID原则是什么?
事务隔离分为不同级别,包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)。一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被恢复(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。)在写入或更新资料的过程中,为保证。
2023-05-17 23:13:00
122
原创 解析Redis数据库。
Redis 是一个基于内存的高性能 key-value 数据库。是完全开源免费的,用C语言编写的,遵守BSD协议。Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启可以再次加载,但可能会有极短时间内数据丢失。Redis 支持多种数据结构,String,list,set,zset,hash等。Redis 是基于内存操作的,吞吐量非常高,可以在 1s内完成十万次读写操作。Redis 的读写模块是单线程,每个操作都具原子性。判断key是否存在,存在返回1,不存在返回0。清空当前数据库(缓存)
2023-05-17 23:10:49
58
原创 什么是Redis持久化技术?
redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式写入文件)。RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。Redis的所有数据都是保存在内存中,redis崩掉的话,会丢失。
2023-05-17 23:10:23
61
原创 jvm内存模型
在我们垃圾回收的时候,我们往往将堆内存分成新生代和老生代(大小比例1:2),新生代中由Eden和Survivor0,Survivor1组成,三者的比例是8:1:1,新生代的回收机制采用复制算法,在Minor GC的时候,我们都留一个存活区用来存放存活的对象,真正进行的区域是Eden+其中一个存活区,当我们的对象时长超过一定年龄时(默认15,可以通过参数设置),将会把对象放入老生代,当然大的对象会直接进入老生代,老生代采用的回收算法是标记整理算法。堆内存 = 新生代+老生代+持久代。
2023-04-14 13:30:58
55
原创 Cryptography加密和Realm领域的作用?
也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro 会从应用配置的 Realm 中查找用户及其权限信息。从这个意义上讲,Realm 实质上是一个安全相关的 DAO:它封装了数据源的连接细节,并在需要时将相关数据提供给 Shiro。Shiro 内置了可以连接大量安全数据源(又名目录)的 Realm,如 LDAP、关系数据库(JDBC)、类似 INI 的文本配置资源以及属性文件等。加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储;
2023-04-12 23:14:38
74
原创 什么是安全框架?Apache Shiro和Spring Security对比?
什么是安全框架?Apache Shiro和Spring Security对比?
2023-04-11 15:57:33
110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人