小编Qui*_*Bit的帖子

以无根模式在docker中挂载NFS共享

我正在尝试在 docker 容器中挂载 NFS 共享,但我无法这样做,因为在 rootlesskit 下运行的容器没有在主机上使用升级权限的权限。

有没有办法使用 rootlesskit 挂载共享或以某种方式修改 rootlesskit?

containers nfs root docker rootless

6
推荐指数
0
解决办法
420
查看次数

将 DynamoDB JSON 转换为 AttributeValue、Go 对象或 Json

我正在尝试转换简单的 DynamoDB 对象字符串:

{
  "Item": {
    "Id": {
      "S": "db31"
    },
    "CreateTime": {
      "N": "1647882237618915000"
    }
}
Run Code Online (Sandbox Code Playgroud)

到任一dynamodb.AttributeValue映射到 go 对象(go 类型结构)或转换为简单的 JSON go 对象。

我认为,Java中有类似的答案(1、2、3 我在Golang中没有找到类似的实现。

json go amazon-dynamodb aws-sdk-go aws-sdk-go-v2

6
推荐指数
1
解决办法
1209
查看次数

哪种 toArray 转换模式最适合使用?

我有以下一段 IntelliJ 建议我应该更改的代码:

String[] normalizedNames = rawToNormalized.values().stream().toArray(String[]::new);
Run Code Online (Sandbox Code Playgroud)

进入

String[] normalizedAliases = rawToNormalized.values().toArray(new String[0]);
Run Code Online (Sandbox Code Playgroud)

Aleksey Shipil?v 的帖子 ( https://shipilev.net/blog/2016/arrays-wisdom-ancients/ ) 建议:

toArray(new T[0]) 看起来更快、更安全、更干净,因此现在应该是默认选择。”

可有人请详细说明究竟是如何toArray(new String[0])不同于toArray(String[]::new)由流去,并使用toArrayCollector

toArray(new String[0])仍然流中使用?它仍然是一个性能更高/更好的选择吗?

java arrays toarray java-8 java-stream

5
推荐指数
1
解决办法
153
查看次数

在方法中从父类动态转换为适当的子类

我有一个 Java interface PlatformConfigurable。我也有两个类PlatformProducerConfigPlatformConsumerConfig.

稍后,我需要向两者添加一个通用配置,将属性设置为空字符串:

    private PlatformConfigurable disableHostNameVerificationConfig(PlatformConfigurable platformConfig) {
        if (platformConfig instanceof PlatformProducerConfig) {
            PlatformProducerConfig oldConfig = (PlatformProducerConfig) platformConfig;
            Map<String, String> additionalConfig = oldConfig.additionalProperties();
            Map<String, String> newConfig = new HashMap<>(Optional.ofNullable(additionalConfig).orElseGet(ImmutableMap::of));
            newConfig.put(SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, "");
            return oldConfig.toBuilder().additionalProperties(newConfig).build();
        }
        else if (platformConfig instanceof PlatformConsumerConfig) {
            PlatformConsumerConfig oldConfig = (PlatformConsumerConfig) platformConfig;
            Map<String, String> additionalConfig = platformConfig.additionalProperties();
            Map<String, String> newConfig = new HashMap<>(Optional.ofNullable(additionalConfig).orElseGet(ImmutableMap::of));
            newConfig.put(SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, "");
            return oldConfig.toBuilder().additionalProperties(newConfig).build();
        }
        return platformConfig;
    }
Run Code Online (Sandbox Code Playgroud)

我正在转换为生产者或消费者配置,因为PlatformConfigurable接口没有在其中声明.toBuilder().build()方法,并且我无权修改接口,因为我只能实现它。

我想摆脱重复的代码:

Map<String, …
Run Code Online (Sandbox Code Playgroud)

java generics lambda java-8

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