小编Ben*_*n S的帖子

有没有办法忽略一个FindBugs警告?

对于PMD,如果要忽略特定警告,可以使用// NOPMD该行来忽略该行.

FindBugs有类似的东西吗?

java warnings findbugs suppress-warnings

183
推荐指数
6
解决办法
9万
查看次数

82
推荐指数
3
解决办法
20万
查看次数

如何确定对象是否被锁定(同步)以便不在Java中阻塞?

我有一个进程A,它在内存中包含一组带有一组记录的表(recordA,recordB等......)

现在,这个进程可以启动许多影响记录的线程,有时我们可以有2个线程试图访问同一条记录 - 这种情况必须被拒绝.特别是如果一个记录被一个线程锁定,我希望另一个线程中止(我不想BLOCK或WAIT).

目前我这样做:

synchronized(record)
{
performOperation(record);
}
Run Code Online (Sandbox Code Playgroud)

但是这导致了我的问题......因为当Process1正在执行操作时,如果Process2进入,则阻塞/等待同步语句,并且当Process1完成时,它执行操作.相反,我想要这样的东西:

if (record is locked)
   return;

synchronized(record)
{
performOperation(record);
}
Run Code Online (Sandbox Code Playgroud)

有关如何实现这一目标的任何线索?任何帮助将非常感激.谢谢,

java synchronization

71
推荐指数
4
解决办法
5万
查看次数

是否有一个跨平台的Java方法来删除文件名特殊字符?

我正在制作一个跨平台的应用程序,它根据在线检索的数据重命名文件.我想清理我从当前平台的Web API中获取的字符串.

我知道不同的平台有不同的文件名要求,所以我想知道是否有跨平台的方式来做到这一点?

编辑:在Windows平台上,您不能有问号'?' 在文件名中,而在Linux中,您可以.文件名可能包含这些字符,我希望支持这些字符的平台保留它们,否则,将它们删除.

此外,我更喜欢不需要第三方库的标准Java解决方案.

java filesystems filenames cross-platform

58
推荐指数
6
解决办法
3万
查看次数

有没有办法在不手动下载新版本的情况下更新JDK?

我刚收到更新17的Java更新通知,因此我运行了更新,发现只更新了我的公共JRE.我仍然只有JDK的Update 16.

有没有办法在可用时自动获得最新的JDK?

当然,更新不应该摆脱旧版本.这应该手动完成,因为Eclipse仍在使用旧版本.一旦我更新了我的设置,我会手动删除旧的JDK.

java auto-update

51
推荐指数
1
解决办法
4万
查看次数

在Objective-C中究竟是什么超级?

据我所知,它是指向超类的指针.它与超类硬连接,而不是在运行时动态计算出来的.想更详细地了解它......

任何人?

objective-c super objective-c-runtime

48
推荐指数
4
解决办法
3万
查看次数

如何在不读取其全部内容的情况下拖尾压缩文件?

我想模仿gzcat的功能 尾巴-n.

这对于有大量文件(几GB左右)的时候会有所帮助.我可以从头开始读取这样一个文件的最后几行吗?我怀疑这是不可能的,因为我猜gzip,编码将取决于所有以前的文本.

但是我还是想听听是否有人尝试过类似的事情 - 也许是通过可以提供这种功能的压缩算法进行调查.

compression algorithm

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

Eclipse metrics插件建议

我正在寻找一个工具来给我一些代码指标(总LOC,LOC/Class,外部引用/类的数量等等).

有谁知道一个好的eclipse插件可以为我提供一些代码指标?

eclipse metrics eclipse-plugin code-metrics

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

JUnit期望标记不按预期工作

我在eclipse中有以下测试用例,使用拒绝传递的JUnit 4.可能有什么不对?

@Test(expected = IllegalArgumentException.class)
public void testIAE() {
    throw new IllegalArgumentException();
}
Run Code Online (Sandbox Code Playgroud)

当尝试使用期望的标记测试我自己的代码时,这个确切的测试用例就出现了.我想看看JUnit是否会通过最基本的测试.它没有.

我还测试了自定义异常,没有运气.

屏幕截图: 屏幕截图http://www.freeimagehosting.net/uploads/6a995b0db7.png

java junit unit-testing junit4

33
推荐指数
1
解决办法
2万
查看次数

HTML解析类的构造函数应该做多少工作?

对象构造函数做多少工作是合理的?它应该只是初始化字段而不是实际对数据执行任何操作,还是可以让它执行某些分析?

背景: 我正在编写一个类,负责解析HTML页面并根据解析的信息返回各种信息.类的设计使得类的构造函数执行解析,如果发生错误则抛出异常.初始化实例后,解析后的值无需通过访问器进行进一步处理即可使用.就像是:

public class Parser {

    public Parser(final String html) throws ParsingException {
        /* Parsing logic that sets private fields */
        /* that throws an error if something is erroneous.*/
    }

    public int getNumOfWhatevers() { return private field; }
    public String getOtherValue()  { return other private field; }
}
Run Code Online (Sandbox Code Playgroud)

在设计课程后,我开始怀疑这是否是正确的OO练习.解析代码是否应放在void parseHtml()方法中,并且一旦调用此方法,访问者只返回有效值?我觉得好像我的实现是正确的,但我不禁觉得有些OO纯粹主义者可能因为某种原因发现它不正确,并且以下的实现会更好:

public class Parser {

    public Parser(final String html) {
        /* Remember html for later parsing. */
    }

    public void parseHtml() throws ParsingException { 
        /* Parsing logic …
Run Code Online (Sandbox Code Playgroud)

language-agnostic oop constructor

33
推荐指数
4
解决办法
3372
查看次数