![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
文章平均质量分 59
籍籍无名的白菜
大四实习狗
展开
-
事务的特性及隔离级别
逻辑上的一组操作,要么全都执行,要么全都不执行。在事务的并发执行过程中,往往会产生以下几个问题❓:不可重复读和幻读的区别不可重复读在于对数据的修改,表现在某个数据上。而幻读则是对数据的增加或删除,表现在数据行的增加或减少。👀 MySQL的InnoDB存储引擎默认的是可以重复读......原创 2022-06-30 20:45:00 · 233 阅读 · 0 评论 -
详解Spring中Bean的生命周期
从对象创建到对象销毁的过程。Spring的IOC容器可以管理bean的生命周期,其允许在bean的生命周期的特定时间点执行相应的任务。创建的bean对象配置文件运行注意:单例bean和多实例的bean的创建时间是不同的,那么他们的初始方法和销毁方法的执行时间也稍微不同单例bean的生命周期多例bean的生命周期bean的后置处理器允许在初始化方法执行前后对bean做额外的操作,bean的后置处理器对IOC容器中的所有bean实例逐一处理,而非单一处理。其典型应用是:检查bean属性的正确性或根据特定的原创 2022-06-28 16:35:49 · 634 阅读 · 0 评论 -
JUC的一些知识点
1、什么是CASCAS的全称是Compare-And-Swap,意为:比较并替换,它是CPU并发原语它的功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值,这个过程是原子的CAS并发原语体现在Java语言中就是sun.misc.Unsafe类的各个方法。调用UnSafe类中的CAS方法,JVM会帮我们实现出CAS汇编指令,这是一种完全依赖于硬件的功能,通过它实现了原子操作,再次强调,由于CAS是一种系统原语,原语属于操作系统用于范畴,是由若干条指令组成,用于完成某个功能的一个过程,并且原语的原创 2022-05-11 22:24:15 · 248 阅读 · 0 评论 -
DNS解析:当我们在浏览器中输入一个URL时发生了什么?
2.1 、什么是DNS?DNS(Domain Name System,域名系统) : 简单来说就是将我们输入的域名映射为相对应的IP地址,这使得我们在想访问某个网站时,直接输入相对应的域名就行了,而不必去记那些难记的IP地址.2.2、图解:当输入一个URL时发生了什么2.3、文字说明:当输入一个URL时发生了什么当用户输入一个地址时,比如:www.baidu.com,此时会先查询浏览器是否缓存了这个域名,如果缓存了,则直接返回此域名相应的IP地址,解析结束。若浏览器中没有缓存这个域名,则查询本原创 2022-04-19 21:26:42 · 806 阅读 · 0 评论 -
Spring MVC的工作流程
1、什么是Spring MVC?SpringMVC是基于Java实现的一种MVC设计架构的轻量级框架。MVC即M:Model主要用于完成业务操作V: View 展示数据C:Controller 获取数据,处理数据,将数据交给视图这种分层设计有效的进行了解耦操作,使设计更加灵活。2、Spring MVC的工作流程Web容器启动,通知Spring进行初始化容器,加载Bean的类信息,初始化单例Bean遍历所有Bean,获取每一个Controller中每一个方法的 URL,把 Contro原创 2022-03-22 22:20:06 · 2267 阅读 · 0 评论 -
什么是双亲委派机制?
简介Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会将它的class文件加载到内存生成class对象。而且加载某个类的class文件时,Java虚拟机采用的是双亲委派模式,即把请求交由父类处理,它是一.种任务委派模式。(图源:尚硅谷JVM教程)双亲委派机制的优点优势避免类的重复加载保护程序安全,防止核心API被随意篡改自定义类: java. lang. String(有引导类加载器加载,不会加载自定义String)自定义类: java. lang.原创 2022-03-19 23:37:28 · 3767 阅读 · 0 评论 -
String s=new String(“abc”)一共创建了几个对象?
答案分为两种情况:第一种情况:常量池中没有此对象:2个第二种情况:常量池中有此对象:1个再讲为什么之前,先看一看百度百科对常量池的介绍: 常量池在java用于保存在编译期已确定的,已编译的class文件中的一份数据。它包括了关于类,方法,接口等中的常量,也包括字符串常量,如String s = "java"这种申明方式;当然也可扩充,执行器产生的常量也会放入常量池,故认为常量池是JVM的一块特殊的内存空间。常量池中除了包含代码中所定义的各种基本类型(如int、long等等)和对象型(如Str原创 2022-03-18 17:06:24 · 3554 阅读 · 1 评论 -
Mybatis中的一级缓存和二级缓存
一级缓存一级缓存是 SqlSession级别的。通过同一个SqlSession下访问同一个sql语句,第一次会从数据库中获取,第二次直接从缓存中获取,不在经过数据库导致一级缓存失效的原因在两次查询同一语句之间执行了任意的增删改操作手动清空一级缓存(.clearCache())不同的SqlSession对应不同的缓存同一SqlSession下的不同语句二级缓存二级缓存是 SqlSessionFactory级别的,通过同一个 SqlSessionFactory创建出来的 SqlSess原创 2022-03-15 10:29:23 · 224 阅读 · 0 评论 -
volatile关键字介绍及synchronized和volatile的区别
关于synchronized的解释请参考:https://blog.csdn.net/A798194701/article/details/123053501首先volatile 只能用来修饰变量,当一个变量被它修饰后具备如下属性:禁止指令重排什么是指令重排?指编译器或CPU为了优化程序的执行性能而对指令进行重新排序的一种手段,重排序会带来可见性问题,所以在多线程开发中必须要关注并规避重排序。即从源代码到指令序列的重排序。从源代码到最终运行的指令,会经过如下两个阶段的重排序。第一阶段,原创 2022-03-07 19:05:00 · 116 阅读 · 0 评论 -
mybatis中实体中的属性和表中的字段不一样时,如何解决
在sql语句处使用别名在mybatis-config.xml(全局配置文件)中开启驼峰命名规则<settings> <setting name="mapUnderscoreToCamelCase" value="true"/></settings>在Mapper映射文件中使用resultMap来自定义映射规则<resultMap type="要映射的类" id="自定义这个resultMap的名字"> </resultMa.原创 2022-02-28 14:47:42 · 276 阅读 · 0 评论 -
面试题: String、StringBuffer、StringBuilder三者的异同
String、StringBuffer、StringBuilder三者的异同相同点:底层使用char[]存储不同点String为不可变的字符序列StringBuffer可变的字符序列,线程安全,比StringBuilder效率低。默认开辟大小为16的空间,需要扩容时扩容为原来的2倍加2StringBuilder可变的字符序列,jdk5.0新增,线程不安全,效率高StringBuilder和StringBuffer的容量int newCapacity = (value.leng原创 2022-02-22 13:53:56 · 199 阅读 · 0 评论