9.13学习记录

TCP报文结构

源端口、目标端口

序列号、确认号

数据偏移、保留、标志位、滑动窗口大小、校验和、紧急指针、选项、数据

java六大原则

单一职责、开闭、接口隔离、迪米特、依赖倒置、里氏替换

Java创建对象的方式

New、反射、克隆、静态工厂方法、单例模式

怎么把对象从一个jvm转移到另一个jvm?

  1. Rmi
  2. socket编程
  3. https/http
  4. Rpc
  5. 消息队列
  6. 分布式缓存系统

怎么实现序列号和反序列化?

可以用json来实现,json是一种轻量级数据交换格式,而且易于读取

怎么将对象转换成二进制字节流?

  1. 实现serializable接口
  2. 使用objectoutputstream来进行序列化

I/O多路复用使用场景

  1. 监听日志系统
  2. 分布式系统心跳监测
  3. 文件的上传和下载
  4. 网络服务器
  5. 高并发聊天室

服务端正常启动了,客户端请求不到有哪些原因?如何排查?

  1. 被防火墙阻拦了
    1. 检查防火墙规则
  2. 端口未绑定或者监听错误
    1. 查看服务端日志
    2. 使用命令行查看端口是否被占用
  3. 网络问题
    1. Ping
    2. 检查DNS配置
    3. 检查路由表
  4. 客户端配置问题
    1. 检查URL等等
  5. 中间件出问题了
    1. 检查中间件日志
    2. 检查中间件配置
  6. 协议问题
    1. 检查证书有效性

会出现ping不通但是http能请求成功的情况吗

  1. ICMP协议被禁用
  2. HTTP请求走的是其他端口
  3. DNS解析问题
  4. 防火墙可能会阻止ICMP流量
  5. ping命令软件本身问题

redis数据类型有哪些?

String、list、set、zset、bitmap、hyperloglog、geo、hash、bitfield、stream

zset应用场景

排行榜、评分系统、推荐系统

redis持久化机制

RDB:快照持久化

AOF:日志文件增量持久化

从他们的优势劣势、文件保存、触发机制、启用禁用方面来回答

Mysql ACID特性

原子性:事务是最小单位不允许分割,要么同时成功,要么同时失败

一致性:事务执行前后数据保持一致

隔离性:并发访问数据库时一个事务不会对其他事务产生干扰

持久性:事务提交之后,对数据库的改变是永久的

TCP断开连接

四次挥手

  1. 客户端向服务端发出数据包,请求断开连接    FIN-SEQ = X, FIN-WAIT-1状态
  2. 服务端向客户端发送,表示接收到请求 ACK = X + 1,FIN-WAIT-2状态
  3. 服务端再向客户端发送,表示数据传输完毕 FIN-SEQ = Y,LAST-ACK
  4. 客户端向服务端发送请求,表示接收完毕 ACK=Y + 1,TIME-WAIT

线程池的优点

  1. 降低资源消耗:线程的创建和销毁都要耗费资源
  2. 提高响应速度
  3. 提高线程的可管理性

线程安全问题怎么解决?

  1. 加锁
  2. 原子类
  3. volitile变量
  4. 不可变对象
  5. 并发集合类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值