小编zeu*_*gor的帖子

Java中不同类型的线程安全集

似乎有很多不同的实现和方法在Java中生成线程安全的集合.一些例子包括

1)CopyOnWriteArraySet

2)Collections.synchronizedSet(Set set)

3)ConcurrentSkipListSet

4)Collections.newSetFromMap(new ConcurrentHashMap())

5)以类似于(4)的方式生成的其他集合

这些示例来自Java 6中的并发模式:并发集实现

有人可以简单解释这些例子和其他例子的差异,优点和缺点吗?我无法理解并保持Java Std Docs中的所有内容.

java concurrency set

126
推荐指数
3
解决办法
8万
查看次数

Java NIO - Files.isSameFile与Path.equals的不同之处

我无法理解java.nio.file.Files.isSameFile方法与java.nio.file.Path.equals方法的不同之处.

有人可以告诉他们有什么不同吗?

java nio java-7

8
推荐指数
1
解决办法
4728
查看次数

S3 ListObjectsV2Request 排序参数

我可以将存储桶maxKeys中的项目列出bucketName为:

new ListObjectsV2Request().withBucketName(bucketName).withMaxKeys(maxKeys)
Run Code Online (Sandbox Code Playgroud)

如果存储桶的对象数量多于maxKeys,我想获取“maxKeys”最旧的对象。

我如何获取maxKeys最旧的?有没有办法向我的列表请求添加排序参数?

java amazon-s3 amazon-web-services

2
推荐指数
1
解决办法
1685
查看次数

MongoDB、Java - 从 JSON 查询到文档

嘿,

我需要一些帮助将以下 MongoDB 查询转换为 MongoDB Java 驱动程序查询。

请注意,查询有效。

db.days.aggregate([
    { $match: { 'day' : 'March_1'}},
    { $project: {
        _id : 0,
        day: 1,
        events: {$filter: {
            input: '$events',
            as: 'event',
            cond: {$eq: ['$$event.year', '2002']}
        }}
    }}
])
Run Code Online (Sandbox Code Playgroud)

我的尝试是这样的,但失败了,我需要你的帮助。

Document query = new Document("$match", new Document("day", day)).
    append("$project", new Document("_id", 0).
            append("day", 1).
            append("events", new Document("$filter", new Document(
                    "input", "$" + category).
                    append("as", "event").
                    append("cond", new Document("$eq", Arrays.asList("$$event.year", year))))));
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

"{ "ok" : 0.0, "errmsg" : "A pipeline stage specification object …
Run Code Online (Sandbox Code Playgroud)

java json mongodb mongodb-java aggregation-framework

0
推荐指数
1
解决办法
1037
查看次数