面试
Mr_Robot233
这个作者很懒,什么都没留下…
展开
-
面试-Spring 源码
介绍一下Spring,读过源码介绍一下大致流程 1.Spring是一个快速开发框架,Spring帮助程序员来管理对象 2.Spring的源码实现的是非常优秀的,设计模式的使用,并发安全的实现,面向接口的设计等 3.在创建Spring容器,也就是启动Spring时: a.首先会进行扫描,扫描得到所有的BeanDefinition对象,并存在一个Map中 b.然后筛选出非懒加载的单例BeanDefinition进行创建Bean,对于多例Bean不需要在启动的过程中进行创建,对于多例B原创 2021-11-07 21:10:52 · 325 阅读 · 0 评论 -
面试问题及答案合计
面试总结1.说一下ThreadLocal 1.ThreadLocal是java中所提供的线程本地存储机制,可以利用该机制将数据缓存在某个线程内部,该线程在任意时刻,任意方法中获取缓存的数据 2.ThreadLocal底层是通过ThreadLocalMap来实现的,每个Thread对象(注意不是ThreadLocal对象)中都存在一个ThreadLocalMap,Map的key为ThreadLocal对象,Map的value为需要缓存的值 3.如果在线程池中使用ThreadLocal会造成内存泄原创 2021-11-07 17:16:39 · 158 阅读 · 0 评论 -
Spring单例和多例
Spring单例和多例在面试的时候经常被问到Spring的单例、多例之类的问题,实际上是Bean的作用域问题。当在Spring中声明一个bean时,需要声明bean的作用域。默认是singleton。这篇文章主要讨论Spring 单例和多例。Spring bean 的作用域(Spring Bean scopes)作用域 描述singleton 根据Spring IoC容器将单个bean定义...转载 2020-04-01 23:01:48 · 650 阅读 · 1 评论 -
JAVA局部变量和成员变量的区别
JAVA局部变量和成员变量的区别成员变量与局部变量的区别1、在类中的位置不同成员变量:在类中方法外面局部变量:在方法或者代码块中,或者方法的声明上(即在参数列表中)2、在内存中的位置不同成员变量:在堆中(方法区中的静态区)局部变量:在栈中3、生命周期不同成员变量:随着对象的创建而存在,随着对象的消失而消失局部变量:随着方法的调用或者代码块的执行而存在,随着方法的调用完毕或者代码...原创 2020-03-04 10:43:20 · 255 阅读 · 0 评论 -
springmvc-DisPatcherServlet初始化
springmvc-DisPatcherServlet初始化技术标签: spring 源码 DisPatcherServlet 初始化 解析在springmvc中真正实现逻辑的是在DisPatcherServlet中进行的,DisPatcherServlet是实现servlet接口的实现类,init()方法在其父类HttpServletBean中1、封装及安正初始化参数主要是对初始...转载 2020-03-03 22:35:13 · 177 阅读 · 0 评论 -
MySQL索引背后的数据结构及算法原理
MySQL索引背后的数据结构及算法原理一、定义索引定义:索引(Index)是帮助MySQL高效获取数据的数据结构。本质:索引是数据结构。二、B-Treem阶B-Tree满足以下条件:1、每个节点至多可以拥有m棵子树。2、根节点,只有至少有2个节点(要么极端情况,就是一棵树就一个根节点,单细胞生物,即是根,也是叶,也是树)。3、非根非叶的节点至少有的Ceil(m/2)个子树(Ceil...转载 2020-03-03 22:34:26 · 327 阅读 · 0 评论 -
lock与synchronized的区别
lock与synchronized的区别1. Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现,synchronized是在JVM层面上实现的,不但可以通过一些监控工具监控synchronized的锁定,而且在代码执行时出现异常,JVM会自动释放锁定。但是使用Lock则不行,lock是通过代码实现的,要保证锁定一定会被释放,就必须将...转载 2020-03-03 22:33:18 · 153 阅读 · 0 评论 -
JVM的垃圾回收算法工作原理详解
JVM的垃圾回收算法工作原理详解这篇文章主要介绍了JVM的垃圾回收算如何判断对象是否可以被回收,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下怎么判断对象是否可以被回收?共有2种方法,引用计数法和可达性分析1.引用计数法所谓引用计数法就是给每一个对象设置一个引用计数器,每当有一个地方引用这个对象时,就将计数器加一,引用失效时,计数器就减...转载 2020-03-03 22:32:20 · 213 阅读 · 0 评论 -
volatile与synchronized的区别
volatile与synchronized的区别1、锁提供了两种主要特性:互斥(mutual exclusion) 和可见性(visibility)。互斥即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这样,一次就只有一个线程能够使用该共享数据。可见性要更加复杂一些,它必须确保释放锁之前对共享数据做出的更改对于随后获得该锁的另一个线程是可见的 —— 如果没...转载 2020-03-03 22:30:07 · 170 阅读 · 0 评论 -
volatile和synchronized的区别
volatile和synchronized的区别volatile和synchronized特点首先需要理解线程安全的两个方面:执行控制和内存可见。执行控制的目的是控制代码执行(顺序)及是否可以并发执行。内存可见控制的是线程执行结果在内存中对其它线程的可见性。根据Java内存模型的实现,线程在具体执行时,会先拷贝主存数据到线程本地(CPU缓存),操作完成后再把结果从线程本地刷到主存。syn...转载 2020-03-03 22:29:29 · 106 阅读 · 0 评论 -
数据库事务隔离级别和四大特性
数据库事务隔离级别和四大特性数据库四大特性和事务隔离级别数据库中经常被问到四大特性和隔离级别,一般都是涉及到概念性问题,在此做一些整理总结,方便理解。1、事务的隔离级别由低到高依次为Read uncommitted(未授权读取、读未提交)、Read committed(授权读取、读提交)、Repeatable read(可重复读取)、Serializable(序列化),这四个级别可以逐个解...转载 2020-03-03 22:28:23 · 255 阅读 · 0 评论 -
spring常用的事务传播属性说明
spring常用的事务传播属性说明事务Transaction,就是一组操作数据库的动作集合。事务是现代数据库理论中的核心概念之一。如果一组处理步骤或者全部发生或者一步也不执行,我们称该组处理步骤为一个事务。当所有的步骤像一个操作一样被完整地执行,我们称该事务被提交。由于其中的一部分或多步执行失败,导致没有步骤被提交,则事务必须回滚到最初的系统状态。常用的七种传播属性:1.PROPAGA...转载 2020-03-03 22:27:02 · 152 阅读 · 0 评论 -
JVM 知识
JVM 知识什么情况下会发生栈内存溢出。a.方法创建了一个很大的对象,如List,Arrayb.是否产生了循环调用、死循环c.是否引用了较大的全局变量JVM 的内存结构,Eden 和 Survivor 比例。JVM内存结构主要有三大块:堆内存、方法区和栈。JVM内存结构分为两种类型:线程安全:虚拟机栈、本地方法栈、程序计数器非线程安全:堆,方法区虚拟机栈:每个方法被执行...转载 2020-03-03 22:25:32 · 142 阅读 · 0 评论 -
ThreadLocal的原理和使用
ThreadLocal的原理和使用原理ThreaLocal,线程本地变量,也有叫线程本地存储的。以空间换时间。简单来说就是可以实现线程之间变量隔离,每个线程对于变量操作不影响其他变量。在JDBC连接中,可以用这个类来存储连接给线程去用,每个线程从ThreadLocal中获取连接,每个线程都只能使用他自己获取的这个连接,不能使用其他线程的连接。ThreadLocal底层相当于一个map数组,ke...原创 2020-03-03 22:24:08 · 171 阅读 · 0 评论 -
spring IOC的常见几种以来注入的方式
spring IOC的常见几种以来注入的方式在spring ioc中有三种依赖注入,分别是:a、接口注入;b、setter方法注入;c、构造方法注入;接口注入:复制代码public class ClassA {private InterfaceB clzB;public void doSomething() {Ojbect obj = Class.forName(Config....转载 2020-02-27 09:57:37 · 625 阅读 · 0 评论 -
SQL语言的分类
SQL语言的分类SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。数据查询语言DQL数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:SELECT <字段名表>FROM <表或视图名>WHERE <查询条件>2 .数据操纵语言DML数据操纵语言DM...原创 2020-02-26 22:17:29 · 149 阅读 · 0 评论 -
简述JVM、JRE、JDK的关系及作用
1、JVM:java虚拟机 。作用:保证java语言跨平台。2、JRE:java运行环境 jre=java虚拟机+核心类库。作用:java程序的运行环境。3、JDK :java开发工具集。JDK=jre+java开发工具。作用:java程序的开发环境。简言之:使用jdk开发完成的java程序,交给JRE去运行,由JVM来保证跨平台。...原创 2020-02-25 19:58:17 · 354 阅读 · 0 评论