小编Miq*_*uel的帖子

防止checkstyle在特定的maven子模块中运行

我想在pom文件中定义一个checkstyle运行,并让它在除了某些指定的子模块之外的所有子模块上运行.

换句话说,我需要某种<excludes>(存在但适用于文件名)但是它以目标模块为目标.任何想法的人?

java checkstyle maven

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

java决赛有助于编译器创建更高效​​的字节码吗?

可能重复:
在Java中使用final关键字可以提高性能吗?

最后的修改有不同的后果取决于你把它应用到什么在java中.我想知道的是,如果另外它可能有助于编译器创建更高效​​的字节码.我想这个问题深入探讨了JVM的工作原理以及JVM的具体情况.

那么,根据您的专业知识,请执行以下任何一项帮助编译器,或者您是否仅出于正常的java原因使用它们?

  • 最后的课程
  • 最后的方法
  • 最后的领域
  • 最终方法论点

谢谢!

编辑:谢谢你的所有答案!请注意,正如@Zohaib建议的那样,我的问题与重复.在发布之前我搜索得不够好.我不是删除它,因为你们做出了很好的贡献,但答案可以合并.除非另有说明,否则我会让"投票结束"系统决定.

java optimization micro-optimization

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

有人可以澄清Gson的unicode编码吗?

在以下简约示例中:

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public class GsonStuff {

    public static void main(String[] args) {
        GsonBuilder builder = new GsonBuilder();
        Gson gson = builder.create();
        System.out.println(gson.toJson("Apostrophe: '"));
        //Outputs: "Apostrophe: \u0027"
    }   
}
Run Code Online (Sandbox Code Playgroud)

撇号被打印输出中的unicode表示所取代.但是,从toJson方法返回的字符串字面上有"\","u","0","0","2","7"字符.

用json解码它实际上是有效的并且给出字符串"Apostrophe:'"而不是"Apostrophe:\ u0027".我应该如何解码它以获得相同的结果?

还有一个问题,为什么一个随机的unicode字符如ش得到的编码类似?

java unicode gson

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

从集合中获取第一个(也是唯一的值)

可能重复:
Java:从集合中获取第一个项目

在Java中,我经常会遇到一个带有一个元素的集合,我需要检索它.因为集合不保证一致的排序,所以没有first()get(int index)方法,所以我需要使用相当丑陋的东西,例如:

public Integer sillyExample(Collection<Integer> collection){
    if(collection.size()==1){
        return collection.iterator().next();
    }
    return someCodeToDecideBetweenElements(collection);
}
Run Code Online (Sandbox Code Playgroud)

那么,如何获得唯一的元素?我不敢相信没有更好的方法......

请注意,我理解没有"第一"的概念,我只是试图避免构建迭代器,因为我知道它只有一个元素.

编辑:Peter Wooster在这里发现了一个非常相似的问题.我要离开这个因为我不是想要获得"第一"元素,这意味着一致的排序,但是在检查它确实是唯一元素之后是"唯一的"元素.

java collections

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

你如何处理Java中的"不可能"异常?

有时候,我最终还是要抓住一个我知道永远不会发生的异常,比如这里

URLDecoder.decode("some string", "UTF-8"); //No unknown encoding possible
Run Code Online (Sandbox Code Playgroud)

或者在这里:

public void methodWithURL(URL url){
    URI uri = new URI(url); //No invalud URI syntax possible
}
Run Code Online (Sandbox Code Playgroud)

你怎么处理这个?我通常会记录一个关于宇宙定律如何变化的有趣错误,然后抛出一个RuntimeException.有没有更好的办法?

java exception-handling

17
推荐指数
2
解决办法
2635
查看次数

为什么Java的同步集合不使用读/写锁?

在喜欢HashtableVector不喜欢的东西之后,当Collections同步包装器出现时,我认为同步将更有效地处理.现在我查看了代码,我很惊讶它只是用同步块包装集合.

ReadWriteLock例如,为什么不包含在集合中的SynchronizedMap?是否存在一些不值得的效率考虑因素?

java collections concurrency

17
推荐指数
3
解决办法
4383
查看次数

在Java中使用if与三元opertator时,"错误"返回类型

在下面的类中,两种方法的返回类型与三元运算符的思想不一致:

return condition?a:b;
Run Code Online (Sandbox Code Playgroud)

相当于

if(condition) {
    return a;
} else{ 
    return b;
}
Run Code Online (Sandbox Code Playgroud)

第一个返回Double,第二个返回Long:

public class IfTest {
    public static Long longValue = 1l;
    public static Double doubleValue = null;

    public static void main(String[] args) {
        System.out.println(getWithIf().getClass());// outpus Long
        System.out.println(getWithQuestionMark().getClass());// outputs Double
    }

    public static Object getWithQuestionMark() {
        return doubleValue == null ? longValue : doubleValue;
    }

    public static Object getWithIf() {
        if (doubleValue == null) {
            return longValue;
         } else {
            return doubleValue;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以想象这与编译器缩小转换类型有关,getWithQuestionMark()但是语言明智吗?这肯定不是我所期望的. …

java if-statement return ternary-operator

17
推荐指数
1
解决办法
503
查看次数

在Java中的if块中使用逻辑运算符或按位运算符之间有区别吗?

应执行以下两个if块的内容:

if( booleanFunction() || otherBooleanFunction() ) {...}
if( booleanFunction() | otherBooleanFunction() ) {...}
Run Code Online (Sandbox Code Playgroud)

那么使用|或使用之间的区别是||什么?

注意:我调查了这个并找到了我自己的答案,我在下面提到了答案.请随时纠正我或给自己的看法.肯定有改进的余地!

java operators bitwise-operators logical-operators

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

现在TPTP将被归档,您在Eclipse中使用什么进行性能分析?

您是否找到了正在存档的 TPTP的一个很好的替代方案,以便在Eclipse中分析Java应用程序?

我知道这不是一个编程问题,所以如果这不适合Stack Overflow,请给我留言.

编辑:还有一个相关的问题,从2008年开始,但我正在寻找一些更新的东西.

eclipse profiler eclipse-tptp

12
推荐指数
1
解决办法
4867
查看次数

使用maven的deploy:deploy-file插件部署工件,其源代码和javadoc

我很困难,试图将一个工件,它的源代码和它的javadoc部署到我们的maven资源库(Nexus).源和javadoc参数似乎被忽略,只有-Dfile中指定的主jar实际上传.

有谁知道什么是错的?这是我的命令(我正在尝试将Whack放入我们的本地存储库)

mvn deploy:deploy-file -Dfile=whack-1.0.0.jar \ 
                       -Dsources=whack-1.0.0-sources.jar \
                       -Djavadoc=whack-1.0.0-javadoc.jar \
                       -DgroupId=org.igniterealtime \                     
                       -DartifactId=whack \
                       -Dversion=1.0.0 \
                       -Dpackaging=jar \
                       -Durl=https://myhost.com/nexus/content/repositories/thirdparty/  
Run Code Online (Sandbox Code Playgroud)

nexus maven

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