随笔分类 - 面试
摘要:事务属性的7种传播行为 编程式事务和声明式事务 编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,Spring推荐使用TransactionTemplate。(参考四) /** * 数据源加入事务管理
阅读全文
摘要:Spring事务传播行为详解(有场景) 前言 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是Spring为我们提供的强大的工具箱,使用事务传播行可以为我们的开发工作
阅读全文
摘要:Mybatis 面试题 MyBatis-Plus 优点 Mybatis-Plus是一个Mybatis的增强工具,只是在Mybatis的基础上做了增强却不做改变,MyBatis-Plus支持所有Mybatis原生的特性,所以引入Mybatis-Plus不会对现有的Mybatis构架产生任何影响。 1、
阅读全文
摘要:JVM中的类加载机制 当程序主动使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、连接(验证、准备、解析)、初始化3个步骤来对该类进行初始化。如果没有意外,JVM将会连续完成3个步骤,所以有时也把这个3个步骤统称为类加载或类初始化。 类加载过程 加载 加载指的是将类的class文件读入到
阅读全文
摘要:事务管理 数据库事务 事务是什么 是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作; **这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;**事务是一组不可再分割的操作集合。 数据库事务是保证在并发情况下能够正确执行的重要支撑,MySQL常见的数据库引擎中支持事务的是
阅读全文
摘要:说一下Mysql索引 什么是索引 帮助数据库高效获取数据的数据结构 索引的作用 当表中数据量越来越大时,索引可以明显提高查询效率,当然索引并不是越多越好 索引的命中 MySql中索引默认结构为B+树,为什么不是B树、Hash,二叉树,红黑树? B+树 B+树底层实现是多路平衡查找树,对于每一次的查询
阅读全文
摘要:JVM中的类加载机制 当程序主动使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、连接(验证、准备、解析)、初始化3个步骤来对该类进行初始化。如果没有意外,JVM将会连续完成3个步骤,所以有时也把这个3个步骤统称为类加载或类初始化。 类加载过程 加载 加载指的是将类的class文件读入到
阅读全文
摘要:Spring 面试题 AOP与IOC AOP 是面向切面编程的思想,解决了程序中横向的代码重复问题。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等,解决代
阅读全文
摘要:Spring Bean的生命周期 四个阶段 Spring Bean的生命周期只有这四个阶段。把这四个阶段和每个阶段对应的扩展点糅合在一起虽然没有问题,但是这样非常凌乱,难以记忆。要彻底搞清楚Spring的生命周期,首先要把这四个阶段牢牢记住。 **实例化和属性赋值对应构造方法和setter方法的注入
阅读全文
摘要:Spring中的用到的设计模式 工厂模式 Spring使用工厂模式可以通过 BeanFactory 或 ApplicationContext 创建 bean 对象, 根据传入一个唯一的标识来获得Bean对象 。 单例模式 在我们的系统中,有一些对象其实我们只需要一个,比如说:线程池、缓存、对话框、注
阅读全文
摘要:Java中IO 什么是IO 这里这个I指的是input,而这个O指的则是output,对于IO的认识就是输入输出。在讨论IO的时候,流则是关键中的关键 按数据流向分类 输入流和输出流 按处理的数据类型分类 字节流和字符流 字节流 对于字节流,它是用来操作我们的二进制文件的,因为字节流可以操作的数据是
阅读全文
摘要:深拷贝与浅拷贝 对象的复制 有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。 浅克隆(ShallowClone)和深克隆(DeepClone) 在Ja
阅读全文
摘要:高并发限流 问题描述 突然发现自己的接口请求量突然涨到之前的10倍,带宽被占满,没多久该接口几乎不可使用,并引发连锁反应导致整个系统崩溃。 计数器(固定窗口)算法 计数器算法是使用计数器在周期内累加访问次数,当达到设定的限流值时,触发限流策略。下一个周期开始时,进行清零,重新计数。 此算法在单机还是
阅读全文
摘要:事务管理 数据库事务 事务是什么 是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作; **这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;**事务是一组不可再分割的操作集合。 数据库事务是保证在并发情况下能够正确执行的重要支撑,MySQL常见的数据库引擎中支持事务的是
阅读全文
摘要:Spring Bean的生命周期 四个阶段 Spring Bean的生命周期只有这四个阶段。把这四个阶段和每个阶段对应的扩展点糅合在一起虽然没有问题,但是这样非常凌乱,难以记忆。要彻底搞清楚Spring的生命周期,首先要把这四个阶段牢牢记住。 **实例化和属性赋值对应构造方法和setter方法的注入
阅读全文
摘要:Java中的Object类 Object类简介 Object类是Javajava.lang包下的核心类,Object类是所有类的父类,何一个类时候如果没有明确的继承一个父类的话,那么它就是Object的子类; Object 类属于java.lang包,此包下的所有类在使用时无需手动导入,系统会在程序
阅读全文
摘要:Java线程池七个参数 首先创建一个定长的线程池 //创建使用固定线程数的线程池 ExecutorService es2 = Executors.newFixedThreadPool(3); for (int i = 0; i < 10; i++) { es2.submit(new Runnable
阅读全文
摘要:常见算法的时间复杂度 冒泡排序 for(int i = 0 ;i<arr.length-1;i++){ //第i趟比较 for(int j = 0 ;j<arr.length-i-1;j++){ //开始进行比较,如果arr[j]比arr[j+1]的值大,那就交换位置 if(arr[j]>arr[j
阅读全文
摘要:RocketMQ消息堆积问题 RocketMQ消息堆积主要分为三个层次的问题: 其一是Producer生产速率过快,什么场景呢,比如Producer故障,比如DOS攻击,比如业务高峰(超过企业预估的,例如12306订票,双十一下单,这些一开始的时候都有超过预期的情况)。 其二是Broker消息堆积,
阅读全文
摘要:HashMap的时间复杂度 HashMap在jdk1.8之后引入了红黑树的概念,表示若桶中链表元素超过8时,会自动转化成红黑树; 若桶中元素小于等于6时,树结构还原成链表形式。 原因: 红黑树的平均查找长度是log(n),长度为8,查找长度为log(8)=3,链表的平均查找长度为n/2,当长度为8时
阅读全文

浙公网安备 33010602011771号