学习笔记 韩顺平 零基础30天学会Java(2024.8.18)

P514 Vector源码解读

P515 双向链表模拟

      LinkedList的添加和删除可以通过改变节点的指向完成

      遍历的时候,如果要重新遍历,要把指针调回到最前面或者最后面,才能重新全部遍历一次

      插入的时候,插入对象的next和pre都要操作,指向到链表中,不能只改链表的

P516 LinkedList源码图解

P517 List集合选择

      都是线程不安全的

P518 Set接口方法

      在Set中,重复添加不会报错,但是会返回Flase(添加成功会返回True),但是只会显示一个这样的对象,对象是不是重复是看地址,null也可以作为对象添加,而且各对象取出的顺序和添加的顺序不一致,但是取出的顺序是固定的

P519 HashSet全面说明

P520 数组链表模拟

      HashSet底层是HashMap, HashMap底层是(数组+链表+红黑树),只有数组存储效率不够高

      当达到一定大小之后会转变为红黑树,因为树的存储效率更高

      创建示例:

      结构图例:

P521 HashSet扩容机制

      源码机制(第六点是到达8个,不是超过8个):

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/403749.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索tailwindcss多主题切换

现在的多主题切换基本上都是用的 css 变量的形式, 而tailwindcss也支持 css 变量定义主题的方式 至于为什么用 tailwindcss变量, 还是因为 tailwind 写类名提示比较方便, 也不需要再在css或者style中去一个个var的形式去写变量了 这里我在assets/style/theme文件夹中创建了三个…

音视频开发

通过多线程分别获取高分辨率(1920 * 1080)和低分辨率(1280 * 720) 初始化VI模块 初始化HIGH VENC模块 初始化LOW VENC模块 初始化RGA模块 绑定 VI和HIGH VENC 绑定 VI和RGA 创建线程 HIGH VENC处理 RGA处理 LOW VENC处理 销毁 QP原理的讲解 QP参数调节,指的是量化…

【后端记录】修复MySql的错误修改的数据记录【binlog修复】

前言 今天入门后端的时候,不小心改了非预期的数据,因为还没学到事务,所以恢复数据还比较麻烦,站在巨人的肩膀上还是解决了,原文连接在下面 https://blog.csdn.net/qq_42874315/article/details/140480570 解决办法 原…

【自动驾驶】控制算法(二)三大坐标系与车辆运动学模型

写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作&…

第37讲:Cephfs文件系统的正确使用姿势

文章目录 1.Cephfs文件系统简介2.Cephfs文件系统细节介绍2.1.Cephfs文件系统多客户端隔离挂载2.2.Ceph集群中多个Cephfs如何单独使用 3.挂载多个Cephfs文件系统4.Cephfs文件系统多客户端隔离挂载实战4.1.创建一个Cephfs文件系统4.2.将Cephfs文件系统挂载到本地路径4.3.在Cephfs…

java:IDEA修改java版本的几个不同的地方

文章目录 项目JDK设置(Project SDK)项目模块级JDK设置(Module SDK)IDE级别的JDK设置Maven配置文件编译器(Java Compiler)构建工具配置文件(如build.gradle或pom.xml).idea/misc.xml文…

Chrome快捷键提高效率

浏览效率提高快捷建 快速切换标签页 Ctrl 数字(1或者2),标签页数字从左到右为顺序,1开始。快速切换标签页。 Ctrl1 到 Ctrl8 切换到标签栏中指定位置编号所对应的标签页 Ctrl9切换到最后一个标签页 CtrlTab 或 CtrlPgDown 切…

EasyCVR视频汇聚平台构建远程安防监控:5大亮点解析,助力安防无死角

随着科技的飞速发展,远程安防监控系统已经成为现代社会中不可或缺的一部分,无论是在小区、公共场所还是工业领域,安防监控都发挥着至关重要的作用。而EasyCVR作为一款功能强大的视频监控综合管理平台,其在构建远程安防监控系统方面…

英伟达开源 Nemotron-4-4B:小型模型,大能量

