八股文大全
文章平均质量分 83
还有1个半月就要开始找工作了,现在开始背八股文,看看应届生能不能冲击月薪1.7w
皇家小黄
这个作者很懒,什么都没留下…
展开
-
微服务保护(熔断)和阿里Sentinel
微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩。 解决雪崩问题的常见方式有四种...............................原创 2022-08-27 06:22:43 · 635 阅读 · 1 评论 -
八股文第二十二天
Redis 是 C 语言开发的一个开源的(遵从 BSD 协议)高性能非关系型(NoSQL) 的(key-value)键值对数据库。可以用作数据库、缓存、消息中间件等。原创 2022-08-25 00:27:01 · 229 阅读 · 0 评论 -
八股文第二十一天
谈到 SOA 和微服务的区别, 那咱们先谈谈架构的演变1. 集中式架构项目功能简单, 一个项目只需一个应用, 将所有功能部署在一起, 这样的架构好处是减 少了部署节点和成本缺点: 代码耦合,开发维护困难, 无法水平扩展, 单点容错率低,并发能力差2. 垂直拆分架构当访问量逐渐增大,单一应用无法满足需求,此时为了应对更高的并发和业务需求,我 们根据业务功能对系统进行拆分:优点:缺点:系统间相互独立,会有很多重复开发工作,影响开发效率3. 分布式服务当垂直应用越来越多, 随着项目业务功能越来越复原创 2022-08-24 21:24:49 · 219 阅读 · 0 评论 -
SpringBoot自动装配原理
>我们进入@SprignbootApplication这个注解中,里面会有四类注解>其中:>1.元注解包括@Target(声明@Retention(RetentionPolicykey:org.springframework.boot.autoconfigure.EnableAutoConfiguration。@Import({AutoConfigurationImportSelector.class}):导入AutoConfigurationImportSelector这个配置类.加载自动配置的类。原创 2022-08-23 18:07:57 · 215 阅读 · 0 评论 -
八股文第二十天
starter 启动器,可以通过启动器集成其他的技术,比如说: web, mybatis, redis 等等.可以提供对应技术的开发和运行环境. 比如: pom 中引入 spring-boot-starter-web, 就可以进行 web 开发.原创 2022-08-22 20:11:28 · 213 阅读 · 0 评论 -
八股文第十九天
5.@RequestParam: 标注在方法参数之前,用于对传入的参数做一些限制,支持三个 属性: - value:默认属性,用于指定前端传入的参数名称 - required:用于指定此参数是否必传 - defaultValue:当参数为非必传参数且前端没有传入参数时,指定一个默认值 6. @ControllerAdvice 标注在一个类上,表示该类是一个全局异常处理的类。return mv;用于类 上,则表示类中的所有响应请求的方法都是以该地址作为父路径。原创 2022-08-22 05:15:50 · 213 阅读 · 0 评论 -
八股文第十八天
Spring 事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring 是 无法提供事务功能的。① PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。② PROPAGATION_SUPPORTS:支持当前事务,如果当前存在事务,就加入该事务, 如果当前不存在事务,就以非事务执行。③ PROPAGATION_MANDATORY:支持当前事务,如果当前存在事务,就加入该事 务,如果当前不存在事务,就抛出异常。...原创 2022-08-17 19:22:25 · 239 阅读 · 0 评论 -
八股文第十七天
如果数据库结果集中的列名和要封装实体的属性名有不一致的情况用 resultMap 属性,通过 resultMap 手动建立对象关系映射,resultMap 要配置一下表和类的一 一对应关系,所以说就算你的字段名和你的实体类的属性名不一样也没关系,都会给你映射出来。水平切分:将记录散列到不同的表中,各表的结构完全相同,每次从分表中查询, 提高效率。索引字段的选择, 最佳候选列应当从 where 子句的条件中提取, 如果 where 子句中的组合比较多, 那么应当挑选最常用, 过滤效果最好的列的组合....原创 2022-08-16 15:02:49 · 449 阅读 · 0 评论 -
八股文第十六天
Mysql 中的 B+Tree MySql 索引数据结构对经典的 B+Tree 进行了优化, 在原 B+Tree 的基础上, 增加了一个指向相邻叶子节点的链表指针, 就形成了带有顺序指针的 B+Tree, 提高区间访问的性能。(2)乐观锁: 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。......原创 2022-08-14 12:46:30 · 262 阅读 · 0 评论 -
八股文第十五天
3 ) 可重复读(Repeatable read): 这是 MySQL 的默认隔离级别,它确保了一个事务中多个实例在并发读取数据的时候会读取到一样的数据;简单的说,幻读指当用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 行。(1)读未提交(read Uncommited): 在该隔离级别,所有的事务都可以读取到别的事务中未提交的数据,会产生脏读问题,在项目中基本不怎么用, 安全性太差;索引的主要作用是加快数据查找速度,提高数据库的性能。...原创 2022-08-12 17:23:14 · 139 阅读 · 0 评论 -
八股文(数据库篇)——第十四天
avg()/sum()…2、每个 myisam 在磁盘上存储为 3 个文件,文件名和表名相同,扩展名分别是 .frm -------存储表定义 .MYD --------MYData,存储数据 .MYI --------MYIndex,存储索引。主要特点: MySQL5.5 版本之前的默认存储引擎支持表级锁(表级锁是 MySQL 中锁定粒度最大的一种锁,表示对当前操作的整张表加锁),不支持事务,外键。支持行级锁(行级锁是 Mysql 中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁);......原创 2022-08-09 08:10:20 · 323 阅读 · 0 评论 -
八股文第十三天
Ajax 即"Asynchronous JavaScript And XML"(异步 JavaScript 和 XML),是指一种创 建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新 部分网页的技术。通过异步模式,提升了用户体验优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用Ajax 引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量 下的服务器负载。axios 是什么?怎样使用它?怎么解决跨域的问题?...原创 2022-08-07 08:31:06 · 239 阅读 · 0 评论 -
八股文(Web篇——网络通讯部分)第十二天
客户端和服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”。是一个基于请求与响应模式的、无状态的、应用层的协议,基于 TCP 的连接方式。原创 2022-08-06 23:13:22 · 296 阅读 · 0 评论 -
八股文(JVM篇)第十二天
Jvm篇虚拟机,一种能够运行 java 字节码的虚拟机。日期2022年8月6日程序计数器:线程私有的(每个线程都有一个自己的程序计数器), 是一个指针. 代码运行, 执行命令. 而 每个命令都是有行号的,会使用程序计数器来记录命令执行到多少行了.记录代码执行的位 置Java 虚拟机栈:线程私有的(每个线程都有一个自己的 Java 虚拟机栈). 一个方法运行, 就会给这个方法创 建一个栈帧, 栈帧入栈执行代码, 执行完毕之后出栈(弹栈)存引用变量,基本数据类型本地方法栈:线程私有的(每个线程都有一原创 2022-08-06 09:00:59 · 182 阅读 · 0 评论 -
八股文第十一天
1、shutdownNow 首先将线程池的状态设置为 STOP,然后尝试停止所有的正在执行和未执行任务的线程,并返回等待执行任务的列表。3判断线程池里的线程是否都在执行任务。2、shutdown 只是将线程池的状态设置为 SHUTDOWN 状态,然后中断所有没有正在执行任务的线程。1 线程池首先判断核心线程池里的线程是否已经满了。如果不是,则创建一个新的工作线程来执行任务。2 判断工作队列是否已经满了,倘若还没有满,将线程放入工作队列。原理:遍历线程池中的所有线程,然后依次中断。...原创 2022-08-04 22:52:47 · 109 阅读 · 0 评论 -
八股文第十天
面试题第十天原创 2022-08-03 19:13:50 · 122 阅读 · 0 评论 -
八股文第九天
第九天原创 2022-08-01 17:24:38 · 504 阅读 · 0 评论 -
八股文第八天
今天就不继续往下学了,发现前七天背的东西都忘光了,今天复习一下。原创 2022-07-30 12:11:04 · 190 阅读 · 0 评论 -
八股文第七天
当newHashMap()底层没有创建数组,首次调用put()方法时,底层创建长度为16的数组,jdk8底层的数组是Node[],而非Entry[],用数组容量大小乘以加载因子得到一个值,一旦数组中存储的元素个数超过该值就会调用rehash方法将数组容量增加到原的两倍,专业术语叫做扩容,在做扩容的时候会生成一个新的数组,原来的所有数据需要重新计算哈希码值重新分配到新的数组,所以扩容的操作非常消耗性能。1、HashMap是非线程安全的,HashTable是线程安全的。...原创 2022-07-28 02:34:32 · 161 阅读 · 0 评论 -
八股文第六天
队列是一种基于先进先出(FIFO)的数据结构,是一种只能在一端进行插入,在另一端进行删除操作的特殊线性表,它按照先进先出的原则存储数据,先进入的数据,在读取数据时先被读取出来。数组是最常用的数据结构,数组的特点是长度固定,数组的大小固定后就无法扩容了,数组只能存储一种类型的数据,添加,删除的操作慢,因为要移动其他的元素。链表是一种物理存储单元上非连续、非顺序的存储结构,其物理结构不能只表示数据元素的逻辑顺序,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。它有两个子接口List和Set。...原创 2022-07-26 23:18:53 · 185 阅读 · 0 评论 -
八股文第五天
悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号机制和CAS算法实现。...原创 2022-07-26 01:53:08 · 102 阅读 · 0 评论 -
八股文第四天
都是RuntimeException类及其子类异常,如NullPointerException(空指针异常)、IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。...原创 2022-07-24 14:54:00 · 173 阅读 · 0 评论 -
八股文第三天
从JDK8开始,允许接口中存在一个或多个默认非抽象方法和静态方法。**5.StreamAPI**新添加的StreamAPI(java.util.stream)把真正的函数式编程风格引入到Java中。这种风格将要处理的元素集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理,比如筛选,排序,聚合等。............原创 2022-07-23 00:42:07 · 143 阅读 · 0 评论 -
八股文第二天
单例模式某个类的实例在多线程环境下只会被创建一次出来。单例模式有饿汉式单例模式、懒汉式单例模式和双检锁单例模式,枚举。//饿汉式线程不安全,一开始就初始化。//特点占用内存,节约获取时间,只要用到了这个类,就创建了对象packageday16;//这个类只能创建一个对象publicclassPerson{//把构造方法私有化privatePerson(){}//创建一个对象privatestaticPersonp=newPerson();https。...原创 2022-07-21 21:57:22 · 105 阅读 · 0 评论 -
八股文第一天
## 第一题:面向对象的特征 面向对象的特征:封装、继承、多态、抽象。 **封装**:就是把对象的属性和行为(数据)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节,就是把不想告诉或者不该告诉别人的东西隐藏起来,把可以告诉别人的 公开,别人只能用我提供的功能实现需求,而不知道是如何实现的。增加安全性。 **继承**:子类继承父类的数据属性和行为,并能根据自己的需求扩展出新的行为,提高了代码的复用性。 **多态**:指允许不同的对象对同一消息做出相应,一个对象的多种形态。即同一消息可以根.原创 2022-07-20 01:09:49 · 204 阅读 · 0 评论