小编Ell*_*sch的帖子

用Enum实现Singleton(用Java)

我已经读过可以Singleton使用以下方法在Java中实现Enum:

public enum MySingleton {
     INSTANCE;   
}
Run Code Online (Sandbox Code Playgroud)

但是,上面的工作如何?具体而言,Object必须实例化.在这里,如何MySingleton被实例化?谁在做什么new MySingleton()

java singleton enums design-patterns

165
推荐指数
6
解决办法
11万
查看次数

在ASP.NET MVC中,如何使用C#代码中的Razor @ Url.Content()帮助程序?

我正在尝试编写一个输出图像标记的html帮助扩展.我需要访问(在C#代码中)像Razor的@ Url.Content()帮助器,以获取当前上下文的正确URL.怎么做到这一点?

asp.net asp.net-mvc

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

为什么Java中有包装类?

我知道包装类是什么,它们将原始类型(例如int,double等)包装到它们各自类的对象中.

但是,为什么我们首先需要Wrapper类?为什么不简单地使用我们拥有它们的原始类型?

java

46
推荐指数
4
解决办法
8万
查看次数

G1垃圾收集器:Perm Gen无限期地填满,直到执行完整GC

我们在JBoss 7应用服务器上运行了一个相当大的应用程序.在过去,我们使用的是ParallelGC,但它在一些堆大(5 GB或更多)并且通常几乎填满的服务器中给我们带来麻烦,我们会经常得到非常长的GC暂停.

最近,我们对应用程序的内存使用情况进行了改进,并且在少数情况下为应用程序运行的某些服务器添加了更多RAM,但我们也开始切换到G1,希望使这些暂停不那么频繁和/或更短.事情似乎有所改善,但我们看到一种奇怪的行为,以前没有发生过(使用ParallelGC):Perm Gen似乎很快就会填满,一旦达到最大值就会触发Full GC,这通常会导致长时间停顿在应用程序线程中(在某些情况下,超过1分钟).

我们使用512 MB的最大烫发尺寸几个月,在我们的分析中,使用ParallelGC,烫发尺寸通常会在390 MB左右停止增长.然而,在我们切换到G1之后,上面的行为开始发生了.我尝试将最大烫发大小增加到1 GB甚至1.5 GB,但仍然发生了Full GCs(它们只是不那么频繁).

此链接中,您可以看到我们正在使用的分析工具的一些屏幕截图(YourKit Java Profiler).请注意,当触发Full GC时,Eden和Old Gen有很多可用空间,但Perm大小最大.完整GC后,Perm大小和加载类的数量急剧减少,但它们再次开始上升并重复循环.代码缓存很好,永远不会超过38 MB(在这种情况下它是35 MB).

以下是GC日志的一部分:

2013-11-28T11:15:57.774-0300:64445.415:[全GC 2126M-> 670M(5120M),23.6325510秒] [伊甸园:4096.0K(234.0M) - > 0.0B(256.0M)幸存者:22.0M- > 0.0B堆:2126.1M(5120.0M) - > 670.6M(5120.0M)] [时间:用户= 10.16 sys = 0.59,实际= 23.64秒]

您可以在此处查看完整日志(从我们启动服务器的那一刻起,直到完整GC后几分钟).

这是一些环境信息:

java版"1.7.0_45"

Java(TM)SE运行时环境(版本1.7.0_45-b18)

Java HotSpot(TM)64位服务器VM(内置24.45-b08,混合模式)

启动选项: -Xms5g -Xmx5g -Xss256k -XX:PermSize=1500M -XX:MaxPermSize=1500M -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintAdaptiveSizePolicy -Xloggc:gc.log

所以这是我的问题:

  • 这是G1的预期行为吗?我在网上发现了另一篇帖子,有人质疑非常相似的内容,并说G1应该在Perm Gen上执行增量收集,但没有答案......

  • 我的启动参数中有什么可以改进/纠正的吗?服务器有8 GB的RAM,但似乎我们缺乏硬件,应用程序的性能在触发完整的GC之前是正常的,那时用户遇到了很大的滞后并开始抱怨.

java garbage-collection g1gc jboss7.x

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

Java:指定long时L和l(小写L)之间是否有区别?

当我指定一个long具有常数值的数字时400,使用400L和之间是否有任何区别400l

它与包装类型有一些关系吗?被L用来获取的包装Long,并l为原始数据类型long

java types wrapper long-integer

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

Cassandra nodetool"compactionstats"显示值的含义

我找不到关于"compactionstats"的文档:

在使用时nodetool compactionstats,completedtotal列上的数值是什么意思?我的列族的总数据大小约为360 GB,但我的压缩状态显示:

pending tasks: 7
compaction type  keyspace   column family   completed      total           unit   progress
Compaction       Test       Message         161257707087   2475323941809   bytes  6.51%
Run Code Online (Sandbox Code Playgroud)

虽然我看到"完成"缓慢增加(也是进展;-).

但这个"总计"是如何计算出来的?当我只有360 GB的数据时,为什么它是2.5 TB?

cassandra nodetool

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

cv2.threshold()错误(-210)

我是Python的新手.

我想借助傅立叶变换定义文本旋转.

import cv2
import numpy as np
import matplotlib.pyplot as plot

img = cv2.imread ('Text_rot.bmp', cv2.CV_LOAD_IMAGE_GRAYSCALE)
afterFourier =  np.log (np.abs(np.fft.fft2 (img)))
ret1, th1 = cv2.threshold (afterFourier, 127, 255, cv2.THRESH_BINARY)
Run Code Online (Sandbox Code Playgroud)

但是这段代码失败了:

ret1, th1 = cv2.threshold (afterFourier, 127, 255, cv2.THRESH_BINARY)
error: ..\..\..\src\opencv\modules\imgproc\src\thresh.cpp:783: error: (-210) 
Run Code Online (Sandbox Code Playgroud)

为什么会导致"-210"错误?

python opencv image-processing computer-vision

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

Java将字符串添加到字符串数组中

您好我一直在尝试添加String一个String[].这是我的,

static String[] ipList = {"127.0.0.1", "173.57.51.111", "69.696.69.69"};
@Override
public void actionPerformed(ActionEvent e) {
    String newIpGet = textfield.getText();
    try {
        for ( int  i = 0; i < Main.ipList.length; i++){
            Main.ipList[i+1] = newIpGet.toString(); // <---- *****
            Main.write(Main.ipList[i]);
        }
    } catch (IOException e1) {
        e1.printStackTrace();
    }

    Main.amountOfIps = Main.amountOfIps + 1;

    System.out.println("Text Entered!");
    System.out.println("There are now " +Main.ipList.length + " Ips.");
    textfield.setVisible(false);

    label.setVisible(true);;
}
Run Code Online (Sandbox Code Playgroud)

但是,我一直在努力,java.lang.ArrayIndexOutOfBoundsException因为它不会让我做任何新String的.如果ipList[]没有很多修改,我无法修改我的声明,我该怎么办?

java arrays string

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

1大于4怎么样?

NavigableSet.lower(E)Javadoc中说,它会返回在此的最大元素大于给定元素设置严格的少,或者null如果没有这样的元素.为什么1输出在这里?不应该是4吗?

NavigableSet original = new TreeSet();
original.add("1");
original.add("2");
original.add("3");
original.add("4");
original.add("10");
Object lower = original.lower("10");
System.out.println(lower);
Run Code Online (Sandbox Code Playgroud)

java collections set treeset

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

表达式可以简化。格子风格

我怎样才能简化这个?该变量fuel来自boolean名为 的父类Vehicle。该useTax()方法是来自同一类的抽象方法Vehicle

当我开始运行 checkstyle 时,它​​会出现字符串“表达式可以简化”。和亮点if (fuel == true)

public double useTax() {
    double tax;
    if (fuel == true) { // <-- why?
        tax = value * ALTERNATIVE_FUEL_TAX_RATE;
    }
    else {
        tax = value * TAX_RATE;
    }
    if (value > LUXURY_THRESHOLD) {
        tax += value * LUXURY_TAX_RATE;
    }
    return tax;
}
Run Code Online (Sandbox Code Playgroud)

java if-statement checkstyle

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