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