可能重复:
为什么Java禁止内部类中的静态字段?
我正在通过规范并得到内部类中的静态成员不可能是最终编译时间常量.
class HasStatic {
static int j = 100;
}
class myInnerClassTest {
class Inner extends HasStatic {
static final int x = 3; // OK: compile-time constant
static int y = 4; // Compile-time error: an inner class
}
static class NestedButNotInner{
static int z = 5; // OK: not an inner class
}
interface NeverInner {} // Interfaces are never inner
}
Run Code Online (Sandbox Code Playgroud)
虽然我得到了为什么我们可以拥有静态最终成员但是在内部类中不能使用静态方法?它可以从其所有者类继承静态成员.但为什么不应该呢?OOP的主要伤害是什么?
我需要询问如何实现线程池,以便在每次发生任务提交时执行恒定数量的线程.(在Executor中避免每次线程创建和删除开销)
executor.submit(Runnable)
Run Code Online (Sandbox Code Playgroud)
让我们说我们在开始时创建一些线程,当任务到来时,我们使用任何Queue impl为它们(Thread)分配任务.但是在完成它的任务之后,如果线程的生命周期中的话,线程如何再次返回其池
"执行其run方法后,它进入TERMINATED状态,不能再次使用"
我不明白线程池是如何工作的,因为它有一定数量的线程来执行任何任务到它的队列.
如果有人能够在完成任务后为我提供线程重用的示例,那将是很棒的.
!!提前致谢 .!!