草庐IT

clearing

全部标签

java - 调用 hashSet.clear() 后创建一个新的 HashSet 还是重用更好

我想在HashSet中处理一些新数据,而不需要任何旧数据或旧HashSet对象。旧的HashSet对象不在其他地方引用。简单地做hashset=newHashSet()更好吗?让JVM释放旧HashSet对象的内存,或者我应该调用hashSet.clear()并重复使用相同的HashSet?根据openJDK,hashSet.clear()是:publicvoidclear(){map.clear();}和map.clear():publicvoidclear(){modCount++;Entry[]tab=table;for(inti=0;i由于map.clear()会迭代所有的en

c# - List.Clear() 在 C# 中是如何实现的?

我假设它使用一个数组来实现List。List.Clear()是如何实现的?它实际上是清理数组还是只是为这个列表创建一个新数组?publicclassList{privateArray_array;publicvoidClear1(){_array.length=0;}publicvoidClear2(){_array=newArray();}} 最佳答案 像这样(使用.NETReflector):publicvoidClear(){if(this._size>0){Array.Clear(this._items,0,this._si

c++ - vector::clear 的复杂性是否未指定?

根据Is`std::vector::clear()`aconstanttimeoperation?的讨论,注意到C++标准似乎没有指定vector::clear的运行时间。它指定list::clear(线性;§23.3.5.4.5)、.clear的运行时间,用于有序(表102)和无序关联容器(表103)(均为线性)。但是,似乎缺少vector::clear(尽管其他vector成员,例如.data和.swap似乎具有特定的复杂性)。真的没有具体说明,还是我遗漏了什么? 最佳答案 Isitreallyunspecified,ordid

c++ - vector<T>::clear 可以抛出吗?

有没有机会调用std::vector::clear()抛出异常? 最佳答案 没有。[2003:21.2.1/11|n3290:21.2.1/10]:Unlessotherwisespecified(see23.2.4.1,23.2.5.1,23.3.3.4,and23.3.6.5)allcontainertypesdefinedinthisClausemeetthefollowingadditionalrequirements:[..]—noerase(),clear(),pop_back()orpop_front()functio

python - 我需要什么 K.clear_session() 和 del 模型(Keras with Tensorflow-gpu)?

我在做什么我正在训练并使用卷积神经元网络(CNN)进行图像分类,使用Keras和Tensorflow-gpu作为后端。我正在使用什么-PyCharm社区2018.1.2-Python2.7和3.5(但不能同时使用)-Ubuntu16.04-Keras2.2.0-Tensorflow-GPU1.8.0作为后端我想知道的在许多代码中,我看到人们使用fromkerasimportbackendasK#Dosomecode,e.g.trainandsavemodelK.clear_session()或使用后删除模型:delmodel关于clear_session的keras文档说:“销毁当前的

python - 字典的 clear() 方法是否会从内存中删除所有与项目相关的对象?

如果字典包含可变对象或自定义类的对象(例如查询集,甚至是DateTime),那么在字典上调用clear()会从内存中删除这些对象吗?它的行为是否与遍历dict和deleting不同?例如。考虑classMyClass(object):'''TestClass.'''my_obj_1=MyClass()my_obj_2=MyClass()my_dict={'foo':my_obj_1,'bar':my_obj_2}然后是my_dict.clear()同forkeyinmy_dict.keys():delmy_dict[key]? 最佳答案

python - 为什么python中没有list.clear()方法?

灵感来自thisquestion.为什么python中没有list.clear()方法?我在这里发现了几个问题,说正确的方法是以下之一,但没有人说为什么不只是一种方法。dellst[:]lst[:]=[]虽然它可能违背“python的禅宗”,有不止一种做某事的方式,但对我来说,有一个“list.clear()”方法似乎更明显。它也符合dicts和sets,两者都有.clear()。我在python-dev和python-ideas上看到了一些关于此的帖子,但没有得出明确的答案(参见here(2006)和here(2009))。圭多有考虑过吗?这只是过去4-5年尚未解决的争论点吗?更新:

java - ArrayList.clear() 方法是否释放内存?

这个问题在这里已经有了答案:JavaCollectionsandGarbageCollector(3个回答)关闭8年前.如果我没记错的话,ArrayList包含存储您添加到列表中的变量的内存位置的值。因此,我的假设是,当您调用ArrayList.clear()方法时,它只会释放上述值(内存位置),但不会释放这些内存位置本身。我将尝试用一个例子来说明这一点:假设你有当前的内存状态:[Memorylocation](typeofvariable)*value*[1000](int)32[1002](int)12[1003](float)2.5然后将它们添加到列表myList,因此它包含指向

java - 为什么不是 LinkedList.Clear() O(1)

我假设LinkedList.Clear()在我正在处理的项目中为O(1),因为我使用LinkedList来排空需要高吞吐量的消费者中的BlockingQueue,然后清除和重用LinkedList。事实证明这个假设是错误的,因为(OpenJDK)代码是这样做的:Entrye=header.next;while(e!=header){Entrynext=e.next;e.next=e.previous=null;e.element=null;e=next;}这有点令人惊讶,LinkedList.Clear有什么理由不能简单地“忘记”它的header.next和header.previou

java - PorterduffXfermode : Clear a section of a bitmap

目标是在某物的顶部绘制位图,并绘制可删除位图底层区域的形状。我有一个概念证明来尝试了解我应该如何去做。我发现了很多关于使用的提示:android.graphics.PorterDuff.Mode.CLEAR下面的代码创建了一个蓝色背景的屏幕并添加了一个自定义View。此View在其Canvas上从下到上绘制:粉红色背景、带有轻微插入以显示粉红色背景的位图以及每个PorterDuffXfermode的黄色圆圈。importandroid.app.Activity;importandroid.content.Context;importandroid.graphics.Bitmap;imp