草庐IT

HashSet的扩容机制

全部标签

java - HashSet 实现中的空对象

在JavaAPI中,HashSet的实现是使用一个Object作为内部HashMap的值,//DummyvaluetoassociatewithanObjectinthebackingMapprivatestaticfinalObjectPRESENT=newObject();publicbooleanadd(Ee){returnmap.put(e,PRESENT)==null;}但是HashMap允许它的值为null。我认为这不是填充值所必需的,那么为什么需要它呢? 最佳答案 因为HashSet契约指定如果指定的对象存在并被删除,

Spring中的事务和事务的传播机制

事务是一组操作的集合,不可以被分割。事务会把所有的操作作为一个整体,这组操作要么全部成功,要么全部失败。事务有三种操作:开启事务;提交事务;回滚事务。如果代码的执行逻辑是这样:开启事务业务A回滚事务此时A当中的所有操作都不会生效开启事务业务A提交事务开启事务后只有这种情况下A中的逻辑才会生效Spring中事务的实现有两种编程式(手动操作事务)SpringBoot对于事务操作内置了两个类,我们在使用时可以选择直接注入:DataSourceTransactionManager:事务管理器,里面包含了事务的操作和获取;TransactionDefinition:事务的属性。在获取事务时需要充当参数。

VMware 虚拟机 ubuntu 20.04 硬盘扩容方法

前言最近由于需要编译【RK3568】的LinuxSDK,发现虚拟机默认的200G空间不足了,因此想增加这个200G空间的限制,通过网络上查找了一些方法,加上自己亲自验证,确认硬盘扩容正常,方法也比较的容易,所以做个笔记记录下来。操作步骤如下首先VMware虚拟机ubuntu20.04需要【关机】,而不是【挂起】,这里强烈建议进入虚拟机ubuntu后,点击关机的按钮进行关机,而不是通过VMware【电源】进行关机,VMware【电源关机】会产生一些影响,比如【虚拟网卡】无法工作,导致虚拟机ubuntu20.04无法联网,这个后面再写一个笔记。VMware点击【编辑虚拟机设置】,进入【虚拟机设置】

论文笔记:Deformable DETR-可变形注意力机制——DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT DETECTION

论文笔记:DeformableDETR-可变形注意力机制——DEFORMABLEDETR:DEFORMABLETRANSFORMERSFOREND-TO-ENDOBJECTDETECTION综述主要思想方法可变注意力模块多尺度可变注意力模块可变形的TF编码器总结综述论文题目:《DEFORMABLEDETR:DEFORMABLETRANSFORMERSFOREND-TO-ENDOBJECTDETECTION》会议时间:ICLR2021论文地址:https://openreview.net/pdf?id=gZ9hCDWe6ke源码地址:https://github.com/fundamentalv

Java 反射机制

​更多内容,前往IT-BLOG​反射Reflection被视为动态语言的关键,反射机制允许程序在执行期间借助于ReflectionAPI取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。反射是一种功能强大且复杂的机制。使用它的主要人员是工具构造者,而不是应用程序员。如果仅对设计应用程序感兴趣,而对构造工具不感兴趣,就没有学习的必要。一、反射机制提供的功能(什么时候会用到反射)【1】在运行时判断任意一个对象所属的类。【2】在运行时构造任意一个类的对象。【3】在运行时判断任意一个类所具有的成员变量和方法。【4】在运行时调用任意一个对象的成员变量和方法。【5】生成动态代理。二、Class类

MVVM模式的消息传递机制:Messenger.Default.Send 和 Register

是在MVVM中用来传递消息的一种方式。它是在MVVMLight框架中提供的一个实现了IMessenger接口的类,可以用来在ViewModel之间、ViewModel和View之间传递消息。Send接受一个泛型参数,表示要发送的消息内容。Register方法用于注册某个对象接收消息。publicvirtualvoidSend(TMessagemessage){SendToTargetOrType(message,null,null);}publicvirtualvoidSend(TMessagemessage)//指定消息的目标类型TTarget。目标类型可以是任何类型,包括ViewModel

聊聊Flink:Flink的分区机制

一、前言flink任务在执行过程中,一个流(stream)包含一个或多个分区(Streampartition)。TaskManager中的一个slot的subtask就是一个streampartition(流分区),一个Job的流(stream)分布在多个不同的Slot上执行。每一个算子可以包含一个或多个子任务(subtask),这些subtask执行在不同的分区中,本质是在不同的线程、不同的物理机或不同的容器中彼此互不依赖地执行。1.1Flink数据传输组件之间的通信消息传输,即Client、JobManager、TaskManager之间的信息传递,采用Akka框架(主要用作组件间的协同,

EventSource(SSE) 实时通信的服务器推送机制

一、简介Content-Type:text/event-stream的请求头,这是HTML5中的EventSource是一项强大的API,通过服务器推送实现实时通信。与WebSocket相比,EventSource提供了一种简单而可靠的单向通信机制(服务器->客户端),实现简单,适用于许多实时应用场景。本文将介绍EventSource的简单使用、与WebSocket的对比以及其优缺点,最后对其进行总结。二、EventSource(SSE)客户端从服务端订阅一条“流”,之后服务端可以发送消息给客户端直到服务端或者客户端关闭该“流”,所以EventSource也叫作SSE(server-sent-

k8s---安全机制

k8s的安全机制,分布式集群管理工具,就是容器编排。安全机制的核心:APIserver。为整个集群内部通信的中介,也是外控控制的入口。所有的机制都是围绕apiserver来进行设计:请求api资源:1、认证2、鉴权3、准入机制三个条件都通过,才可以在k8s集群当中创建。认证认证:AuthentcationHTTPTOKEN:通过token识别合法用户。tocken是一个很长很复杂的字符串,字符串是用来表达客户的一种方1、式。每一个token对应一个用户名,用户名存储在apiserver能够访问的文件中。客户端发起请求时,httpheard包含token客户端发起请求--------------

2023华为magicbook的C盘扩容方法

2023华为magicbook的C盘扩容方法(电脑自带的硬盘空间调整)早就做好这篇文章被超来超去的打算了,算了来吧,转载记得注明出处捏~还再为C盘冒红而感到烦恼吗?还再为使劲浑身解数想尽一切办法腾出C盘的空间,而C盘却纹丝不动不动吗?如果是的话,感觉往下看,你来对辣~(碎碎念:自己找了好多的方法,跌跌撞撞搞了好一阵子才成功扩容!)这个方法不需要跑到微软的什么网站去下什么包,只需要一个空的U盘和下载一个大白菜装机工具(我没恰广告,只是感觉这个方法很快)无需外接什么硬盘,就是把电脑自带的一个硬盘的内存调整到C盘(我就是把D盘的空间调整一部分给C盘的)由于是22年12月中旬干的事,到现在可能有些细节