面试题讲解
文章平均质量分 58
是小晴晴呀
努力成长加油
展开
-
Mybatis 的工作原理及流程
MyBatis的底层操作封装了JDBC的API,MyBatis的工作原理以及核心流程与JDBC的使用步骤一脉相承,MyBatis的核心对象(SqlSession,Executor)与JDBC的核心对象(Connection,Statement)相互对应。本文的核心观点是:从JDBC入手并立足于JDBC,才能深入的理解MyBatis的工作原理以及核心流程。原创 2022-10-23 16:51:03 · 3317 阅读 · 1 评论 -
面试题目总结(视图和存储过程的区别,集合的应用场景,springboot)
它是事先存储好的SQL语句,放在数据库端,需要使用时直接调用存储过程就可以执行相应的SQL语句。存储过程可带参数,也可返回结果。存储过程是SQL语句和可选控制流语句的预编译集合执行速度更快;允许模块化设计;提高系统安全性;减少网络流量。(总结存储过程是写一段sql语句,存储在数据库端,需要使用时直接调用存储过程就可以执行相应的SQL语句)...原创 2022-07-16 15:49:16 · 375 阅读 · 0 评论 -
MySQL中 ACID 及他底层实现原理
首先要明白事务的概念: 他是sql执行的一个基本单位,可以是一个简单的SQL 也可以是一组复杂 的SQL ,事务就保证 这些操作,要么全部成功,要么全部失败, 事务的 开始与结束 可以由用户来控制。如果用户没有显示的定义事务,则由数据库管理系统按默认规定自动划分事务。在 SQL 中,定义事务的语句一般有三条:(1)BEGIN TRANSACTION(2)COMMIT(3)ROLLBACK事务通常是以BEGIN TRANSACT原创 2022-07-07 19:26:21 · 330 阅读 · 0 评论 -
IO的几种模型 阻塞,非阻塞,io多路复用,信号驱动和异步io
推荐黑马的redis 网络模型, 避免用户应用 导致冲突 甚至 内核的崩溃,用户的英语和内核是要分离开的 按照进程的寻址控件,划分两部分 :内核态,用户态 在性能方面,虽然第一阶段 是非阻塞的,但是他要不断地询问,会导致cpu 空转,性能下降 高性能的,比较复杂,面试中也比较常用, 这里有个新的章节讲解 https://blog.csdn.net/qq_52252193/article/details/125546614整个过程都是非阻塞的,原创 2022-06-30 20:16:50 · 304 阅读 · 0 评论 -
详细讲解面试的 IO多路复用,select,poll,epoll
接上篇文章讲解,优化 IO 的两个数据操作 根据监听FD 的不同,分为了三个模式 select ,poll ,epoll 下面具体讲解他们的差异和实现 执行的流程 不在复制数组,使用句柄的方式,创建的结构体 红黑树存总的事件,链表存就绪的事件,实现 找到具体的编号 能够真正的自定义 监听的个数.........原创 2022-06-30 19:33:54 · 279 阅读 · 0 评论 -
git和svn的优缺点和区别
Git的优点1、分布式,每个参与开发的人的电脑上都有一个完整的仓库,不担心硬盘出问题;2、在不联网的情况下,照样可以提交到本地仓库,可以查看以往的所有log,等到有网的时候,push到远程即可;3、非常强大的分支管理功能。4、Git的内容的完整性要优于SVN: GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。Git缺点:权限管理不是很方便,需要安装插件gitolite,配置有点麻烦,或者直接使用gitlab.原创 2022-06-28 16:56:06 · 482 阅读 · 0 评论 -
http状态码的含义
http状态码的含义原创 2022-06-21 15:45:00 · 1427 阅读 · 0 评论 -
Spring事务的传播级别
1) PROPAGATION_REQUIRED ,默认的spring事务传播级别,使用该级别的特点是,如果上下文中已经存在事务,那么就加入到事务中执行,如果当前上下文中不存在事务,则新建事务执行。所以这个级别通常能满足处理大多数的业务场景。2)PROPAGATION_SUPPORTS ,从字面意思就知道,supports,支持,该传播级别的特点是,如果上下文存在事务,则支持事务加入事务,如果没有事务,则使用非事务的方式执行。所以说,并非所有的包在transactionTemplate.execut...原创 2022-06-08 11:23:34 · 5315 阅读 · 0 评论 -
面试详细讲解 Lock 和Synchronized 的使用区别
五个角度:1.构成 2. 使用方法 3.是否可被打断 4.加锁是否公平 5.是否绑定条件记住:锁使用的三部曲 资源类 ,判断,干活,通知线程操作资源类, 判断使用while 防止出现虚假唤醒...原创 2022-05-09 17:26:24 · 72 阅读 · 0 评论 -
HashMap夺命14问,你能坚持到第几问?
目录1. HashMap的底层数据结构是什么?2. 说一下HashMap的特点3. 解决hash冲突的办法有哪些?HashMap用的哪种?4. 为什么要在数组长度大于64之后,链表才会进化为红黑树5. 为什么加载因子设置为0.75,初始化临界值是12?6. 哈希表底层采用何种算法计算hash值?还有哪些算法可以计算出hash值?7. 当两个对象的hashCode相等时会怎样8. 何时发生哈希碰撞和什么是哈希碰撞,如何解决哈希碰撞?9. HashMap的put方法流程1原创 2022-05-11 17:15:00 · 104 阅读 · 0 评论 -
小厂后端的十连问面试,教你如何应答
大家好,最近一位朋友去面试,分享了一份面试真题,我整理了一下答案给大家。如果有不正确的,欢迎指出哈,一起进步。Redis的key和value可以存储的最大值分别是多少? 怎么利用Redis实现数据的去重? Redis什么时候需要序列化?Redis序列化的方式有哪些? MySQL的B+树的高度怎么计算? 线程池的状态有哪些?获取多线程并发执行结果的方式有哪些? 线程池原理?各个参数的作用。 ThreadLocal的使用场景有哪些?原理?内存泄漏? kafka是如何保证消息的有序性? Nac原创 2022-05-08 13:49:29 · 310 阅读 · 0 评论 -
高并发之 CAS的使用和底层原理
CAS在了解CAS之前,我们要先要了解一下atomic(java.util.concurrent.atomic),为什么在jdk1.5开始引入了atomic包呢?Atomic1、为什么要使用Atomic类在多线程和高并发环境中,我们经常会对一个int型的共享变量值进行+1或-1操作,例如:int count = 0;// ...count ++;但是这种写法,在多线程共同修改共享变量的情况下,会出现问题,导致实际值和预期值不符,即上面的代码是线程不安全的。因此我们需要实现线程的同步原创 2022-05-04 15:56:36 · 443 阅读 · 0 评论 -
分布式存储的算法案列面试题
面试:1~2亿条数据需要缓存,请问如何设计这个存储案例单机单台100%不可能,肯定是分布式存储,用redis如何落地?上述问题阿里P6~P7工程案例和场景设计类必考题目,一般业界有3种解决方案1.哈希取余分区(大 中 厂 不可取)2亿条记录就是2亿个k,v,我们单机不行必须要分布式多机,假设有3台机器构成一个集群,用户每次读写操作都是根据公式:hash(key) % N个机器台数,计算出哈希值,用来决定数据映射到哪一个节点上。优点: 简单粗暴,直接有效,只需要预估好数据规划好..原创 2022-04-30 14:12:47 · 1500 阅读 · 0 评论 -
方法参数的传递机制面试知识点 讲解(地址,值,方法调用,栈)
概述例题结果分析注意传递的值,还是地址,是否更改了内容,是否更改地址原创 2022-04-11 11:27:33 · 51 阅读 · 0 评论 -
关于类的加载和 实例化的过程,结合实例讲解
概要说明代码测试和讲解注意里面的文字说明,和上面的概要package ClassLoader;/**父类初始化,执行 <clinit>() 方法 * 1.静态成员变量 j=method() 输出了(5) * 2.静态代码块 (1) * * 父类实例化的过程 * * 1.super() (最前) * * 2.非静态变量的显示赋值 i =test() 执行方法 -->(9) * 因为这个..原创 2022-04-11 11:02:27 · 247 阅读 · 0 评论 -
关于 i++ ,++i 自增变量的解析
结合jvm 的字节码 解析 栈和局部变量表原创 2022-04-11 10:58:43 · 201 阅读 · 0 评论 -
关于单例设计者模式的实现,Java面试题
目录概要描述代码实现1.饿汉式 的直接实例化的2.饿汉式 枚举类型获得3.静态代码块 创建4.懒汉式 当你需要时 , 调用函数来获得,这里不加 锁,是线程不安全的5.这里加 锁,是线程安全的6.懒汉式 ,内部类的方式测试概要描述代码实现1.饿汉式 的直接实例化的package Singleton;//饿汉式 的直接实例化的/** 直接创建,不管是否需要这个对象 * * static 静态,类加载时,它...原创 2022-04-11 10:55:24 · 262 阅读 · 0 评论