小编del*_*via的帖子

SQL,While循环,递归存储过程或游标中哪个更快?

SQL,While循环,递归存储过程或游标中哪个更快?我想在存储过程中的几个位置优化性能.我正在优化的代码格式化一些字符串以输出到文件.

sql-server performance stored-procedures cursor while-loop

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

为什么要为对象使用超类引用?

鉴于以下代码:

public class Musician {

    public void play() {
        // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

.

public class Drummer extends Musician {

    public void turnsDrumStick() {
        // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

.

public class Guitarist extends Musician {

    public void strummingStrings() {
       // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以使用多态来执行以下操作:

    Musician m1 = new Guitarist();
    Musician m2 = new Drummer();

    m1 = m2;
Run Code Online (Sandbox Code Playgroud)

但是,我看不到子类的方法:

    m1.strummingStrings(); //COMPILATION ERROR!
Run Code Online (Sandbox Code Playgroud)

如果我使用:

Guitarist m1 = new Guitarist();
Run Code Online (Sandbox Code Playgroud)

不是更好吗?使用Musico类型引用子类的对象有什么好处?m1 = m2;例如,我可以归因于一种可能性吗?还是有其他优势?

我看到这篇文章,但我仍然感到困惑:使用超类来初始化子类对象java

java oop polymorphism

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

如何在 Oracle 中为列和固定值的组合提供唯一约束?

我有一个包含 3 列的表格:A(数字)、B(数字)和 C(布尔值)。

我需要创建一个规则,以防止使用列 A 和 B 以及 C 等于 true 创建记录。例如。

这将被允许:

A  B  C
1  2  true
1  2  false
1  2  false
Run Code Online (Sandbox Code Playgroud)

但是这个,不:

A  B  C
1  2  true
1  2  true
1  2  false
Run Code Online (Sandbox Code Playgroud)

sql oracle constraints composite-key unique-constraint

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

为什么这个HashSet代码片段会以这种方式运行?

给出以下代码:

public class NewClass {

    public static void main(String[] args) {
        List<String> fruits = Arrays.asList("Orange", "Pineapple", "Banana", "Banana");
        Set<String> fruitsSet = new HashSet<>();

        for (String fruit : fruits) {
            fruitsSet.add(fruit);
        }

        for (String fruit : fruitsSet) {
            System.out.println(fruit);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

每次运行代码时,元素的顺序都是相同的,消除了重复项Banana,这是典型的HashSet实现:

Banana
Pineapple
Orange
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么订单每次都相同,因为规范说"它不能保证集合的迭代顺序"(https://docs.oracle.com/javase/7/docs/api/ java/util/HashSet.html)

java hashset

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