9.22学习记录

news/2024/11/17 1:32:02/

进程间通信方式

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

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.ppmy.cn/news/1530992.html

相关文章

根据软件架构设计与评估的叙述开发一套机器学习应用开发平台

案例 阅读以下关于软件架构设计与评估的叙述,回答问题 1和问题 2。 【说明】 某公司拟开发一套机器学习应用开发平台,支持用户使用浏览器在线进行基于机器学习的智能应用开发活动。该平台的核心应用场景是用户通过拖拽算法组件灵活定义机器学习流程&…

一键转换:Python如何轻松将PPT转换为PDF

哈喽,大家好,我是木头左! 准备工作:安装必要的Python库 在开始之前,确保你的系统中已经安装了Python环境。接下来,需要安装python-pptx和pdf2image这两个库。可以通过pip命令进行安装: pip install python-pptx pdf2image如果你使用的是Anaconda,那么可以使用: con…

Jenkins的安装

1.简介 官网:https://www.jenkins.io 中文文档:Jenkins Jenkins 是一个开源的持续集成(CI)工具,用于自动化构建、测试和部署软件项目。它提供了一个易于使用和可扩展的平台,帮助团队更高效地开发和交付软…

基于vue框架的宠物寻回小程序8g7el(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:发布人,宠物分类,宠物信息,接取人,接取信息,完成信息 开题报告内容 基于Vue框架的宠物寻回小程序开题报告 一、研究背景与意义 随着城市化进程的加快和人们生活水平的提高,宠物已成为许多家庭不可或缺的一员。它们不仅为生…

什么是Agent智能体?

你好,我是三桥君 近期,从各大厂商的年度大会到多个大型AI峰会,三桥君明显感受到行业风气的转变。这些会议不仅展示了众多AI Agent的实际应用案例,还有专家们对未来发展的预测。一时间,“Agent”这个词成为了热门词汇&…

2024人工智能结课作业-DFS/BFS/Astar解决数码问题

1 深度优先遍历搜索(DFS) 1.1算法介绍 深度优先搜索算法(Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发…

vue3中使用vue3-scroll-seamless插件

1、插件库官网地址&#xff1a; https://xiaofulzm.github.io/vue3-scroll-seamless/2、下载依赖。 npm install vue3-scroll-seamless --save3、组件中使用。 <vue3ScrollSeamlessref"vueSeamlessScroll":data"list":classOptions"classOptions…

Java.动态代理

1.创建一个接口 package Mydynamicproxy1;public interface Star {public abstract String sing(String str);public abstract void dance(String str); }2.创建一个BigStar类&#xff0c;要实现Star这个接口 package Mydynamicproxy1;public class BigStar implements Star{…