我们后端生成的所有webservice-stub都有一个类似于这个的equals方法:
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof PropertyData)) return false;
PropertyData other = (PropertyData) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((this.key==null && other.getKey()==null) ||
(this.key!=null &&
this.key.equals(other.getKey()))) &&
((this.value==null && other.getValue()==null) ||
(this.value!=null &&
this.value.equals(other.getValue())));
__equalsCalc = null;
return _equals;
}
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释一下这个问题__equalsCalc吗?我只是不明白.它不会在课堂上的其他地方使用.我看待它的方式,在计算"相等"时它并非完全无效.但是声明了等于synchronized.因此,在任何给定时间只能有一个线程.我看不出,为什么 …
今天我修复了一个应用程序中的错误,该错误可能导致servlet请求/响应周期中的无限循环.
所以只是出于好奇:如果我的servlet实际上被困在for(;;)循环中会发生什么?
是否有可能恢复?tomcat会检测到这个吗?可以在不重新启动服务器的情况下杀死此实例吗?
或者这是可能发生的最糟糕的事情之一,以及一种非常快速的杀死网络容器的方法?
编辑:这是一个真正的无限循环消耗CPU始终消耗CPU而不是内存.我让它运行了几分钟.我想,我可以确认tomcat不会检测到这种事情:-)
我使用Virtual PC创建新的环境来测试我的安装程序.但我必须做错事,因为内置Vista或XP的VPC图像占用大约15GB的磁盘空间(包括安装在其中的VS2005/S2008).
要创建用于测试的新副本,我复制并粘贴其中包含.vhd,.vmc和.vsv文件的文件夹.使用新的VPC图像进行测试后,我删除该复制的文件夹.这可行,但每次复制15GB需要花费很长时间.有没有更快/更有效的方法?
我们的应用程序依赖于其他系统提供的众多资源.
为了确保这些资源的存在,我们目前有一个JUnit测试用例(可能更多的是集成测试),它将所有资源列表作为文本文件,获取每个资源并跟踪成功/失败.
这是一个非常长期运行的testCase,它不是非常"工具友好".我们真正希望拥有的是每个资源的一个测试方法.
我知道这不是JUnit的意图.但有没有办法在运行中生成这些测试方法?
也许比写一个perl脚本生成数百种方法更"优雅"?
非常感谢!
我即将建立一个通过svn + ssh访问的subversion服务器.我想知道,默认存储库位置在哪里(在unix框上).
你把它放进去了吗
/opt/svn
Run Code Online (Sandbox Code Playgroud)
要么
/home/svn
Run Code Online (Sandbox Code Playgroud)
要么
/usr/subversion
Run Code Online (Sandbox Code Playgroud)
甚至
/svn
Run Code Online (Sandbox Code Playgroud)
或者别的地方?
我正在寻找这个地方,大多数人都把它.有会议吗?
编辑:
绝对可以从用户"隐藏"实际存储库位置.例如(在我的例子中)通过svnserve以下面的方式包装可执行文件:
svnserve -r /var/svn/repos
Run Code Online (Sandbox Code Playgroud)