9.15学习记录

Cookie和session的区别

  1. cookie存储在客户但,session存储在服务端
  2. Cookie大小有限制,session一般没有限制
  3. Sessionx相对于cookie来说更安全一些

session存储在服务端哪里

  1. 一般是在内存中
  2. 可以持久化到内存中
  3. 可以放到分布式缓存中

数据库使用了哪些索引?

普通索引,唯一索引,全文索引,覆盖索引,联合索引

使用联合索引要注意什么?

  1. 尽量把区分度高的字段放在左边
  2. 避免索引失效

Spring中用到了哪些设计模式?

  1. 工厂模式:使用BeanFactory来管理Bean实例
  2. 模板方法模式:JDBCtemplate、Redistemplate等待
  3. 单例模式:默认将bean以单例管理,只有一个实例
  4. 代理模式:AOP
  5. 适配器模式:SPringMVC中的Handleradapter
  6. 建造者模式:简化对象构造过程

MAVEN常用命令

清理:clear

编译:compile

测试:test

打包:package

安装:install

部署:depoly

NIO

NIO是同步非阻塞IO模型

三个核心组件:buffer。Cannel。Selector。

Epoll的水平触发和边缘触发

水平触发: 只要一个文件描述符准备好进行 I/O 操作,epoll_wait() 就会报告该事件。即使应用程序没有处理该事件,只要条件仍然满足,epoll_wait() 在后续的调用中仍会报告相同的事件。

特点: 重复报告。 易于实现。 容错性强。

边缘触发:当一个文件描述符的状态从"未准备就绪"变成"准备就绪"的时候,epoll_wait() 会报告一次事件。如果应用程序没有及时处理事件,并且在此期间状态没有再次改变,则该事件不会再被报告。

特点: 仅报告一次。 效率更高。 要求严格。

TCP拥塞控制算法

慢开始、拥塞避免、快恢复、快重传

JMM模型

定义Java并发编程的一套规范,目的是简化多线程编程,增强程序可移植性

spring中有哪些事务传播行为?

Propagation_required:如果存在事务就加入,否则创建一个新事务

Propagation_requires-new:创建一个新的事务,如果当前有事务,挂起当前事务

Propagation_nested:如果存在事务,创建一个事务当作当前事务的嵌套事务,否则创建一个新事务

Propagation_Mandatory:存在加入,否则异常

如何保证消息顺序消费?

  1. 可以使用单个消费者
  2. 通过设置消息优先级,优先级高的先被消费
  3. 在消息上设置id,消费者端拿到消息后先进行排序
  4. 使用插件或者自定义交换机

Es有哪些重要的模块?

索引模块、查询模块、聚合模块、发现模块、存储模块、协调模块

es和mysql的比较

  1. mysql是关系型数据库,es是文档数据库
  2. mysql主要用来存储数据,es主要用来进行检索
  3. mysql使用b树和B+树等索引结构,es主要是倒排索引
  4. mysql使用sql查询语句,es使用DSL

创建线程的方式

  1. 继承thread类,重写run方法
  2. 实现Runnable接口,重写run方法
  3. 实现Callable接口,重写run方法,可以拿到返回值
  4. 使用excutors创建线程池
  5. 使用completablefuture类执行异步任务
  6. 基于Threadgroup线程组
  7. 使用futuretask匿名创建
  8. 使用timer定时器
  9. 使用forkjoinpool或许stream并行流
相关推荐
Gary Studio1 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice1 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
lingggggaaaa1 小时前
安全工具篇&动态绕过&DumpLsass凭据&Certutil下载&变异替换&打乱源头特征
学习·安全·web安全·免杀对抗
PP东1 小时前
Flowable学习(二)——Flowable概念学习
java·后端·学习·flowable
学电子她就能回来吗1 小时前
深度学习速成:损失函数与反向传播
人工智能·深度学习·学习·计算机视觉·github
AI视觉网奇3 小时前
ue 角色驱动衣服 绑定衣服
笔记·学习·ue5
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习
ZH15455891316 小时前
Flutter for OpenHarmony Python学习助手实战:GUI桌面应用开发的实现
python·学习·flutter
编程小白20267 小时前
从 C++ 基础到效率翻倍:Qt 开发环境搭建与Windows 神级快捷键指南
开发语言·c++·windows·qt·学习
学历真的很重要7 小时前
【系统架构师】第二章 操作系统知识 - 第二部分:进程与线程(补充版)
学习·职场和发展·系统架构·系统架构师