小编bn.*_*bn.的帖子

C++中的typedef关键字是否有Java等价物或方法?

来自C和C++的背景,我发现明智的使用typedef是非常有帮助的.您是否知道在Java中实现类似功能的方法,无论是Java机制,模式还是其他一些有效的方法?

c c++ java design-patterns typedef

237
推荐指数
6
解决办法
11万
查看次数

Python装饰器与Java注释相同,还是带有Aspects的Java?

Python装饰器是相同的还是相似的,或者与Java注释或Spring AOP或Aspect J等基本不同?

python java python-decorators java-annotations

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

Java中的参数化字符串

我发现自己经常想要在其中编写带有参数占位符的可重用字符串,几乎与您在SQL PreparedStatement中找到的完全相同.

这是一个例子

private static final String warning = "You requested ? but were assigned ? instead.";

public void addWarning(Element E, String requested, String actual){

     warning.addParam(0, requested);
     warning.addParam(1, actual);
     e.setText(warning);
     //warning.reset() or something, I haven't sorted that out yet.
}
Run Code Online (Sandbox Code Playgroud)

Java中是否存在类似的内容?或者,有没有更好的方法来解决这样的问题?

我真正想问的:这是理想的吗?

java

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

支持源代码行排除的Java代码覆盖工具

我目前使用Clover来测量我的Java代码的代码覆盖率.我依赖的一个功能是能够从覆盖率报告中排除任意代码段:

///CLOVER:OFF because this case is simpler to verify by code read
if (lFile.isFile() &&
    lFile.getName().endsWith(FILE_EXTN) &&
    !lFile.delete())
{
  throw new IOException("delete() failed for: " + lFile);
}
///CLOVER:ON
Run Code Online (Sandbox Code Playgroud)

我发现这种排除使得更容易专注于测试有趣的逻辑,同时仍然实现100%的代码覆盖率.

是否有其他Java代码覆盖工具(免费或付费)支持这种细粒度排除?全班或整个方法排除不够好.

注意:我目前正在调查添加适合JaCoCo的东西(问题#14).

java code-coverage

11
推荐指数
1
解决办法
1170
查看次数

处理警告的适当方法是什么:"x的表达式被装入x"

打算关闭或忽略警告,因为类型x的表达式被装入X?.

我想知道处理/避免这种警告的正确方法是,如果有人如此倾向.

java eclipse autoboxing

10
推荐指数
2
解决办法
9869
查看次数

ForkJoinPool.commonPool()相当于没有池吗?

我已经确定使用并行流确实比我的数据集的串行流更快.话虽如此,我想知道在这个问题中讨论使用的ForkJoinPool:Java 8并行流中的自定义线程池.

鉴于,

void foo()
{
     barCollection.parallelStream()  … do something with the stream
}
Run Code Online (Sandbox Code Playgroud)

相对于哪个池将使用1和2以下?

1)

ForkJoinPool.commonPool().submit(()->foo()).get();
Run Code Online (Sandbox Code Playgroud)

2)

foo();
Run Code Online (Sandbox Code Playgroud)

如果答案是肯定的,那么为什么该ForkJoinPol.commonPool()方法存在?

java multithreading java-8

10
推荐指数
1
解决办法
3586
查看次数

Hadoop/MapReduce - 优化"前N个"字数MapReduce作业

我正在研究类似于规范MapReduce示例的东西 - 单词计数,但有一个转折,我希望只获得前N个结果.

假设我在HDFS中有一组非常大的文本数据.有很多示例显示如何构建Hadoop MapReduce作业,该作业将为该文本中的每个单词提供单词计数.例如,如果我的语料库是:

"这是对测试数据的测试,也是测试数据的好方法"

标准MapReduce字数统计作业的结果集将是:

测试:3,a:2,这个:2,是:1等.

但如果我想要得到我的整个数据集中使用的前3个字?

我仍然可以运行完全相同的标准MapReduce字数统计工作,然后只需准备好前三个结果,并且每个字都吐出计数,但这似乎有点低效,因为很多数据需要在洗牌阶段被移动.

我的想法是,如果这个样本足够大,并且数据随机且在HDFS中分布良好,那么每个Mapper都不需要将所有字数发送到Reducers,而只需要一些最重要的数据.所以如果一个mapper有这个:

a:8234,:5422,男:4352,...... 更多的话 ......,难得一见:1,怪词:1,等等

那么我想要做的只是将每个Mapper中的前100个左右的单词发送到Reducer阶段 - 因为"罕见"几乎没有机会在完成所有内容时突然进入前三名.这似乎可以节省带宽和减速器处理时间.

这可以在Combiner阶段完成吗?通常在洗牌阶段之前进行这种优化吗?

algorithm hadoop mapreduce

9
推荐指数
2
解决办法
8379
查看次数

如何在Java中以编程方式生成serialVersionUID?

我正在开发一个生成Java文件的项目.我希望能够像serialVersionUID使用serialver工具一样添加.

有没有办法在生成Java代码时执行此操作,还是需要让该工具的用户手动提供UID?要清楚,我不打算通过Eclipse或serialver工具自动执行此操作,而是通过Java本身执行此操作.

java serialization serialversionuid

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

卸载Tomcat 6.x时,如何取消部署/完全删除部署在webapps目录下的.war?

有没有人知道在卸载Tomcat时除去.war文件中部署的所有webapps的方法(除了Shift + Delete ...之外)?我问的原因如下所述.

我正在使用InstallShield 2009来放置JRE和Tomcat 6.x的副本,其中Tomcat启动/停止使用org.apache.catalina.startup.Bootstrap并注册为具有自定义名称的Windows服务.卸载"程序"时,需要留下某些目录,例如日志文件.

还有适当的行为,其中Installshield不会删除它未安装的目录或文件.例如,InstallShield有一个引用<filename>.war,但没有扩展内容<filename>/<files>,<filename>/<directories>当安装Tomcat并提取WAR文件时.

tomcat web-applications tomcat6 java-ee

8
推荐指数
2
解决办法
5万
查看次数

JSON是一种语言,如果不是,它将如何分类?

考虑到JSON(JavaScript Object Notation),JSON本身是一种语言,还是仅在另一种语言的上下文中定义?根据语言,我的意思是一种可能使用JSON来传输/接收数据的编程语言.

有趣的是,XML并不是图灵完整的,但其名称中却有语言.也许这意味着为此目的更广泛的语言定义?

xml json programming-languages

8
推荐指数
1
解决办法
8402
查看次数