小编Pre*_*eon的帖子

有效地从java中的大型数组中删除重复的字符串?

我正在考虑从(未排序的)字符串数组中删除重复项的最佳方法 - 该数组包含数百万或数千万字符串.数组已经预先填充,因此优化目标只是删除重复而不是防止重复从最初填充!!

我正在考虑进行排序然后二元搜索以获得log(n)搜索而不是n(线性)搜索.这将给我nlogn + n次搜索,这些搜索除了未排序(n ^ 2)之外的搜索效果更好,但这似乎仍然很慢.(还考虑了散列但不确定吞吐量)

请帮忙!寻找一种解决速度和内存的高效解决方案,因为在不使用Collections API的情况下涉及数百万字符串!

java

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

方法级单例实例是否安全?

obj下面的操作是否安全?我知道方法级别的变量和实例会在每个线程的堆栈上发生 - 但我不确定当局部变量是单例时会发生什么.在webservice调用中调用foo().我很好奇这是否是线程安全的?

public void foo() {
    SomeObject obj = getSomeObject();  
    obj.doSomething();   // Would this be thread safe?
}

private SomeObject getSomeObject() {
    // returns singleton
    SpringContext.getBean("someObject");
}

class SomeObject {
    int x;
      ...

    // Not synchronized
    public void doSomething() {

    }
}
Run Code Online (Sandbox Code Playgroud)

java singleton multithreading thread-safety

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

标签 统计

java ×2

multithreading ×1

singleton ×1

thread-safety ×1