自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL

单列索引和联合索引单列索引是指在表的某一列上创建索引,联合索引是在多个列上联合创建索引。单列索引可以出现在where条件的任何位置,而联合索引需要按照一定的顺序来写。在多条件查询的时候,联合索引的效率更高,我们联合索引也最多创建两列。我们创建索引的时候也得考虑到我们这张表的更新频率,如果表里索引比较多的话是比较影响更新速度的,因为创建索引的过程其实就是构建一个二叉树,而每次更新完数据都得重新计算二叉树,所以就影响更新速度。索引并不是时时都会生效的,比如以下几种情况就能导致索引失效:如果条件中有or

2020-09-27 19:08:44 63

原创 RabbitMQ面试题

1:什么是RabbitMQRabbitMQ是Erlang语言开发的基于AMQP的一款的消息中间件,核心思想是生产者不会将消息直接发送给队列,消息在发给客户端时会先发给交换机,然后再有交换机发送给对应的队列。对路由,负载均衡,数据持久化都有很好的支持2:消息队列的作用于使用场景异步:批量数据异常处理(批量上传文件)削峰:高负载任务负载均衡(电商秒杀抢购)解耦:串行任务并行化(退货流程解耦)广播:基于Pub/Sub实现一对多通信3:为什么使用MQ?MQ的有点异步处理-相对比较传统的串行,

2020-09-23 16:27:35 572

原创 线程的基本方法

**线程相关的基本方法有 wait,notify,notifyAll,sleep,join,yield 等线程等待(wait) 调用该方法的线程进入 WAITING 状态,只有等待另外线程的通知或被中断才会返回, 需要注意的是调用 wait()方法后,会释放对象的锁。因此,wait 方法一般用在同步方法或 同步代码块中。线程睡眠(sleep) sleep 导致当前线程休眠,与 wait 方法不同的是 sleep 不会释放当前占有的 锁,sleep(long)会导致线程进入 TIMED-WATING

2020-09-22 21:43:35 121

翻译 创建线程有几种方式

继承 Thread 类 Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。启动线 程的唯一方法就是通过 Thread 类的 start()实例方法。start()方法是一个 native 方 法,它将启动一个新线程,并执行 run()方法。实现 Runnable 接口 如果自己的类已经 extends 另一个类,就无法直接 extends Thread,此时,可以实现 一个 Runnable 接口。实现 Callable 接口Callabled 接口有

2020-09-21 07:59:26 83

原创 对于Map的理解

Correction、Set、List 接口都属于单值的操作,而 Map 中的每个元素都使用 key——>value 的形式存储在集合中。 Map 集合:该集合存储键值对。一对一对往里存。而且要保证键的唯一性Map 接口的常用子类 **Map** ——HashMap:底层数据结构是哈希表,允许使用 null 值和 null 键,该集合是不 同步的。将 hashtable 替代,jdk1.2.效率高。 ——TreeMap:底层数据结构是二叉树。线程不同步。可以用于给 map 集合中.

2020-09-21 07:40:58 351

原创 常见的数据结构

数组数组是最常用的数据结构,数组的特点是长度固定,可以用下标索引,并且所有的 元素的类型都是一致的。数组常用的场景有:从数据库里读取雇员的信息存储为 EmployeeDetail[ ];把一个字符串转换并存储到一个字节数组中便于操作和处理等等。尽量 把数组封装在一个类里,防止数据被错误的操作弄乱。另外,这一点也适合其他的数据结构列表列表和数组很相似,只不过它的大小可以改变。列表一般都是通过一个固定大小的 数组来实现的,并且会在需要的时候自动调整大小。列表里可以包含重复的元素。常用的 场景有,添加一行新

2020-09-20 19:45:01 181

原创 Spring中IOC的理解

(1)IOC控制反转转,是指创建对象的控制权的转移,以前创建对象的主动权 和时机是由自己把控的,而现在这种权力转移到 Spring 容器中,并由容器根据配置文件去 创建实例和管理各个实例之间的依赖关系,对象与对象之间松散耦合,也利于功能的复用。 DI 依赖注入,和控制反转是同一个概念的不同角度的描述,即 应用程序在运行时依赖 IoC 容器来动态注入对象需要的外部资源。(2)最直观的表达就是,IOC 让对象的创建不用去 new 了,可以由 spring 自动 生产,使用 java 的反射机制,根据配置文件在

2020-09-20 19:29:37 107

原创 Spring中AOP的理解

AOP:一般被称为面向切面编程,作为面向对象的异种补充,用于讲那些与业务无关,但却对多个对象产生影响的公共行为逻辑,抽取并封装为一个可重用的模块,这个模块被命名为“切面“(Aspect),减少系统中的重复代码,降低了模块间的耦合度,同时提高了 系统的可维护性。可用于权限认证、日志、事务处理AOP实现关键在于代理模式(静态代理和动态代理)静态代理(AspectJ),就是AOP框架会在编译阶段生成AOP代理类,所以称为编译时增强,他会在编译阶段将AspectJ(切面)织入到 Java 字 节码中,运行的时候

2020-09-20 19:14:07 86

原创 springcloud中组件的介绍

依赖于其他组件并为它们提供服务Ribbon:客户端负载均衡器Hystrix:客户端容错保护,断路器(服务熔断),请求缓存,请求合并等等Stream:消息驱动,有Processor,Sink,Source三种通道。特性有发布订阅,消息区分,消费组Bus:消息总线,配合Config仓库修改的一种Stream实现独自启动不需要依赖其他的组件及常用组件Eureka:注册中心,特性有失效剔除、服务保护,可以用 Zookeeper 和 Consul 代替Zuul:API服务网关,功能有路由分发和过滤,可以

2020-09-17 21:16:38 70

原创 对于SpringMVCL执行流程的理解

**## SpringMVC执行流程图 **详细介绍1:)用户发送请求至前端控制器 DispatcherServlet2:)DispatcherServlet 收到请求后,调用 HandlerMapping 处理器映射器,请 求获取 Handle3:)处理器映射器根据请求 url 找到具体的处理器,生成处理器对象及处理器拦截 器(如果有则生成)一并返回给 DispatcherServlet4:)DispatcherServlet 调用 HandlerAdapter 处理器适配器5:)Hand

2020-09-17 20:19:56 94

空空如也

空空如也

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

TA关注的人

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