- 博客(16)
- 收藏
- 关注
原创 MQ面试常问的问题
目录1:什么场景使用了mq?直接掉接口不行吗?2:用消息队列都有什么优点和缺点?3:Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别?4:那你们是如何保证消息队列的高可用的?5:如何保证消息不被重复消费啊?如何保证消费的时候是幂等的啊?6:如何保证消息的可靠性传输啊?要是消息丢失了怎么办啊?7:那如何保证消息的顺序性?8:如何解决消息队...
2018-12-24 15:51:29 60658 6
转载 面试----mysql--索引,锁--怎么答
1:首先Mysql的基本存储结构是页(记录都存在页里边):每个数据页都会为存储在它里边儿的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录2:索引做了些什么可以让我们查询加快速度呢?其实就是将无序的数据变成有序(相对):一个没加主键的表,它的数据无序的放置在磁盘存储器上,一行一行的排列的很整齐,...
2018-12-24 11:29:51 225
原创 面试----集合HashMap(每一行都画重点)
先说说HashMap1:首先HashMap 是一个散列表,它存储的内容是键值对(key-value)映射,HashMap中的映射不是有序的。HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。不是线程安全的。HashMap是最常用的Map,它根据HashCode值存储数据,根绝键可以直接获取值。允许有空(null)的键值...
2018-12-23 17:06:04 241
转载 面试JVM(七)对象的创建
对象的创建下图便是 Java 对象的创建过程,我建议最好是能默写出来,并且要掌握每一步在做什么。 ①类加载检查: 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,那必须先执行相应的类加载过程。②分配内存: 在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需...
2018-12-17 17:17:56 138
转载 面试------String 类和常量池
String 类和常量池1 String 对象的两种创建方式: String str1 = "abcd"; String str2 = new String("abcd"); System.out.println(str1==str2);//false这两种不同的创建方法是有差别的,第一种方式是在常量池中拿对象,第二种方式是直接在堆内存空间创建一个新的对象...
2018-12-17 17:14:16 99
原创 面试JVM(六)OOM
OutOfMemoryError异常:目录1:java堆溢出2:虚拟机栈和本地方法栈溢出3:方法区和运行时常量池溢出4:本地直接内存溢出1:java堆溢出要同时满足两个条件:堆大小固定,不可扩展 不断创建对象,并保持对象存活不被回收深入理解java虚拟机原文:Java堆用于存储对象实例,只要不断地创建对象,并且保证GC Roots到对象之间有可达路径来避免垃...
2018-12-17 16:32:00 242
原创 面试---mybatis框架知识点
一:是什么myabtis是一个支持普通sql查询,存储过程和高级优秀映射的优秀持久城框架,去除了所有jdbc代码和参数的手工设置以及对结果集的检索封装。mybatis可以使用xml或者注解进行配制和原始映射。其主要思想是将程序中的大量的sql语句剥离出来,将sql代码与语句分离,可以不修改代码,直接在配置文件修改sql。二与hibernate的区别Hibernate是一个开放源代码...
2018-12-14 15:49:50 217
原创 mysql最左前缀原则
最左前缀:顾名思义,就是最左优先,上一个博客中数据库我们创建了UNIQUE KEY `uk_device` (`device_id`,`user_id`,`token`)多列索引,相当于创建了(device_id)单列索引,(device_id,user_id)组合索引以及(device_id,user_id,token)组合索引。结论是索引键是(a_b_c)seclect * from ta...
2018-12-12 11:40:59 4909 1
原创 数据库执行计划,索引是否打到------explain
explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。创建数据库表建表语句: https://www.cnblogs.com/xuanzhi201111/p/4175635.html 转载来自博客expain出来的信息有10列,分别是id、select_type、table、ty...
2018-12-12 10:49:31 200
转载 springmvc请求流程
自己画的丑图:https://blog.csdn.net/qq_34971162/article/details/81288179dispatcherServler的实现 以下 转载https://www.cnblogs.com/5ishare/p/8683971.html转载来自具体步骤:第一步:发起请求到前端控制器(DispatcherServlet)...
2018-12-11 18:43:35 1801
原创 java新特性-----stream
stream是什么?1:流是”从支持数据处理操作的源 生成的一系列操作“A sequence of elements supporting sequential and parallel aggregate operations是支持顺序和并行聚合操作的元素序列,2:流操作类型:中间操作和终端操作filter,map,limit,sorted,distinct可以连成一条流水线,...
2018-12-11 16:38:32 162
原创 一点一点看源码(2) ArrayList 未完
ArrayList:* Resizable-array implementation of the <tt>List</tt> interface. Implements* all optional list operations, and permits all elements, including* <tt>null</tt>. ...
2018-12-11 14:24:30 108
原创 一点一点看源码(1)未完
一:Collection体系概览容器的存储,数据的获取,数据添加,数据遍历,数据搜索,其他(判空,替换,排序,溢出,并发,同步,拆分,汇聚) @see Set @see List @see Map @see SortedSet @see SortedMap @see HashSet @see TreeSet...
2018-12-08 23:14:47 125
原创 面试--集合(四)并发集合框架阻塞队列与非阻塞队列
java语的框架父类接口是Iterable,从这个接口向下一一进行继承。一:集合架构的简介1:接口Iterable主要用于迭代循环,仅有一个iterator()方法,通过返回Iterable对象,进行循环处理。2:接口Collection提供了集合框架最主要,最常用的操作,接口内部提供的主要方法是针对数据的怎删改查操作。3:接口list接口list对Collection...
2018-12-06 18:23:48 310
原创 idea快捷键
idea快捷键打开file下面的project structure:⌘+; 菜单栏help里面有一个find action:command+shift+a选中move caret to next:按shift+左右箭移动到头部move caret to line start,尾部end:command+左右键一:跳转:项目之间的跳转:option+command+[ 或者...
2018-12-05 15:31:42 210
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人