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并行流
相关推荐
adinnet20263 小时前
电商客服对话知识库的自学习闭环与质量演进机制
学习
lazy H4 小时前
【计算机网络】第 13 篇:NAT 和端口映射是什么?为什么本地服务外网访问不了?
java·网络·网络协议·学习·计算机网络·408
试剂界的爱马仕5 小时前
α-Cyano-4-hydroxycinnamic acid(CHCA)用作 MALDI-TOF 基质的配制与使用
大数据·人工智能·深度学习·学习
小向是个Der5 小时前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
学网安的肆伍5 小时前
认证机制攻防学习|PortSwigger Authentication 靶场复现总结(二):用户名枚举进阶
学习·web安全·网络安全·burpsuite·portswigger·认证安全·靶场复现
海绵宝宝转agent6 小时前
Leetcode二叉树算法个人理解
笔记·学习·算法·leetcode·深度优先
小oo呆6 小时前
【学习心得】MCP工具开发学习笔记
笔记·学习
kyrie_sakura6 小时前
大模型学习19 大模型学习 - LangChain2_Retrieval(RAG-文档处理-向量处理检索-Milvus)
学习·langchain·milvus
女神下凡7 小时前
芯参谋(79):嵌入式学习进阶_(硬件与软件)深入实践指南
arm开发·单片机·嵌入式硬件·学习·fpga开发·设计规范
星恒随风7 小时前
Linux Socket TCP编程(二):逐文件重构多进程、多线程与线程池服务器,深入fork、pthread_create、popen和std::bind
linux·服务器·笔记·学习·tcp/ip