- 博客(34)
- 收藏
- 关注
原创 0. Spring中核心概念详解(看源码必备)
BeanDefinitionBean的定义,在Spring中,我们可以如何去定义一个Bean?@Bean@Component(@Service,@Controller)还有就是可以通过BeanDefinition比如,我们可以通过定义一个BeanDefinition对象来表示定义了一个Bean:// 定义了一个BeanDefinitionAbstractBeanDefinition beanDefinition = BeanDefinitionBuilder.genericBeanD
2021-12-07 10:15:50 196
原创 2. Spring中Bean的生命周期详解(下)
Spring中的“父子”父子类父子BeanDefinition父子BeanFactory父子ApplicationContext父子类父子类是Java中的概念,在Spring中,当给某个类创建Bean的过程中,Spring不仅仅会对本类中的属性进行自动注入,同时也会对父类的属性进行自动注入。父子BeanDefinition父子BeanDefinition是Spring中的概念,Spring在根据BeanDefinition创建Bean的过程中,会先看当前BeanDefinition是否存
2021-12-06 07:34:45 390
原创 1. Spring中Bean的生命周期详解(上)
Spring最重要的功能就是帮助程序员创建对象(也就是IOC),而启动Spring就是为创建Bean对象做准备,所以我们先明白Spring到底是怎么去创建Bean的,也就是先弄明白Bean的生命周期。Bean的生命周期就是指:在Spring中,一个Bean是如何生成的,如何销毁的?Bean的生成过程1. 生成BeanDefinitionSpring启动的时候会进行扫描,会先调用Resource[] resources = getResourcePatternResolver().getResou
2021-12-03 18:42:36 377
翻译 2.zookeeper客户端使用与集群特性
主要内容:客户端 zookeeper客户端简介,C客户端 客户端连接参数说明 客户端CRUD 客户端监听 集群 集群架构说明 集群配置及参数说明 选举投票机制 主从复制机制 一、客户端API常规应用zookeeper 提供了java与C两种语言的客户端。我们要学习的就是java客户端。引入最新的maven依赖:<dependency> <groupId>org.apache.zook...
2021-11-01 22:00:57 421
翻译 1.zookeeper 特性与节点说明
主题概要zookeeper概要、背景及作用 部署与常规配置 节点类型一、zookeeper概要、背景及作用zookeeper产生背景:项目从单体到分布式转变之后,将会产生多个节点之间协同的问题。如:每天的定时任务由谁哪个节点来执行? RPC调用时的服务发现? 如何保证并发请求的幂等 ....这些问题可以统一归纳为多节点协调问题,如果靠节点自身进行协调这是非常不可靠的,性能上也不可取。必须由一个独立的服务做协调工作,它必须可靠,而且保证性能。zookeepe.
2021-11-01 21:58:16 517
原创 深入理解MVCC与BufferPool缓存机制
MVCC多版本并发控制机制Mysql在可重复读隔离级别下如何保证事务较高的隔离性,我们上节课给大家演示过,同样的sql查询语句在一个事务里多次执行查询结果相同,就算其它事务对数据有修改也不会影响当前事务sql语句的查询结果。这个隔离性就是靠MVCC(Multi-Version Concurrency Control)机制来保证的,对一行数据的读和写两个操作默认是不会通过加锁互斥来保证隔离性,避免了频繁加锁互斥,而在串行化隔离级别为了保证较高的隔离性是通过将所有操作加锁互斥来实现的。Mysql在读
2021-10-11 22:12:26 88
原创 深入理解Mysql事务隔离级别与锁机制
概述我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机制、MVCC多版本并发控制隔离机制,用一整套机制来解决多事务并发问题。接下来,我们会深入讲解这些机制,让大家彻底理解数据库内部的执行原理。事务及其ACID属性事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID
2021-10-11 22:08:24 225
原创 Mysql索引优化实战二
分页查询优化示例表:CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', `age` int(11) NOT NULL DEFAULT '0' COMMENT '年龄', `position` varchar(20) NOT NULL DEFAULT '' COMMENT '职位', `hire_time`
2021-10-06 13:05:34 1060
原创 Mysql索引优化实战一
示例表1 CREATE TABLE `employees` (2 `id` int(11) NOT NULL AUTO_INCREMENT,3 `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名',4 `age` int(11) NOT NULL DEFAULT '0' COMMENT '年龄',5 `position` varchar(20) NOT NULL DEFAULT '' COMMENT '职位',6 `hire_time` ti
2021-10-04 22:36:22 89
原创 一条SQL在MySQL中是如何执行的
MySQL的内部组件结构大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Server层主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。Store层存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB,它
2021-10-04 22:27:21 154
原创 Mysql-索引原理与Explain详解
以下内容仅供本人使用Explain工具介绍使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈 在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是 执行这条SQL注意:如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中Explain分析示例参考官方文档:https://dev.mysql.com/do...
2021-09-29 22:19:22 116
原创 RockMQ练习01
//异步发送public class AsyncProducer { public static void main( String[] args) throws MQClientException, InterruptedException, UnsupportedEncodingException { //生产者实例化 DefaultMQProducer producer = new DefaultMQProducer("async.
2021-09-13 22:52:14 128
翻译 RocketMQ的安装
RocketMQ的下载官方下载地址http://rocketmq.apache.org/dowloading/releases/RocketMQ的windows下的安装1、解压及运行前环境使用运行版本(Binary)运行前确保:已经有jdk1.8, maven的配置`2、配置环境变量:变量名:ROCKETMQ_HOME变量值:MQ解压路径\MQ文件夹名启动1.启动NAMESERVER Cmd命令框执行进入至‘MQ文件...
2021-08-19 00:55:18 276
翻译 RocketMQ-01
RocketMQ消息队列 RocketMQ 是阿里巴巴集团基于高可用分布式集群技术,自主研发的云正式商用的专业消息中间件,既可为分布式应用系统提供异步解耦 和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性,是阿里巴巴双 11 使用的核心产品。RocketMQ 的设计基于主题的发布与订阅模式,其核心功能包括消息发送、消息存储(Broker)、消息消费,整体设计追求简单与性能第一。NameServer 设计及其简单,RocketMQ 摈弃了业界常用的 Zookeeper
2021-08-19 00:47:32 702
翻译 mybatis 源码
mybatis 源码1.MyBatis 源码概述1.1 源码架构分析MyBatis 源码共 16 个模块,可以分成三层,如下图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TGeed6Nm-1628520669468)(C:\Users\吴蔚\AppData\Roaming\Typora\typora-user-images\image-20210809214815826.png)]基础支撑层:技术组件专注于底层技术实现,通用性较强无业务含义;核心处理层:业务组
2021-08-09 22:52:51 625
原创 面经1
自我介绍?找一个觉得话题多的项目着重介绍一下?一致性hash有了解吗?解决什么问题?如何实现?map打印key和value的方法有几种?为什么List可以转成Stream而map和set不行?map.put(“123”,"AB“); map.put(new String(“123”),“BC”);map.get(“123”)的值是多少?hashmap中的key如何确定唯一?线程有几种状态?Thread.sleep(n)和obj.wait()有什么区别?(从线程状态改变来聊)执行完Threa
2021-06-08 21:44:28 57
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人