- 博客(10)
- 收藏
- 关注
原创 java面试中几个常见概念的对比
1、lock和synchronize区别悲观锁: 每次去拿数据的时候都认为别人会修改。所以每次在拿数据的时候都会上锁。这样别人想拿数据就被挡住,直到悲观锁被释放。乐观锁: 每次去拿数据的时候都认为别人不会修改。所以不会上锁,不会上锁!但是如果想要更新数据,则会在更新前检查在读取至更新这段时间别人有没有修改过这个数据。如果修改过,则重新读取,再次尝试更新,循环上述步骤直到更新成功。可重入锁: 允许同一个线程多次获取同一把锁。例如递归方法加锁。公平锁: 先申请的先得到,非常公平非公平锁: 后申请的线
2021-06-12 08:57:16
110
原创 Spring源码学习笔记-bean加载
1、总体流程2、转换对应的beanName由于入参name不一定就是beanName,所以需要转换一下;主要有如下转换内容:2.1、去除FactoryBean修饰符‘&’获取bean是通过FactoryBean.getObject();name = “&nane”表示获取对应的FactoryBean本身;而name="nane"表示获取获取nane对应的bean;即FactoryBean.getObject(); 方法的返回;2.2、别名转为beanName因为用户传入的n
2021-05-02 21:19:58
146
原创 Redis学习笔记-持久化
1、方式RDB(快照):先把数据拷贝出来,做个备份;AOF(日志):某时某点的日志记录.2、RDB(快照)RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发 RDB持久化过程分为手动触发和自动触发。2.1、触发方式2.1.1、手动触发save命令:阻塞当前Redis服务器,直到RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,线上环境不建议使用。·bgsave命令:Redis进程执行fork操作创建子进程,RDB持久化过程由子进程负责,完成后自动结束。阻塞只发生在fork阶段
2021-04-11 18:21:13
146
原创 Redis学习笔记-数据内部存储方式
1、概述Redis的RedisObject的数据结构:typedef struct redisObject { // 对外的类型 string list set hash zset等 4bit unsigned type:4; // 底层存储方式 4bit unsigned encoding:4; // LRU 时间 24bit unsigned lru:LRU_BITS; // 引用计数 4byte int refcount;
2021-04-10 22:08:43
381
原创 MySQL学习总结-索引概述
索引是排好序的快速查找数据结构!索引会影响where后⾯的查找,和order by 后⾯的排序。1、索引分类全局索引(FULLTEXT): 目前只有 MyISAM 引擎支持全局索引,它的出现是为了解决针对文本的模糊查询效率较低的问题。哈希索引(HASH): 哈希索引是 MySQL 中用到的唯一 key-value 键值对的数据结构,很适合作为索引。HASH 索引具有一次定位的好处,不需要像树那样逐个节点查找,但是这种查找适合应用于查找单个键的情况,对于范围查找,HASH 索引的性能就会很低。B-Tr
2021-04-03 16:37:17
198
原创 MySQL学习总结-基础架构概述
1、总述MySQL可以分为Server层和存储引擎层Server层: 包括大多数 MySQL 中的核心功能,所有跨存储引擎的功能也在这一层实现,包括存储过程、触发器、视图等。存储引擎层: 包括 MySQL 常见的存储引擎(MyISAM、InnoDB和Memory 等),最常用的是InnoDB,也是现在MySQL的默认存储引擎。存储引擎也可以在创建表的时候手动指定。2、连接器用于连接用户和MySQL数据库。1、用户发起连接(mysql -u 用户名 -p 密码);2、连接器会根据用户输入的用户
2021-04-03 11:04:17
3013
3
原创 Oracle数据库索引原理分析
1、相关概念介绍统计信息:描述数据库中表,索引的大小,规模,数据分布状况等的一类信息。执行计划:一条查询语句在Oracle中的执行过程或访问路径的描述,即执行查询语句的逻辑或方式HINT:开发人员控制执行计划的接口,可以给sql语句执行具体的执行计划2、详细介绍Oracle在执行查询语句的时候,会根据统计信息对sql进行评估,选择出最有的执行计划去执行sql语句。所以是否选择使用索引,和...
2019-06-23 16:12:30
1467
原创 Python自定义爬虫示例
1、示例说明python版本:Python3.7操作系统:win10 64位爬虫类:HTMLParser思路:利用栈,把标签入栈出栈的方式遍历标签2、修改主要方法2.1、标签开始时调用的方法 handle_starttag标签开始处,把标签入栈,标签属性入栈 def handle_starttag(self, tag, attrs): ...
2019-04-22 21:39:13
534
原创 MySQL分组统计-每组各个条件信息条数
需求:统计各个班级中,学生总数、男生数、女生数表结构:数据如下:知识点:if语句:IF(where,result1,result2)实现如下:...
2019-04-09 21:00:08
4858
原创 Shell脚本导出导入MySQL建表语句
Shell脚本导出导入MySQL建表语句一、导出sql语句1、需求:2、shell脚本如下:二、导入sql语句1、需求2、shell实现13、shell实现2一、导出sql语句1、需求:1.1、根据数据库表名,把不同的数据库建表语句导入不同的文件夹中,1.2、每个表的建表语句生成单个文件2、shell脚本如下:#!/bin/bash### 数据库连接,用户名:root, 密码:roo...
2019-03-22 21:28:27
2191
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人