小编sud*_*d29的帖子

Project Jigsaw vs Maven

来自Jigsaw项目:

使开发人员能够更轻松地为Java SE和EE平台构建和维护库和大型应用程序.

我正在尝试学习Jigsaw是什么项目,到目前为止,Project Jigsaw的目标似乎与我们使用Maven(或Gradle)依赖关系管理所做的有些重叠:

  • 构建像Maven这样的工具是一种威胁吗?
  • 或者我的理解是错误的,项目Jigsaw将以某种方式补充这些构建工具?

maven java-platform-module-system java-9

39
推荐指数
2
解决办法
7743
查看次数

Java7多个异常处理

我一直试图找到这个问题的答案,但没有得到任何令人满意的解释.这是一些背景:

Java 7允许我们在单个catch块中捕获多个异常,前提是这些异常来自不同的层次结构.例如:

try {
    // some code

} catch(SQLException | FileNotFoundException e) {
    e.printStackTrace();
} catch(Exception e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

但是如果异常来自同一层次结构,我们必须使用多个catch块,如:

try {
    // some code
} catch(FileNotFoundException  e) {
    e.printStackTrace();
} catch(IOException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试编写如下代码编译器抱怨"异常FileNotFoundException已被替代IOException"

try {
    // some code
} catch(FileNotFoundException | IOException  e) { // compiler error
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:为什么编译器在最后一种情况下报告错误,不能弄清楚FileNotFoundException是特殊情况IOException吗?当我的异常处理逻辑相同时,这将节省代码重复.

java exception-handling java-7

7
推荐指数
1
解决办法
1117
查看次数

计算对象中的非空字段

我有一个UserProfile包含用户数据的类,如下所示:

class UserProfile {

  private String userId;
  private String displayName;
  private String loginId;
  private String role;
  private String orgId;
  private String email;
  private String contactNumber;
  private Integer age;
  private String address;

// few more fields ...

// getter and setter
}
Run Code Online (Sandbox Code Playgroud)

我需要计算非null字段以显示用户填充了多少百分比的配置文件.还有一些,我不希望在百分比计算要考虑几个字段:userId,loginIddisplayName.

简单的方法是使用多个If语句来获取非空字段,count但它会涉及大量的锅炉板代码,还有另一个类Organization我需要显示完成百分比.所以我创建了一个实用程序函数,如下所示:

public static <T, U> int getNotNullFieldCount(T t,
        List<Function<? super T, ? extends U>> functionList) {
    int count = 0;

    for (Function<? …
Run Code Online (Sandbox Code Playgroud)

java java-8

7
推荐指数
1
解决办法
2297
查看次数

NGramFilterFactory和EdgeNGramFilterFactory之间的区别

我是索尔的初学者.在我的项目,NGramFilterFactory并且EdgeNGramFilterFactory,两者都被用于一个字段.我对文档的理解EdgeNGramFilterFactory是用于"开始于"查询,而NGramFilterFactory适用于"包含"查询.

我索引两者的组合小的数据集(在其中我只用NGramFilterFactory并且在另一个我用既NGramFilterFactoryEdgeNGramFilterFactory),但我没有看到在输出任何差异.

如果我的理解是正确的,那么在某种程度上EdgeNGramFilterFactory是一个子集NGramFilterFactory.如果这是真的那么在同一个领域使用两种类型的过滤器有什么好处?

solr search-engine tokenize n-gram filterfactory

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

为什么Java/Scala使用扩展/实现关键字?

由于编译器可以轻松区分Java classinterfaceJava,为什么要提供显式关键字extendsimplements为代码添加详细程度?例如:

class Animal{}
interface FourLegged{}
class Dog : Animal, FourLegged {} // why can't we have this syntax in Java
Run Code Online (Sandbox Code Playgroud)

我没有看到任何理由为什么Java在未破坏现有代码库的情况下无法在将来的版本中提供类似C#的语法.有什么理由,请解释一下.

编辑

很抱歉在两者之间编辑我的问题,但我的类似问题也适用于Scala.正如帕特里克霍夫曼指出的那样:

他们当然可以,但是Java在语言方面总是比C#更冗长.

在Java的情况下,我同意他的看法.但我认为Scala更喜欢清洁而不是冗长(例如;可选),它也可以区分class,interfacetrait.为什么它也遵循Java在这方面的道路?

c# java inheritance scala

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

查找对象之间相似性的算法

我有一些巨大的数据集(介于10-20之间),我需要找出这些数据集之间的关系.数据集非常庞大,计算可能不适合单台计算机.这些数据集中的字段是文本而不是数字.增加复杂性,一些字段也可能有不正确的单词,例如'huose'为'house',我正在使用模糊算法.

为了解决这个问题,我正在考虑使用余弦相似性但不确定这么大的数据集的性能.我的问题是,这种算法是否足以应对这种问题(性能和准确性).如果没有,是否还有其他一些我应该研究的算法?

编辑:更多信息

我将使用的数据集可能是文本文件和数据库表的混合.列中的值通常为10-50 char,并且它不是一个巨大的文档.我寻找的关系是数据集的一列与另一列的相似程度.我有点想根据列之间的相似性得出分数.例如

Col1     Col2     Col3
A        B        X
C        S        B
E        C        A
T        V        C
X        E

因此,在上面的例子中,人们可以说Col1并且Col3彼此之间有很强的关系Col1而且Col2关系很弱.

algorithm string-matching bigdata

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

如何对Apache Spark Scala中多列上的数据进行排序?

我有这样的数据集,我将从csv文件中获取数据,并使用scala将其转换为RDD。

+-----------+-----------+----------+
| recent    | Freq      | Monitor  |
+-----------+-----------+----------+
|        1  |       1234 |   199090|
|        4  |       2553|    198613|
|        6  |       3232 |   199090|
|        1  |       8823 |   498831|
|        7  |       2902 |   890000|
|        8  |       7991 |   081097|
|        9  |       7391 |   432370|
|        12 |       6138 |   864981|
|        7  |       6812 |   749821|
+-----------+-----------+----------+
Run Code Online (Sandbox Code Playgroud)

如何对所有列上的数据进行排序?

谢谢

scala apache-spark

0
推荐指数
1
解决办法
8390
查看次数