小编Nas*_*LEK的帖子

为什么在Double-Checked-Locking中添加第二个测试?

请参阅此https://en.wikipedia.org/wiki/Double-checked_locking,我们有:

// "Double-Checked Locking" idiom
class Foo {
    private Helper helper;
    public Helper getHelper() {
        if (helper == null) {
            synchronized(this) {
                if (helper == null) {
                    helper = new Helper();
                }
            }
        }
        return helper;
    }    
    // other functions and members...
}
Run Code Online (Sandbox Code Playgroud)

第二次测试的目的是什么?2个线程是否真的可以同时访问同一个关键部分?

java multithreading synchronization design-patterns

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

泛型情况下 lambda 中的返回类型错误

拥有这个泛型代码

\n\n
static final <T> List<Class<? extends T>> findSubClasses(Class<T> clz, String packageName){\n    ClassPathScanningCandidateComponentProvider provider =\n                new ClassPathScanningCandidateComponentProvider(false);\n    provider.addIncludeFilter(new AssignableTypeFilter(clz));\n    Set<BeanDefinition> beanDefinitions = provider.findCandidateComponents(packageName);\n    List<Class<? extends T>> subClasses = beanDefinitions.stream().map(b->mapToClass(b, clz)).collect(Collectors.toList());\n        return subClasses;\n}\n\nprivate static final <T> Class<? extends T> mapToClass(BeanDefinition beanDefinition, Class<T> clz) {\n   String className = beanDefinition.getBeanClassName();\n   try {\n       return (Class<? extends T>) Class.forName(className);\n   } catch (ClassNotFoundException e) {\n       log.error("Failed to load the scanned class {}", className, e);\n   }\n   return null;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我在b->mapToClass(b, clz)

\n\n
Bad\xc2\xa0return\xc2\xa0type\xc2\xa0in\xc2\xa0lambda\xc2\xa0expression:\xc2\xa0Class<capture\xc2\xa0of\xc2\xa0?\xc2\xa0extends\xc2\xa0T>\xc2\xa0cannot\xc2\xa0be\xc2\xa0converted\xc2\xa0to\xc2\xa0Class<Object>\n
Run Code Online (Sandbox Code Playgroud)\n\n

如何解决这个问题?

\n

java generics lambda compiler-errors java-8

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

无法使用域和路径访问会话 cookie

我想知道:为什么我无法访问这个具有域和路径的会话 cookie?

有解决办法吗?

在此输入图像描述

javascript session-cookies

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

HashMap如何真正起作用?

根据这个问题

如何做一个hashmap-work-in-java这个

许多键值对可以存储在同一个存储桶中(在使用哈希计算存储桶的索引之后),当我们调用get(key)它时,查看链表并使用equals方法进行测试.

这对我来说听起来并没有真正优化,是不是hashCode在使用之前比较链接List的s equals

如果答案是否定的:

它意味着大多数时间桶只包含1个节点,你能解释一下原因吗?因为根据这个逻辑解释,许多不同的键可以具有相同的桶索引.

如何实现确保密钥的良好分配?这可能意味着存储桶表大小是相对于键的数量

即使Table Bucket大小等于键的数量,HashMap hashCode函数如何确保键的良好分配?不是随机分布?

我们可以有更多细节吗?

java

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