小编loo*_*ese的帖子

在Eclipse(Java)中,如何确定导入的实际来源?

假设您正在使用Eclipse中的Java项目,并且您正在查看如下import语句:

import com.somefirm.somepackage.AClass;
Run Code Online (Sandbox Code Playgroud)

并且项目的类路径上有一百万个和一个.jars.

您如何确定进口的来源?

java eclipse

15
推荐指数
2
解决办法
8073
查看次数

如果你不用Java克隆那么你做了什么,你怎么称呼它?

有没有人在Java中有任何建议或建立的最佳实践和复制构造函数/工厂方法等的命名约定?特别是,假设我有一个类Thing,我希望某个方法返回一个ThingThing传入的值相同的新方法(如果它是实例方法,则返回实例).你有这个作为构造函数或静态工厂方法或实例方法?你会怎么称呼它?

根据标题,我想避免clone()Cloneable.

java oop

11
推荐指数
2
解决办法
1683
查看次数

这个基本的Java对象池是否有效?

以下基本对象池是否有效?我有一个更复杂的基于相同的想法(即保持信号量和BlockingQueue).我的问题是 - 我需要Semaphore和BlockingQueue吗?我是对的,我不需要做任何同步吗?

import java.util.Collection;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Semaphore;

public final class Pool<T> {

    private final BlockingQueue<T> objects;
    private final Semaphore permits;

    public Pool(Collection<? extends T> objects) {
        // we have as many permits as objects in our pool:
        this.permits = new Semaphore(objects.size());
        this.objects = new ArrayBlockingQueue<T>(objects.size(), false, objects);
    }

    public T borrow() {
        this.permits.acquireUninterruptibly();
        // we have a permit, so there must be one in there:
        return this.objects.poll();
    }

    public void giveBack(T object) {
        this.objects.add(object);
        this.permits.release();
    } …
Run Code Online (Sandbox Code Playgroud)

java concurrency object-pooling

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

在Java中,我如何确保永远不使用虚拟类?

我正在开发一个项目,在其中,为了解决版本控制问题,我创建了许多永远不会被测试的类,不能使用它们 - 它们只需要在那里保持编译器的快乐.我想确保它们永远不会被使用.今天早上我想到了在静态初始化块中抛出一个异常:

public class Dummy {

    static {
        throw new IllegalStateException("Do not use this class!");
    }
}
Run Code Online (Sandbox Code Playgroud)

但编译器不喜欢它.你能想到办法吗?

编辑:要清楚(我的错,我以前不清楚),这些不仅仅是空课.这里会有各种各样的代码,并且通过"让编译器保持高兴"我确实意味着在其他地方我将实例化它们,调用方法等等.我希望这些代码在别处编译但在运行时失败.我接受了Jon的回答,但也将@Deprecated酌情使用和记录.

java

2
推荐指数
3
解决办法
3840
查看次数

标签 统计

java ×4

concurrency ×1

eclipse ×1

object-pooling ×1

oop ×1