小编Pra*_*mar的帖子

在使用Java运行构造函数代码之前是否初始化了字段?

任何人都可以解释以下程序的输出吗?我认为构造函数在实例变量之前被初始化.所以我期待输出为"XZYY".

class X {
    Y b = new Y();

    X() {
        System.out.print("X");
    }
}

class Y {
    Y() {
        System.out.print("Y");
    }
}

public class Z extends X {
    Y y = new Y();

    Z() {
        System.out.print("Z");
    }

    public static void main(String[] args) {
        new Z();
    }
}
Run Code Online (Sandbox Code Playgroud)

java constructor initialization

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

负载均衡器和会话管理

如果有一个由2台服务​​器运行的网站.这两台服务器使用Load Balancer平衡负载.那么,如果在1台服务器上创建了1个会话并且说负载立即转移到另一个服务器,那么会话是如何维护的?

我只是在非常高的抽象层次上对这个概念感兴趣而不是真正的实现细节.

session load-balancing

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

循环队列的缺点?

最近,在一次采访中我被问到使用循环队列的缺点.我什么都想不到.在互联网上搜索我发现的唯一答案是它比线性队列更难实现:).还有其他缺点吗?

language-agnostic queue circular-buffer data-structures

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

三元运算符

为什么以下代码的输出是9.0而不是9?如果三元运算符只是if-else分支的简短形式,那么为什么java编译器将int提升为double?

public class Ternary
  {
public static void main(String args[])
     {
    int a = 5;
    System.out.println("Value is - " + ((a < 5) ? 9.9 : 9));
     }
  }
Run Code Online (Sandbox Code Playgroud)

java ternary

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

默认等于java中的实现如何为String工作?

我们都知道如果我们创建两个String对象并使用==来比较它们将返回false,如果我们使用equals方法它将返回true.但默认情况下equals方法实现==只有,那么它如何返回true,它应该返回任何==返回?

java string equals

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

这个单例设计模式是否正确?

这个单例设计模式是否正确?我的意思是当它是静态的并且方法是同步的时,检查对象是否为空的需要是什么.

public class MySingleton {

    int val = 10;
    private static final MySingleton singleton = new MySingleton();

    private MySingleton() { }

    public static synchronized MySingleton getSingleton() {
        return singleton;
    }
}
Run Code Online (Sandbox Code Playgroud)

java singleton design-patterns

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

当返回值为int时,通过条件运算符返回null

任何人都可以解释这段代码的输出吗?

public class Main
{
   int temp()
   {
      return(true ? null : 0);  
   }


public static void main(String[] args)
{
    Main m=new Main();
    System.out.println(m.temp());
 }
}
Run Code Online (Sandbox Code Playgroud)

java autoboxing ternary-operator

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

最大的回文产品 - 欧拉项目

我试图解决项目欧拉问题4,它是:

回文数字两种方式相同.由两个2位数字的乘积制成的最大回文是9009 = 91×99.找到由两个3位数字的乘积制成的最大回文.

这是我的解决方案,它的输出是997799,但这不是正确的答案,我想知道问题出在哪里:

package projecteuler;

public class Pro4 {

    public static void main(String[] args) {

        for(int i=999*999;i>=100*100;i--){
            if(isPalindrome(i)==true){
                System.out.println(i);
                break;
            }
        }
    }

    static boolean isPalindrome(int x){
        int[] bits = new int[7];
        int index=1;
        while(x>0){
            bits[index]=x%10;
            index++;
            x/=10;
        }
        for(int i=1;i<=index/2;i++){
            if(bits[i]!=bits[index-i]){
                return false;
            }
        }
        return true;
    }

}
Run Code Online (Sandbox Code Playgroud)

java palindrome

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

java中的字符串args []是作为varargs实现的吗?

怎样public static void main(String args[])String args[]实现?它被实现为varargs

我问这个是因为args.length只提供了传递的参数数量,这意味着它没有在任何地方定义String args[] = new String[30].这个数组是如何实现的?

java program-entry-point args variadic-functions

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