小编Nin*_*Lee的帖子

在局部变量上同步是否合理?

从java内存模型中,我们知道每个线程都有自己的线程堆栈,并且局部变量放在每个线程自己的线程堆栈中.

其他线程无法访问这些局部变量.

那么在这种情况下,我们应该同步局部变量?

java multithreading synchronization local-variables

17
推荐指数
3
解决办法
9104
查看次数

如何在多个docker主机之间共享图像?

我有两个主机,每个都安装了docker.

众所周知,每个docker都将图像存储在本地/var/lib/docker目录中.

因此,如果我想使用某些图像,例如ubuntu,我必须执行docker pull从每个主机的互联网下载.

我认为这很慢.

我可以将图像存储在共享磁盘阵列中吗?然后让一些主机拉一次图像,允许每个可以访问共享磁盘的主机直接使用该图像.

是可能还是好的做法?为什么docker不是这样设计的?

它可能需要破解docker的源代码来实现它.

docker dockerhub docker-registry

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

Spring Boot - 从 application.yml 注入 map<Enum,Class>

我在 J2SE 应用程序中使用 Spring Boot。

我有一些常量数据,比如地图,表示一个HandlerClass处理一个操作的类型。

映射关系没有改变,所以我想在 application.yml 中配置它

我试试这个:

info:
  modify_nodeip: omm.task.impl.ModifyNodeIpHandler
Run Code Online (Sandbox Code Playgroud)

但是地图只能被识别为Map<String,String>,如何将地图注入为Map<Enum,Class>

谢谢!

更新: 我遵循@cfrick 指令,但它不起作用。

应用程序.yml

config:
    optHandlerMap:
        modify_oms_nodeip: 'omm.task.opthandler.impl.ModifyOMSNodeIpHandler'
Run Code Online (Sandbox Code Playgroud)

测试配置:

@Configuration
@ConfigurationProperties(prefix = "config")
public class TestConfiguration
{

    Map<OperationType,OptHandler> optHandlerMap; // here we store the handlers, same name in yaml
    TestConfiguration() {}

}
Run Code Online (Sandbox Code Playgroud)

并且主要功能使用了配置

@Autowired
private TestConfiguration testConfiguration;
Run Code Online (Sandbox Code Playgroud)

那有什么问题?但它不起作用,optHandlerMapintestConfiguration为空。

yaml initialization spring-boot

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

自然键vs auto_increment键作为主键

我的问题是关于自然键和auto_increment整数作为主键.

例如,我有表ABA_B_relation.A和B可能是某个对象,并A_B_realtion记录A和B的多对多关系.

A和B都有自己的全局唯一ID,例如UUID.UUID可供用户使用,这意味着用户可以通过UUID查询A或B.

有两种方法可以设计表的主键.

  1. 使用auto_increment整数.A_B_relation将整数引用为FK.
  2. 使用UUID.A_B_relation将UUID引用为FK.

例如,用户想要通过A的UUID查询与A关联的所有B的信息.

对于第一种情况,查询流程如下:

First, query A's integer primary key by UUID from `A`.

And then, query all the B's integer primary key from `A_B_relation`.

At last, query all the B's info from `B`.
Run Code Online (Sandbox Code Playgroud)

对于后一种情况,流程如下:

Query all the B's UUID from the `A_B_relation` by A's UUID.

Query all the B's info from `B`.
Run Code Online (Sandbox Code Playgroud)

所以我认为,后一种情况更方便.这是正确的吗?后一种情况的不足之处是什么?

primary-key auto-increment surrogate-key

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

如何在 Spring Boot 中手动新建实例中使用 @Autowired

我们知道,@Autowired只能在spring容器管理的实例中使用,如果你新建一个实例,其中的@Autowired成员不会生效。

但我认为在某些情况下,新实例无法避免。

比如一个RunnableTask。其中包含由 spring 管理的 DAOService。因为任务是手动新建的。所以我不能在ThreadTask中使用DAOService。

所以我想知道如何在Spring Boot 中获取 ApplicationContext ,这样我就可以通过context.getBean().

我知道在 main() 中我可以自动装配 ApplicationContext。但是我不能在任何地方都将上下文作为参数传递!

我想在任何地方获取 ApplicationContext。

任何帮助将不胜感激。

autowired applicationcontext spring-boot

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

为什么太多的时期会导致过度拟合?

我正在阅读python深度学习书。在阅读了第4章,克服过度拟合之后,我有两个问题。

  1. 为什么增加时期数会导致过度拟合?我知道增加历元数会涉及到更多的梯度下降尝试,这会导致过度拟合吗?

  2. 在对抗过度拟合的过程中,精度会降低吗?

machine-learning gradient-descent

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