小编Fre*_*Dan的帖子

Java:getInstance vs Static

getInstance()Java中的目的是什么?

在我的研究过程中,我一直在阅读,这getInstance()有助于实现Singleton设计模式(这意味着整个程序中只有一个实例符合我的理解).但我不能只使用静态?这不是静止的全部意义吗?

如果我只是有静态方法和字段,它与使用getInstance()有何不同?是否存在静态的"范围"?例如,每个方法或类一个实例?

如果它们不同,在什么情况下我会选择getInstance()使用静态?

如果问题不清楚,我很抱歉,我确信我遗漏了一些有关主题的内容,我只是无法弄清楚是什么.

感谢您提供任何建议.

java singleton static design-patterns

28
推荐指数
2
解决办法
5万
查看次数

Java - 为什么我不能部分键入变量?

为什么在使用现有变量键入新变量时输入全部或全部?

例如,假设我有一个data类型为的变量List<Map<String, ArrayList<String>>>,我想将其值传递给tempData.为什么在决定tempData我的类型时我是否仅限于ListList<Map<String, ArrayList<String>>>

如果我只想与某个"级别"进行交互data,比如Map级别,我该如何跳到那里?比如为什么我不能List<Map> tempData = data

我搜索过我的教科书和这个网站,但我无法找到解释原因的地方.如果我们被允许"部分打字",是否会出现问题?

我知道我可以强烈打字tempData,但我很好奇为什么Java有一个全有或全无的方法.

java weak-typing strong-typing

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

ConcurrentModificationException:.add()vs .addAll()

为什么会发生以下情况?两者都不应该有效吗?

List<String> items = data;
for( String id : items ) {
    List<String> otherItems = otherData;        

    // 1.   addAll()
    //Causes ConcurrentModificationException
    items.addAll(otherItems);

    // 2.   .add()
    //Doesn't cause exceptions
    for( String otherId : otherItems ) {
        items.add(otherId);
    }
}
Run Code Online (Sandbox Code Playgroud)

是因为add()添加了集合Items,还是addAll()创建了一个新的集合,从而将Items修改为List的另一个实例?

编辑 itemsotherItems具体类型ArrayList<String>.

java foreach concurrentmodification

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

如何修改 NiFi 的 Web UI 的根上下文

启动 NiFi 时,它的默认根上下文是 nifi,因此它的 URL 如下所示:

http://localhost:8080/nifi/
Run Code Online (Sandbox Code Playgroud)

我需要能够支持以下 URL:

http://localhost:8080/custom/nifi/
Run Code Online (Sandbox Code Playgroud)

有没有办法在 NiFi 中进行这种配置?如果需要,我可以进行源代码修改。

apache-nifi

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