前沿科技速递🚀 在人工智能领域,语言模型已经成为推动自然语言处理(NLP)进步的关键力量。然而,随着模型规模的不断扩大,训练和部署这些大型语言模型(LLM)的资源成本也在急剧增加。为…

WUP-MY-LABEL-PRINTER 旻佑热敏打印机标签打印uniapp插件使用说明

插件地址:WUP-MY-LABEL-PRINTER 旻佑热敏打印机标签打印安卓库 简介 本插件主要用于旻佑热敏打印机打印标签,不支持票据打印。适用于旻佑的各型支持标签打印的热敏打印机。本插件开发时使用的打印机型号为MY-805嵌入式面板打印机,其他型号请…

uni-app--》打造个性化壁纸预览应用平台(二)

🏙️作者简介:大家好,我是亦世凡华、渴望知识储备自己的一名前端工程师 🌄个人主页:亦世凡华、 🌆系列专栏:uni-app 🌇座右铭:人生亦可燃烧,亦可腐败&#xf…

深度学习的量化和剪枝

一:背景 如果要将深度学习的AI模型部署到受限设备(FPGA)上,往往需要更小的存储需求和最低的计算复杂度。当然,还得保持一定的性能(下降在能够接受的范围)。受限设备资源的环境,一般是…

数据结构与算法--插入排序与选择排序

文章目录 回顾提要排序基本概念排序的分类排序算法的稳定性排序算法的性能指标内排序 排序方法直接插入排序直接插入排序的要点直接插入排序的实现直接插入排序性能分析直接插入排序的适用情景 简单选择排序简单选择排序的要点简单选择排序的执行过程简单选择排序的实现简单选择…

分布式锁:Mysql实现,Redis实现,Zookeeper实现

目录 前置知识 Mysql实现分布式锁 1.get_lock函数 Java代码实现: 2.for update尾缀 Java代码实现: 3.自己定义锁表 Java代码实现: 4.时间戳列实现乐观锁 Java代码实现: Redis实现分布式锁 Zookeeper实现分布式锁&#…

完整搭建windows下mysql8.0源码编译调试环境!

背景: 前段时间一直在看mysql相关的博客,所以对源码起了浓厚的兴趣,所以尝试通过vmware和vscode在windosw环境中搭建一套编译调试的环境~ 看了一下网上的搭建教程基本杂乱无章,想要从零跟着搭建出一个完善的调试环境也不是易事&…

Leetcode3232. 判断是否可以赢得数字游戏

Every day a Leetcode 题目来源:3232. 判断是否可以赢得数字游戏 解法1:3232. 判断是否可以赢得数字游戏 用一个 sum1 统计个位数的和,sum2 统计十位数的和。 只要 sum1 和 sum2 不相等,Alice 拿大的就能赢得这场游戏。 代码…

Maven的依赖范围

依赖的jar包,默认情况下,可以在任何地方使用,可以通过scope来设置作用范围 作用范围: 主程序范围有效(main文件夹范围内)测试程序范围有效(test文件夹范围内)是否参与打包运行&…

一次日志记录中使用fastjson涉及到ByteBuffer的教训

背景 目前本人在公司负责的模块中,有一个模块是负责数据同步的,主要是将我们数据产线使用的 AWS Dynamodb 同步的我们的测试QA 的环境的 MongoDB 的库中,去年开始也提供了使用 EMR 批量同步的功能,但是有时候业务也需要少量的数据…

【OpenCV_python】凸包检测 轮廓特征 直方图均衡化 模板匹配 霍夫变换

凸包特征检测 凸包就是图像的最小外接多边形,通过图像的轮廓点,找到距离最远的两个点的直线,根据直线找到距离最远的下一个点,直到所有的点被包围在多边形内 读取图像二值化找图像的轮廓获取凸包点的坐标绘制凸包点 convexHull 获…

程序员如何写PLC程序

PLC是可编程逻辑控制器的简称,常用的编程语言是IEC61131-3(梯形图、结构化文本、指令表、功能块、顺序功能图)和西门子的SCL。程序员常用的编程语言是JS、Java、Python、C/C、Go等。PLC广泛采用编程工具有codesys、博图等。程序员常用的编程工…