我对类似问题的答案很感兴趣.我认为这是不正确的.所以我创建了一些测试代码.我的问题是,这个代码是否证明/反驳/不确定在拆解方法中使成员变量无效的假设?我用JUnit4.8.1测试了它.
JUnit为4个测试中的每个测试创建一个新的测试类实例.每个实例都包含一个Object obj.此obj也作为静态WeakHashMap的键插入.如果JUnit释放对测试实例的引用,则关联的obj值将被弱引用,因此符合gc条件.测试试图强制gc.WeakHashMap的大小将告诉我objs是否是gc'ed.一些测试使obj变量无效,而其他测试则没有.
import org . junit . Before ;
import org . junit . After ;
import org . junit . Test ;
import java . util . ArrayList ;
import java . util . WeakHashMap ;
import java . util . concurrent . atomic . AtomicInteger ;
import static org . junit . Assert . * ;
public class Memory
{
static AtomicInteger idx = new AtomicInteger ( 0 ) ;
static WeakHashMap < Object , …
Run Code Online (Sandbox Code Playgroud) 我一直在尝试按照https://learning-continuous-deployment.github.io/docker/images/dockerfile/2015/04/22/docker-gui-osx/上关于在Docker容器中运行GUI应用程序的说明进行操作MacBookPro主机(使用Docker工具).
我使用Fedora 23创建了一个简单的docker容器并安装了firefox.
我尝试运行firefox,大约一分钟后,我收到以下错误:
Unable to init server: Broadway display type not supported: 192.168.57.3:0
Error: cannot open display: 192.168.57.3:0
Run Code Online (Sandbox Code Playgroud)
有没有人知道错误意味着什么和/或如何解决它?
我想实现一个从磁盘/网络中检索对象的迭代器.
Iterator itr = getRemoteIterator();
while(itr.hasNext()) {
Object element = itr.next();
System.out.print(element + " ");
}
Run Code Online (Sandbox Code Playgroud)
然而问题是,hasNext()
和next()
该方法的迭代器对象不允许扔IOException
.是否还有其他标准接口可以解决此问题?
期望的代码是:
public interface RemoteIterator<E> {
boolean hasNext() throws IOException;
E next() throws IOException;
void remove();
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一个模拟人工神经网络的程序.我设置了以下类和接口:
public interface Neuron
{
}
// Input neuron
public class INeuron implements Neuron
{
}
// Output and hidden neuron
public class ONeuron implements Neuron
{
}
public interface Layer
{
public ArrayList<Neuron> getNeurons();
}
// Input layer
public class ILayer implements Layer
{
ArrayList<INeuron> neurons = new ArrayList<INeuron>();
public ArrayList<Neuron> getNeurons()
{
return neurons;
}
// other stuff appropriate to the input layer
}
Run Code Online (Sandbox Code Playgroud)
编译器报告"无法从ArrayList <INeuron>转换为ArrayList <Neuron>".
我试过转换东西.例如:ArrayList<Neuron> neurons = new ArrayList<INeuron>()
.但这似乎只是将同样的错误转移到了班级的不同部分.
我不明白为什么INeuron不能被隐含地投射到Neuron,因为INeuron是神经元的一个子类型.
我想避免if else,在java中:
for (Class clazz : method.getParameterTypes()) {
if (SomeClass.class.isAssignableFrom(clazz)) {
arguments[i] = onearg;
} else if (SomeOtherClass.class.isAssignableFrom(clazz)) {
arguments[i] = someotherarg;
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议如何做到这一点?谢谢
这是我的代码
package alpha ;
class A1
{
static class A11
{
private
final // WHAT IS THE EFFECT OF THIS MODIFIER?
void fun ( String caller )
{
System . out . println ( "A11:\t" + caller ) ;
}
}
static class A12 extends A11
{
private void fun ( String caller )
{
super . fun ( caller + caller ) ;
}
}
public static void main ( String [ ] args )
{
A12 a12 = …
Run Code Online (Sandbox Code Playgroud) SYSO有什么影响System.out.println()
?如果我的计算机正在执行一项大型工作,例如从数据库中取出2个Lakhs(大约2,000,000条)记录到文件,SYSO会影响执行时间吗?