![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
自我面试复习
文章平均质量分 65
自我面试复习记录
段之笑
这个作者很懒,什么都没留下…
展开
-
跨域问题相关
跨域问题本质:浏览器无法执行其他网站的脚本,是浏览器对js脚本的安全策略,是由于游览器的同源策略规定的(协议,域名,端口都要一致) 1.nginx代理:nginx代理模式,所有的请求都会先交给nginx,nginx进行代理,然后将其再发给网关,然后网关在去转给对应服务 2配置当次请求容许跨越:因为所有的请求都会先发送预检请求,所有我们可以告诉这次请求可以进行跨域访问,及添加响应头进行配置 ...原创 2021-11-10 21:13:59 · 2561 阅读 · 0 评论 -
SpringCloud
1.Nacos:注册中心 2.Openfeign:远程调用服务 3.Ribbon:负载均衡 三种算法:轮询 权重 随机 4.Hystrix 熔断 隔离 降级 5.Zuul:网关原创 2021-10-28 21:25:39 · 84 阅读 · 0 评论 -
Redis
1.非关系型数据库 支持的数据类型:String(字符串)、List(列表)、Set(集合)、Hash(散列表)、Zset(有序集合) 2.为什么使用Redis Redis的数据是存储在内存中,所有读写性能优异 高性能:用户第一次从硬盘读取数据后,将访问的数据存在缓存中,这样在下一次用户访问时就会直接从缓存中获得数据,获取速度大大加快 高并发:操作缓存的承受是大于访问数据库,避免出现高并发情况,减少数据库压力 支持数据持久化,支持AOF和RDB俩种持久化方式 数据结构丰富而简单,支持多原创 2021-09-28 14:31:08 · 126 阅读 · 1 评论 -
Spring
Spring 核心组成模块: 1.spring core:提供了框架的基本组成部分,包括控制反转(Inversion of Control,IOC)和依赖注入(Dependency Injection,DI)功能 2.spring beans:提供了BeanFactory,是工厂模式的一个经典实现,Spring将管理对象称为Bean 3.spring context:构建于 core 封装包基础上的 context 封装包,提供了一种框架式的对象访问方法 ...原创 2021-09-08 14:44:51 · 94 阅读 · 0 评论 -
MYSQL相关
三大范式 1.每个列都不可以被拆分 2.非主键列必须完全依赖于主键 3.非主键列不能依赖其他非主键 三大范式的存在保证了数据的原子性,数据必须且只能跟主键有直接的关系 MyISAM引擎和InnoDB引擎 MyISAM:查询速度更优,但是不支持事务,不支持行级锁和外键,使用聚簇索引 InnoDB:写入速度更优,支持事务,行级锁以及外键,使用非聚簇索引,主键索引和覆盖索引速度很高效 InnoDB四大特性 1.插入缓冲 2.二次写 3.自适应哈希索引 3.预读 索引 一种数原创 2021-09-02 18:01:29 · 98 阅读 · 0 评论 -
JVM相关
JVM:java虚拟机,java可以跨平台的原因 JVM内存结构: 程序计数器:记录当前线程执行到哪一条字节码指令位置 虚拟机栈:线程执行方法的时候内部存局部变量会存堆中对象的地址等等数据 本地方法栈:存放各种native方法的局部变量表之类的信息 Java堆:对象,静态变量,共享 方法区:存放类信息,运行时常量池,共享。java8移...原创 2021-09-01 16:24:03 · 112 阅读 · 0 评论 -
IO与网络编程
io流 输入流:InputStream,FileInputStream,ByteArrayInputStream,BufferedInputStream,Reader,FileReader,BufferedReader 输出流:OutputStream,FileOutputStream,ByteArrayOutputStream,BufferedOutputStream,Writer,FileWriter,BufferedWriter BIO,NIO和AIO BIO:blocking-io,同步原创 2021-09-01 14:07:07 · 155 阅读 · 0 评论 -
线程池相关
线程池:用于管理线程的工具 优点: 降低资源消耗。通过重复利用已创建的线程,降低线程创建和销毁造成的消耗。 提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。 增加线程的可管理型。线程是稀缺资源,使用线程池可以进行统一分配,调优和监控。 核心属性: threadFactory(线程工厂):用于创建工作线程的工厂 corePoolSize(核心线程数):当线程池运行的线程少于 corePoolSize 时,将创建一个新线程来处理请求,即使其他工作线程处于空原创 2021-08-31 18:03:07 · 150 阅读 · 0 评论 -
java 锁
乐观锁跟悲观锁 乐观锁:在每次操作时,都认为不会对数据进行修改操作,所以不对数据进行上锁。因此多用于读操作很多的地方,不需要进行上锁,提高吞吐量 悲观锁:在每次操作时,都认为会对数据进行修改操作,所以对数据都进行上锁,保证了数据的安全性(即一个进程在修改数据时,其他进程无法对该数据进行操作) 公平锁跟非公平锁 公平锁:多个线程在等待同一个锁时,必须按照申请锁的先后顺序来一次获得锁 非公平锁:多个线程在等待同一个锁时,不会按照申请锁的先后顺序来获得锁 优劣:公平锁保证了每个线程都能获得锁,但是原创 2021-08-31 15:35:49 · 102 阅读 · 0 评论 -
HashMap相关
1.键对值存储方式 2.存储形式:1.8之后采用“数组+链表+红黑树”,1.7采用“数组+链表” 3.存取方式: 1.7头插法:即当你插入一个新的key-value值时,会先对key值进行hash运算(key.hashcode()),如果返回值相同,那么他们的存储位置相同的。此时使用equals方法去比较Entry的key值,如果返回值为true,则用新的value值去覆盖旧的,如果返回值我false,则将其Entry和原来的Entry形成链结构并插入头部(以新的值为头形成链表) 1.8尾插法:与头原创 2021-08-31 14:52:53 · 93 阅读 · 0 评论 -
ArrayList相关
1.底层实现:底层使用数据实现,Object[] elementData 2.特点:顺序排序,查询速度快,插入,删除速度慢(顺序删除速度慢,随机删除速度快) 3.查询原理:查询时,根据输入的index值进行快速定位查询 4.插入,删除原理:以新增为例,当在index位插入新的元素,ArrayList会复制index+1位后面的所有元素,然后将元素按顺序插入到index+1位后面,实现元素的插入,删除同理,即是覆盖操作,所以相对于LinkedList插入删除速度较慢。但是在随机插入时,则无需考虑这么多,原创 2021-08-31 10:58:36 · 135 阅读 · 0 评论 -
JAVA基础
1.面向对象的三大特征 继承:子类继承父类的特征和行为,让子类对象具有父类的方法和行为 封装:隐藏对象的属性和实现细节,对数据的访问只能通过外公开的接口,一种对内部数据的保护行为 多态:对于同一个行为,不同的子类对象具有不同的表现形式 存在条件:1.继承 2.重写 3.父类引用指向子类对象 2.重写跟重载 重写:子类继承父类,他具有父类的所有方法和行为,但是他可以对父类的方法进行修改,以增加功能。 规则:1.子...原创 2021-08-30 17:37:17 · 720 阅读 · 0 评论