我目前正在滚动自己的小ORM,发现自己面临创建规范化映射的任务,以防止从数据库中多次加载同一实体。
我目前的方法是使用HashMap<Object, WeakReference<Object>>
。该键是映射数据库实体的主键(ArrayList<Object>
如果是复合键,则为),其值为WeakReference<Object>
。
我的主要问题是如何清理地图?当不再使用某个对象时,映射中的弱引用将消失null
,而我只会在下一次查找时发现它(或者,如果我不再查找该对象,则永远不会)。当弱引用ReferenceQueue
被清除时,我可以将它们注册为a
,然后在每次查找时检查该队列。尽管清除的引用不会给我任何有关清除哪个对象的提示,所以我想我必须继承子类WeakReference
才能将键存储在映射中,因此可以在清除引用后将其删除。
这是走的路,还是有更简单的方法来实现呢?
我建议在r10中使用Guava的MapMaker或CacheBuilder。
它们允许自动*place)基于时间和大小,驱逐,以及配套的弱密钥或值。(即将发布的CacheBuilder
承诺将专门针对此类用例而定制。)
因此,您可以初始化地图:
ConcurrentMap<Key, Object> cache = new MapMaker()
.weakValues()
.makeMap();
而直接的好处是,当一个值被垃圾回收时,整个条目将被删除。此外,您可以使用计算图:
ConcurrentMap<Key, Object> cache = new MapMaker()
.weakValues()
.makeComputingMap(loadFunction);
其中loadFunction
是Function<Key, Object>
从数据库加载的对象。这样做的好处是,映射将处理对特定对象的并发请求,从而确保查询仅被调用一次。此外,发出请求的代码只需调用get()
即可,并且无论从高速缓存还是从数据库中获取,始终可以期望返回对象。
这些示例正在使用MapMaker
-我还没有玩玩具的乐趣CacheBuilder
。
问题内容: 我需要找到两个WSDL文件中的差异。我从这里像这样漂亮地打印它们开始,但是我看到在两个定义的文件中(无论出于何种愚蠢的原因)都以不同的顺序进行了相同的操作(例如s)。我想进一步规范化这些文件,以便以后可以使用诸如standard之类的东西来查找差异。 不知道WSDL是否有定义的规范形式,我知道有Canonical XML ,但是我需要进一步讲解并排序所有顺序无关紧要的东西。 问题答案:
我有一个名为内容的实体类型。 实体类型具有一对一关系。 SurveyData 实体实际上是一个映射的超类。它最终将有几十个用于存储来自不同调查数据的实体子类。 根据文档,我创建了一个自定义规范化器,它基于键处理非规范化: 有了这个,我可以完美地创建一个嵌入了SurveyData的新提交。下面是我发送给POST请求的JSON示例: 但是,当我通过 GET 获取集合或单个提交实体时,API 平台返回的
问题内容: PHP中是否存在用于URL规范化的预先存在的函数或类? 具体来说,请遵循Wikipedia文章中有关URL规范化的语义保留规范化规则(或我应该遵循的任何“标准”)。 将方案和主机转换为小写 转义序列中的大写字母 添加尾随/(到目录,而不是文件) 删除默认端口 删除点段 现在,我认为我将只使用,并分别应用规则,但我希望避免重新发明轮子。 问题答案: Pear Net_URL2库看起来至少
本文向大家介绍解释如何在Python中使用scikit-learn库实现L1规范化?,包括了解释如何在Python中使用scikit-learn库实现L1规范化?的使用技巧和注意事项,需要的朋友参考一下 将值范围转换为标准值范围的过程称为标准化。这些值可以在-1到+1或0到1之间。数据也可以借助减法和除法进行归一化。 作为输入馈入学习算法的数据应保持一致和结构化。输入数据的所有特征都应在单个范围内
我了解批次归一化有助于更快的训练,将激活转向单位高斯分布,从而解决梯度消失问题。批次规范行为在训练(使用每个批次的平均值/var)和测试时间(使用训练阶段的最终运行平均值/var)中的应用不同。 另一方面,实例归一化作为对比度归一化,如本文所述https://arxiv.org/abs/1607.08022。作者提到,输出样式化的图像不应依赖于输入内容图像的对比度,因此实例规范化有助于实现。 但是
在web应用部署描述符中,以下语法用于定义映射: 以‘/’字符开始、以‘/*’后缀结尾的字符串用于路径匹配。 以‘*.’开始的字符串用于扩展名映射。 空字符串“”是一个特殊的URL模式,其精确映射到应用的上下文根,即,http://host:port//请求形式。在这种情况下,路径信息是‘/’且servlet路径和上下文路径是空字符串(“”)。 只包含“/”字符的字符串表示应用的“default”