随笔分类 - 面试准备
摘要:一、ThreadLocal简介 多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性。 ThreadLocal是除了加锁这种同步方式之外的一种保证一种规避多线程访问出现线程不安
阅读全文
摘要:答案: controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。正因为单例所以不是线程安全的。 简单的验证 @Controller public class ScopeTestController { private int num = 0; @RequestMappin
阅读全文
摘要:一、前言 有时我们需要对类按照类中的某一个属性(或者多个属性)来对类的对象进行排序,有两种方法可以实现, 一种方法是类实现Comparable<T>接口,然后调用Collections.sort(List)方法进行排序, 另一种方法是类不实现Comparable<T>接口,而在排序时使用Collec
阅读全文
摘要:mybatis 底层是基于 JDK 动态代理来实现 mapper 动态代理的,所以我们先来看看 JDK 动态代理。 1、回顾JDK 动态代理 1.1、定义接口 & 实现类 public interface Subject { int add(int x, int y); } public class
阅读全文
摘要:1. 前言 HashMap是基于底层叫Entry[]数组实现的一种哈希表 现在稍微深入一点,讲解HashMap里面的一个点:存取(put/get)数据的时候,Entry数组index下标的计算。 2. hashCode,hash与index的概念 a).put/get一个元素的时候,会调用该元素的h
阅读全文
摘要:一、什么是代理? 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 代理模式UML图: 简单结构示意图: 为了保持行为的一致性,代理类和委托类通常会实现相同的接口,所以在访问者看
阅读全文
摘要:摘自:https://www.pdai.tech/md/interview/x-interview.html#52-%E5%86%85%E5%AD%98%E7%BB%93%E6%9E%84 堆区内存是怎么细分的? 对于大多数应用,Java 堆是 Java 虚拟机管理的内存中最大的一块,被所有线程共享
阅读全文
摘要:摘自:https://my.oschina.net/zhangxufeng/blog/3096394 在关于Spring的面试中,我们经常会被问到一个问题,就是Spring是如何解决循环依赖的问题的。这个问题算是关于Spring的一个高频面试题,因为如果不刻意研读,相信即使读过源码,面试者也不一定能
阅读全文
摘要:摘自:https://segmentfault.com/a/1190000020272200?utm_source=tag-newest 背景:为什么要限流 任何系统的性能都有一个上限,当并发量超过这个上限之后,可能会对系统造成毁灭性地打击。因此在任何时刻我们都必须保护系统的并发请求数量不能超过某个
阅读全文
摘要:Mybatis仅支持association关联对象和collection关联集合对象的延迟加载,association指的就是一对一,collection指的就是一对多查询。在Mybatis配置文件中,可以配置是否启用延迟加载lazyLoadingEnabled=true|false。 原理:使用C
阅读全文
摘要:摘自:https://www.pianshen.com/article/27551903537/ 一、介绍 在Spring Boot项目中我们经常需要读取application.yml配置文件的自定义配置,今天就来罗列一下从yaml读取配置文件的一些常用手段和方法。 二、@Value 这种是比较简单
阅读全文
摘要:1、singleton:单例模式,在整个Spring IoC容器中,使用 singleton 定义的 bean 只有一个实例2、prototype:原型模式,每次通过容器的getbean方法获取 prototype 定义的 bean 时,都产生一个新的 bean 实例 只有在 Web 应用中使用Sp
阅读全文
摘要:摘自:https://cloud.tencent.com/developer/article/1417777 乔哥:你说“喂喂喂,能听到我说话吗?”,是第一次握手,也就是说小萌你的发送消息的能力没有问题,然后我回了你一句“小萌,我可以听到你说话,你能听到我说话吗?”这是第二次握手,我回了你一句,说明
阅读全文
摘要:摘自:https://blog.csdn.net/xiaodongdonglht/article/details/94455293 高快省的排序算法 有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。 假设我们现在对“6 1 2 7 9 3 4 5
阅读全文
摘要:官方解释: 301 redirect: 301 代表永久性转移(Permanently Moved) 302 redirect: 302 代表暂时性转移(Temporarily Moved ) 共同点: 301和302状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的
阅读全文