我读过" 什么时候在Java中使用'volatile'? "但我仍然感到困惑.我怎么知道何时应该标记变量volatile?如果我弄错了,要么在需要它的东西上省略volatile,要么在不需要的东西上放置volatile呢?在确定多线程代码中哪些变量应该是易变的时,有哪些经验法则?
我对访客模式及其用途感到困惑.我似乎无法想象使用这种模式或其目的的好处.如果有人可以用例子解释,如果可能的话会很好.
Java 7已经出现了一段时间了,但我找不到任何关于垃圾收集器配置的好资源,特别是新的G1收集器.
我的问题:
我想Class使用接受单个String参数的构造函数从其对象实例化一个对象.
这是一些接近我想要的代码:
Object object = null;
Class classDefinition = Class.forName("javax.swing.JLabel");
object = classDefinition.newInstance();
Run Code Online (Sandbox Code Playgroud)
但是,它实例化JLabel没有文本的对象.我想使用JLabel接受字符串作为初始文本的构造函数.有没有办法从Class对象中选择特定的构造函数?
我对这件事情仍然有些困惑.我到现在所发现的是
(这里已经提出了类似的问题,但我还有其他一些观点.)
接口是仅抽象方法和最终字段的集合.
Java中没有多重继承.
接口可用于在Java中实现多重继承.
继承的一个优点是我们可以在派生类中使用基类代码而无需再次编写它.可能这是继承在那里最重要的事情.
现在..
Q1.由于接口只有抽象方法(没有代码)所以我们怎么说如果我们实现任何接口那么它是继承?我们没有使用它的代码.
Q2.如果实现接口不是继承,那么如何使用接口来实现多重继承?
Q3.无论如何使用Interfaces有什么好处?他们没有任何代码.我们需要在我们实现它的所有类中反复编写代码.
那么为什么要制作接口呢?
注意:我找到了一个接口有用的案例.它的一个例子就像在Runnable接口中我们有public void run()方法,我们在其中定义线程的功能,并且内置编码,该方法将作为单独的线程运行.所以我们只需要编写线程中的代码,Rest是预定义的.但是这个东西也可以用抽象类和所有东西来实现.
那么使用接口的确切好处是什么?我们使用Interfaces实现了多重继承吗?
我在我的tomcat服务器上获得此异常(+ liferay)
java.util.concurrent.RejectedExecutionException
Run Code Online (Sandbox Code Playgroud)
我的课就是这样的:
public class SingleExecutor extends ThreadPoolExecutor {
public SingleExecutor(){
super(1, 1,0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>());
}
@Override
public void execute(Runnable command) {
if(command instanceof AccessLogInsert){
AccessLogInsert ali = (AccessLogInsert)command;
ali.setConn(conn);
ali.setPs(ps);
}
super.execute(command);
}
}
Run Code Online (Sandbox Code Playgroud)
我在行上遇到此异常super.execute(command);
当队列已满但LinkedBlockingQueue大小为2 ^ 31时,可能会发生此错误,我确信没有这么多命令等待.
一开始一切都很稳定,但在重新部署战争之后它就开始了.这个类不是战争的一部分,而是在tomcat/lib的jar中.
你知道为什么会发生这种情况以及如何解决这个问题吗?
我对Heap,Young,Tenured和Perm一代感到困惑.
有人可以解释一下吗?
我无法使用shutdown(),awaitTermination()因为有可能在等待时将新任务添加到ThreadPoolExecutor中.
所以我正在寻找一种方法,等待ThreadPoolExecutor清空它的队列并完成所有任务而不停止在该点之前添加新任务.
如果它有任何区别,这适用于Android.
谢谢
更新:几周后重新访问后,我发现在这种情况下修改后的CountDownLatch对我来说效果更好.我会保留答案标记,因为它更适用于我的要求.
java ×9
heap-memory ×2
oop ×2
android ×1
constructor ×1
decorator ×1
g1gc ×1
html ×1
inheritance ×1
interface ×1
java-7 ×1
jvm ×1
reflection ×1
visitor ×1
volatile ×1
wait ×1