小编G.S*_*G.S的帖子

Java中的"final"关键字如何工作?(我仍然可以修改一个对象.)

在Java中,我们使用final带变量的关键字来指定其值不被更改.但我发现你可以改变类的构造函数/方法中的值.同样,如果变量是,static那么它是编译错误.

这是代码:

import java.util.ArrayList;
import java.util.List;

class Test {
  private final List foo;

  public Test()
  {
      foo = new ArrayList();
      foo.add("foo"); // Modification-1
  }
  public static void main(String[] args) 
  {
      Test t = new Test();
      t.foo.add("bar"); // Modification-2
      System.out.println("print - " + t.foo);
  }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常,没有错误.

现在将变量更改为static:

private static final List foo;
Run Code Online (Sandbox Code Playgroud)

现在是编译错误.这final真的有用吗?

java final

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

IntelliJ显示使用方法参数提示 - 如何禁用它

我是IntelliJ的新手,最近更新为IntelliJ-2016.3.
在Java代码的编辑器中,它显示了使用时的方法签名.如何禁用此功能?

以下是方法签名及其调用站点的示例: 在此输入图像描述

方法调用:
在此输入图像描述

2016.1.4版本中没有此行为.我在更新后看到了这个.
任何帮助表示赞赏!

java intellij-idea

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

如何从java获取OS的CPU使用百分比

我想从java代码计算OS的CPU使用百分比.

  1. 有几种方法被找到它unix的命令[例如,使用mpstat,/proc/stat等...]和使用Runtime.getRuntime().exec

但我不想使用系统调用.

我试过了 ManagementFactory.getOperatingSystemMXBean()

OperatingSystemMXBean osBean =
         (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
System.out.println(osBean.getSystemLoadAverage());
Run Code Online (Sandbox Code Playgroud)

但它给出了cpu加载但不是cpu使用.反正有没有找到使用百分比?

java jmx

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

用于多个目录的Java nio WatchService

我想使用Java NIO观察(监视)多个目录 WatchService.我的问题是要监视的目录数是动态的,用户可以添加任意数量的目录WatchService.这可以实现吗?

java nio java-7

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

使用keytool在密钥库中“密钥密码”的意义是什么

我使用以下命令为我的Web应用程序生成了jks。

keytool -genkey -keyalg RSA -alias my-app -validity 10800 -keysize 2048 -sigalg SHA1withRSA -keystore myapp.jks
Run Code Online (Sandbox Code Playgroud)

该命令提示了一些问题,如下所示:

Enter keystore password:
Re-enter new password:
What is your first and last name?
  [Unknown]:  GS
What is the name of your organizational unit?
  [Unknown]:  XX
What is the name of your organization?
  [Unknown]:  YY
What is the name of your City or Locality?
  [Unknown]:  ZZ
What is the name of your State or Province?
  [Unknown]:  AA
What is the two-letter country code for this …
Run Code Online (Sandbox Code Playgroud)

java keystore keytool ssl-certificate

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

docker compose 命令与配置文件一起运行

随着 docker 最近的更新,每当我运行docker-compose up -ddocker 引擎时,都会建议我使用以下行:

Docker Compose 现在位于 Docker CLI 中,请尝试docker compose up

问题是如何使用docker compose配置文件选项运行命令?
例如,在docker-compose我可以使用配置文件作为docker-compose --profile dev up.
国内也有类似的事情吗docker compose

我查看了 CLI参考但没有找到任何内容。

docker docker-compose

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

字符串与equals和compareTo的比较 - 哪个更快?

我需要比较2 Strings.我有以下方法可以想到:

  1. equalsIgnoreCase - 听说这是最快的,但我无法使用它,因为我的String区分大小写
  2. matches - 可能是最慢的一个
  3. equals
  4. compareTo

所以在上面的选项中,我留下了equalscompareTo.其中哪一个更快?

注意:字符串的输入数量很大[每秒5000左右].

java string

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

AWS:将 Web 应用程序和数据库实例放在同一 VPC 中是否是一种好的做法

我对云和 AWS 还太陌生。我正在开发一些 Web 应用程序,需要在 RDS 上存储一些数据。
在AWS云中,我用于Beanstalk部署我的java代码并MySQL通过AWS-RDS.

我的问题是 -在同一个实例中拥有beanstalk [EC2]和实例是一个好的做法吗? PS:在链接中,尽可能解释了该场景,但我想知道最佳实践是什么。RDSVPC

amazon-web-services amazon-vpc

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

java.lang.NoSuchMethodError:org.apache.xmlbeans.XmlOptions.setSaveAggressiveNamespaces()Lorg/apache/xmlbeans/XmlOptions;

我正在尝试编写一个在Excel中编写数据的程序.但我一直收到错误,如下所示:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setSaveAggressiveNamespaces()Lorg/apache/xmlbeans/XmlOptions;
    at org.apache.poi.POIXMLDocumentPart.<clinit>(POIXMLDocumentPart.java:56)
    at wriExcel.main(wriExcel.java:19)
Run Code Online (Sandbox Code Playgroud)

在找到解决方案时,我只能发现我应该使用XMLBeans 2.0或更高.但是,我正在使用xmlbeans 2.3.0.这个错误还有其他原因吗?

java xmlbeans

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

perl中的负数组索引如何工作?

最近我在perl作品中遇到负面指数.基本上当我们给perl中的数组赋一个负索引时,它从后面开始遍历.
例如:

@numbers = (1,2,3,4,5,6);
print "$numbers[-1]\n";
Run Code Online (Sandbox Code Playgroud)

它将输出打印为6.如果我给索引,-2那么它打印5,依此类推.
根据我的理解,数组内存如下:
在此输入图像描述

我想知道,索引是如何-1成为nperl的.任何人都可以解释这是如何工作的?

PS:如果我使用负指数java那么它会抛出java.lang.ArrayIndexOutOfBoundsException

arrays perl

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

添加分隔符有什么优雅的方式?

这是一个简单的java编码问题.我有一个String[Say "hello" "how" "are" "you?"] 列表.我需要-在列表的每个元素之间插入一个分隔符[ ],以便输出hello-how-are-you?

一种简单的方法如下:

private static String addDelim(List<String> a)
{
    String s = "";
    for(int i=0; i<a.size(); i++)
    {
        if(i != 0) // don't add if first element
        {
            s += "-";
        }

        s += a.get(i);
    }
    return s;
}
Run Code Online (Sandbox Code Playgroud)

这样做有什么优雅的方式吗?

java

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