当前位置: 首页 > article >正文

9.22学习记录

进程间通信方式

管道、有名管道、共享内存、消息队列、信号、信号量、套接字

JVM内存模型

私有:程序计数器、本地方法栈、虚拟机栈

公有部分:堆、方法区

equals和hashcode有什么区别和联系?

equals默认比较两个对象的引用,但是实际需要更多的是判断两个对象的值是否相等,所有我们通常要进行重写                                                 

hashcode是返回对象的哈希码值,而这个哈希码值默认是对地址的哈希,如果equals进行了重写,则hashcode必须重写

在HashMap我们先通过hashcode来找出对象在数组中的位置,再通过equals来比较是否相等,可以减少equals的调用次数

为什么栈内存的空间使用效率高于堆内存?

  1. 栈内存管理简单,不需要进行垃圾回收
  2. 栈内存操作是顺序的,分配非常快
  3. 不容易产生内存碎片

为什么内存访问速度高于磁盘?

  1. 存储介质和技术差异 两种不同的存储介质,工作原理和技术特性存在很大差异。内存通常使用半导体技术制造。而磁盘则依赖机械或基于闪存的技术来读写数据。
  2. 访问延迟 内存可以直接通过电子信号访问。磁盘访问涉及到寻道时间、旋转延迟以及数据传输时间。
  3. 数据传输速率 内存的数据传输速率通常比磁盘高得多。内存--高速总线--CPU通信,而磁盘--I/O控制器--总线或网络--CPU。
  4. 缓存机制 现代计算机系统使用多层次缓存来提高数据访问速度。CPU缓存是最接近处理器的高速缓存,访问速度极快。还有L2和L3缓存层,缓存层可以进一步减少从内存到CPU的数据传输时间。而磁盘数据通常需要通过内存缓冲区或其他形式的缓存来加速访问。
  5. 并发访问能力 内存支持并发访问,可以同时处理多个请求。而磁盘的并发访问能力相对较弱。
  6. 数据组织 内存中的数据组织更为紧凑,通常按照页或段的方式组织。而磁盘上的数据可能会因为碎片化而分布在不同的物理位置。

http各版本的比较

1.0和1.1

1.1支持长连接,引入更多的状态码如409、410,引入多种缓存机制,允许请求部分更节省带宽,并且Host可以设置多个域名

2.0支持多路复用,HPACK头部压缩,服务器推送和二进制帧传输

3.0引入了quik协议,连接建立只需要0次或1次握手,利用多个数据流解决了队头阻塞问题,使用HPACK算法来进行头部压缩,有更好的错误恢复和安全性

UDP如何解决丢包问题?

UDP本身是无状态的,但是可以通过再应用层引入一些机制来保证可靠性

序列号机制、ACK机制、超时重传、冗余数据、多路传输、心跳机制

UDP传输效率为什么高?

无连接,减少握手过程延迟

头部开销比TCP小

不提供确认机制,减少往返通信次数

无流量/拥塞控制,最大化利用网络带宽

较少的错误检测

数据库三大范式

  1. 表中的字段不能再被分割,只能是一个值
  2. 消除了非主属性对码的部分函数依赖
  3. 消除了非主属性对码的传递函数依赖

http://www.kler.cn/news/315787.html

相关文章:

  • 如何在 UniApp 中实现地图的视野自适应?
  • STM32系统时钟
  • 如何创建标准操作规程(SOP)[+模板]
  • 移动技术开发:简单计算器界面
  • en造数据结构与算法C# 用Unity实现简单的群组行为算法 之 聚集
  • 数据库 | 索引
  • 记K8s组件harbor和kuboard故障恢复
  • 桶排序和计数排序(非比较排序算法)
  • QT实现升级进度条页面
  • 计算机毕业设计之:基于深度学习的路面检测系统(源码+部署文档+讲解)
  • frpc内网穿透
  • Card View 卡片视图
  • 软媒市场新探索:软文媒体自助发布,开启自助发稿新篇章
  • 算法练习题24——leetcode3296移山所需的最小秒数(二分模拟)
  • Mysql删库跑路,如何恢复数据?
  • HDFS性能优化高频面试题及答案
  • AWS 将 OpenSearch 纳入 Linux 基金会旗下
  • 四十一、完成内容添加功能(使用go测试方法)
  • 全栈项目小组【算法赛】题目及解题
  • How do you send files to the OpenAI API?
  • 1.量化第一步,搭建属于自己的金融数据库!
  • 鸿蒙设置,修改APP图标和名称
  • Android Choreographer 监控应用 FPS
  • 如何在Chrome最新浏览器中调用ActiveX控件?
  • 什么时候用synchronized,什么时候用Reentrantlock
  • 高等数学——微分学
  • 5.《DevOps》系列K8S部署CICD流水线之K8S通过Yaml部署GitLab
  • C++从入门到起飞之——多态 全方位剖析!
  • 通信工程学习:什么是NFVI网络功能虚拟化基础设施层
  • Apache HttpComponents HttpClient