面试题记录
文章平均质量分 58
面试题记录
小码哥222
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
(一)rabbitMQ 5种模式与实例
众所周知,RabbitMq的交换机和队列的绑定方式有3种Fanout Exchange– 不处理路由键。你只需要简单的将队列绑定到交换机上。一个发送到交换机的消息都会被转发到与该交换机绑定的所有队列上。很像子网广播,每台子网内的主机都获得了一份复制的消息。Fanout交换机转发消息是最快的。Direct Exchange– 处理路由键。需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配。这是一个完整的匹配。如果一个队列绑定到该交换机上要求路由键 “dog”,则只有被标记为“dog原创 2020-11-27 01:11:51 · 525 阅读 · 0 评论 -
(四)RabbitMQ高级部分——应用与面试
1.消息堆积概念:当消息生产的速度 长间内远远大于消费速度时。就会造成消息堆积。如何造成消息堆积?生产者突然大量发布消息消费者 消费消息失败。消费者出现性能瓶颈。消费者服务挂掉了。消息堆积的影响:可能导致新的消息无法进入队列。可能导致旧消息无法丢失,一直阻塞在队列中。消息等待被消费的时间过长,超出了业务容忍范围,给用户造成不好的体验。解决办法?排查消费者的消费性能瓶颈让消费者 使用多线程进行消费处理。部署增加多个消费者。若消息已经堆积到某个队列中了,因该怎么办?(原创 2020-12-21 23:07:20 · 148 阅读 · 2 评论 -
反射 + 获取类的Class对象的几种方式 + 触发类的加载几种情况
refer:Java基础之—反射(非常重要)文章目录1、什么是反射2、获取Class对象的3种方式3、获取到类对应的Class对象后,就可以操作这个类中的方法 和 属性4、类加载过程(或 Class对象的由来)?5、静态编译和动态编译1、什么是反射反射就是 在程序运行过程中,能够 动态 获取 类中的信息的机制叫做 “ 反射机制 ”。对于任意一个类,都能够知道这个类的所有属性 和 方法,然后可以对这个类进行操作。反射就是把java类中的各种成分映射成一个个的Java对象。反射机制使用的前提原创 2021-03-30 00:33:02 · 1769 阅读 · 0 评论 -
Spring
文章目录1、谈谈自己对于 Spring IoC2、AOP 的理解3、Spring AOP 和 AspectJ AOP 有什么区别?4、Spring 中的 bean 的作用域有哪些?5、Spring 中的单例 bean 的线程安全问题了解吗?1、谈谈自己对于 Spring IoCIoC(控制反转)是一种设计思想,就是 将原本在程序中手动创建对象 和 管理对象间依赖关系的控制权,交由Spring框架来管理。IoC 容器实际上就是个Map(key,value),Map 中存放的是各种对象。IoC 在原创 2021-03-29 15:01:42 · 140 阅读 · 0 评论 -
Spring如何解决循环依赖问题的?
参考:https://blog.youkuaiyun.com/weixin_42228950/article/details/92386375https://www.toutiao.com/i6815381538927018500什么是Spring的循环依赖?循环依赖 一定是默认的单例Bean的 属性互相引用的场景。如在创建TestA类时,构造器需要TestB类,那将去创建TestB,在创建TestB类时又发现需要TestC类,则又去创建TestC,最终在创建TestC时发现又需要TestA,从而形成一原创 2021-03-29 10:31:35 · 306 阅读 · 0 评论 -
MyBatis常见面试题总结?
参考:javaGuide-mybatis面试题总结1、获取参数的2种方式: #{}和${} 区别是什么?参考:#{}和${} 区别是什么?#{} 和 ${}在预编译中的处理是不一样的。#{}在预处理时,会把参数部分用一个占位符 ? 代替。然后再给把占位符?替换成参数值。而${} 则只是简单的字符串替换,不存在 占位符 ? 这个过程。在使用过程中 优先使用 #{}。因为 ${} 会导致 sql 注入的问题。...原创 2021-03-08 19:26:36 · 131 阅读 · 0 评论 -
LinkedList集合 你真的了解吗?
java.util.LinkedList 集合 存储结构是 双向链表结构。方便元素添加、删除的集合。LinkedList特点:查询慢,增删快。获取集合的首尾元素非常的方便,API中有大量 操作首尾元素的方法。//对于首尾元素的add、remove、get还可以当作堆栈,队列使用。//其中含有push、pop、isEmpty等方法。LinkedList的API:...原创 2021-03-07 23:29:57 · 141 阅读 · 0 评论 -
请谈一谈,什么情况下会发生死锁?解决死锁的策略有哪些?
参考:https://www.nowcoder.com/tutorial/94/7c4c39f1191342d6bb6a088e3d76f661一、请谈一谈,什么情况下会发生死锁?(一)互斥条件:一个资源一次只能被一个进程访问。即某个资源在一段时间内只能由一个进程占有,不能同时被两个或两个以上的进程占 有。这种独占资源如CD-ROM驱动器,打印机等等,必须在占有该资源的进程主动释放它之后,其它进程才能占有该资源。这是由资源本身的属性所决定的。(二)请求与保持条件:一个进程因请求资源而阻塞时,对已获得原创 2021-03-07 20:46:37 · 517 阅读 · 0 评论 -
Java中的两种比较器的区别及其延申
比较器的使用地方:1)Java对于基本类型的比较时,比的是数值的大小,或字母对应的Ascill码,不会涉及比较器。2)Java中对于基本类型包装类 及 String类,他们都实现了Comparable接口,用来比较两个对象。3)而对于我们自己创建的类Student,如果要对对象进行比较,就得手动实现一个比较策略。4)通常当要给TreeMap、TreeSet中放入自定义类Student时,就...原创 2019-08-07 11:32:06 · 1189 阅读 · 0 评论 -
UML中有哪些常用的图?
UML:统一建模语言。定义了多种图形化的符号。在这些图形化符号中,有三种图最为重要分别是:用例图(从用户的角度展示系统的功能)、类图(描述类以及类与类之间的关系)、时序图(描述 任务的 多个对象之间的交互关系以及执行顺序)。...原创 2021-03-07 19:00:13 · 724 阅读 · 0 评论 -
springboot(二)起步依赖原理分析 和 自动装配原理解析
一、起步依赖原理分析spring-boot-starter-parent分析:引入了springboot的起步依赖,项目才是一个springboot项目。1、按住Ctrl进入 spring-boot-starter-parent 中,再点击进入 spring-boot-dependencies 中,在 spring-boot-dependencies 中定义了很多依赖的版本。xml配置如下(只摘抄了部分重点配置):2、因此,从上面的spring-boot-dependencies的pom.原创 2020-05-28 15:15:01 · 903 阅读 · 1 评论 -
https协议
系列文章目录参考:你每天都在使用的HTTP协议,到底是什么鬼?文章目录系列文章目录前言一、了解HTTP?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、了解HTTP?HTTP是什么呢?它是超文本传输协议,HTTP是缩写,它的全英文名是HyperText Transfer Pro原创 2021-02-19 16:48:05 · 261 阅读 · 0 评论 -
(二)工厂模式
0原创 2019-09-01 20:24:07 · 192 阅读 · 0 评论 -
(一)单例模式
来自:https://www.cnblogs.com/crazy-wang-android/p/9054771.html概念: java中单例模式是一种常见的设计模式,单例模式的写法有好几种, 这里主要介绍两种:懒汉式单例、饿汉式单例。单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。饿...原创 2019-09-01 20:07:44 · 184 阅读 · 0 评论 -
sql优化的几种方式
参考:sql优化的几种方式一、为什么要对SQL进行优化业务数据量的增多,SQL的执行效率对程序的运行效率的影响逐渐增大,影响使用体验,此时对SQL的优化就很有必要。二、SQL优化的一些方法查询相关:0.不要使用select *,1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。3.应尽量避免在 where 子句原创 2021-03-05 14:23:44 · 915 阅读 · 1 评论 -
面试题思考:java中快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?
https://www.cnblogs.com/songanwei/p/9387745.html?tdsourcetag=s_pctim_aiomsg一:快速失败(fail—fast)在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。原理:迭代器在遍历时直接访问集合中...原创 2019-08-31 13:56:43 · 819 阅读 · 0 评论 -
为什么要分布式 id ?
参照:分布式id生成方案总结一、为什么要分布式 id ?ID是数据的唯一标识,在互联网企业中,大部分公司使用的都是Mysql,并且因为需要事务支持,所以通常会使用Innodb存储引擎,传统的做法是利用UUID和数据库的自增ID,UUID太长以及无序,所以并不适合在Innodb中来作为主键,自增ID比较合适,但是 但是随着公司的业务发展,数据量将越来越大,需要对数据进行分表,而分表后,每个表中的数据都会按自己的节奏进行自增,很有可能出现ID冲突。这时就需要一个单独的机制来负责生成唯一ID,生成出来的原创 2021-03-04 23:49:17 · 1702 阅读 · 1 评论 -
如何设计一个高可用系统?要考虑哪些地方?
参考:如何设计一个高可用系统要考虑哪些地方?文章目录1 什么是高可用?可用性的判断标准是啥?2 哪些情况会导致系统不可用?3 有哪些提高系统可用性的方法?1 注重代码质量,测试严格把关1 什么是高可用?可用性的判断标准是啥?高可用描述的是:一个系统在大部分时间都是可用的,都是可以为我们提供服务的。高可用代表 系统即使在发生硬件故障或者系统升级的时候,服务仍然是可用的。2 哪些情况会导致系统不可用?黑客攻击;硬件故障,比如服务器坏掉。并发量/用户请求量激增导致整个服务宕掉或者部分服务不可原创 2021-03-01 23:23:05 · 399 阅读 · 0 评论
分享