小编Ric*_*ich的帖子

将零传递给Getopt :: Std

Getopt::Std在Perl脚本中使用,并希望传入零作为值.我正在检查使用正确设置值unless().目前unless()拒绝将该值视为未设置.

有没有办法unless()接受零作为有效值(任何非负整数都有效).

这可能很简单,但几天前我从未接触过Perl!

丰富

perl getopt

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

在生产系统上生成线程转储的安全性

我们有一个生产 Java 系统,它使用的线程比平时多得多。我想使用kill -3 pid获取线程转储,并在必要时使用 JConsole 获取二进制堆转储以在 Eclipse MAT 中进行离线分析。

我在 RHEL4 上运行 Java 1.5.0_10。

其中任何一个会杀死 JVM 的可能性有多大?产生转储时对其性能的不利影响如何?

jvm

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

为什么play框架只是在控制器类中抛出一个新的Render

我现在正在玩游戏,这里是controller.class中的一些代码,我不明白:

/**
 * Render a 200 OK application/json response
 * @param jsonString The JSON string
 */
protected static void renderJSON(String jsonString) {
    throw new RenderJson(jsonString);
}
Run Code Online (Sandbox Code Playgroud)

有没有什么重要的原因让play框架简单地抛出一个新的Render对象?似乎有线使用"抛出"而没有例外.

design-patterns exception try-catch playframework

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

从Javascript数组创建Dart列表

我正在尝试学习客户端Dart,它来自服务器端Java EE世界,我无法将数组从现有的JavaScript库转换为Dart List.

我试图通过构建使用谷歌地图的Javascript Interop示例来学习.在Google的Maps API文档中,DirectionsLeg对象的step属性返回.

DirectionsSteps数组,每个包含有关此段中各个步骤的信息

如何将其var转换为Dart列表?我尝试过以下方法:

final List<maps.DirectionsStep> steps = List.from(directionsLeg.steps);
Run Code Online (Sandbox Code Playgroud)

但达特编辑告诉我cannot resolve method 'from' in class 'List'.我的进口是:

import 'dart:html';
import 'dart:core';
import 'package:js/js.dart' as js;
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?它是否可能或者我必须接受使用var

javascript dart

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

获取对Kotlin函数的引用作为Java方法

我有一个带有Method参数的Java方法:

void doSomethingWithMethod(Method m) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我有一个包含函数的Kotlin类:

class MyClass {

    fun myFunction() : List<Something> {
        ...
    }

}
Run Code Online (Sandbox Code Playgroud)

我可以获得对函数的引用MyClass::myFunction,但是我没有看到将它传递给doSomethingWithMethod方法的方法.是否有.java可以应用于Kotlin类引用的属性的等价物以获得其Java等价物?

如果没有,是否有解决方法?

java reflection kotlin

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

确保在Kotlin初始化val

我在Java中有以下方法:

public void doSomething() {
    final boolean promote = false;
    final String bob;

    if (promote) {
        try(StringWriter sw = new StringWriter()) {
            sw.write("this is a test");
            bob = sw.toString();
        } catch (IOException e) {
            e.printStackTrace();
            throw new IllegalStateException();
        }
    } else {
        bob = "anaconda";
    }

    System.out.println(bob);
}
Run Code Online (Sandbox Code Playgroud)

当我将其转换为Kotlin时:

    val promote = false
    val bob: String

    if (promote) {
        try {
            StringWriter().use { sw ->
                sw.write("this is a test")
                bob = sw.toString()
            }
        } catch (e: IOException) {
            e.printStackTrace()
            throw …
Run Code Online (Sandbox Code Playgroud)

kotlin

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

使用getResourceAsStream时,Findbugs"方法可能无法关闭流"

如果我在servlet中有以下代码:

Properties p = new Properties();
p.load(getClass().getResourceAsStream("/test.properties"));
Run Code Online (Sandbox Code Playgroud)

如果我通过FindBugs运行servlet,我希望得到警告OS_OPEN_STREAM,但我没有.如果我使用类似的方法在文件系统上打开任意文件(即不在类路径中),我会按预期获得Findbugs警告:

Properties p = new Properties();
p.load(new FileInputStream(new File("c:/test.properties")));
Run Code Online (Sandbox Code Playgroud)

在第一个例子中,警告不存在是因为Findbugs缺少一个有效的警告(即我应该在加载到Properties对象后关闭finally块中的流)或者是否有理由我不需要关闭流?

谢谢

丰富

java tomcat findbugs

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

正确格式化货币到小于Locale指定的小数位

在法国和其他国家/地区,货币符号在货币金额之后,而在其他国家则在货币金额之前,加上小数分隔符是逗号而不是点(£0.00vs 0,00 €).

如果我在我的Android设备上使用以下Java代码(来自内存,可能无法编译),我可以得到一个NumberFormat正确格式化的东西:

NumberFormat format = NumberFormat.getCurrencyInstance(Currency.get(Locale.FRANCE));
Run Code Online (Sandbox Code Playgroud)

NumberFormat格式化为正确的小数位数(上例中为两位).

我想格式化为财务应用程序的10位小数,同时保持小数点分隔符和"符号侧"正确.

我可以非常高兴地构建我自己的格式表达式 - 问题是找到特定Locale或的特定信息Country.有没有办法在运行时从Java/Dalvik虚拟机中找到它,或者我只是需要对其进行硬编码?

硬编码并不是一个真正的问题,因为我只有大约20种货币需要担心,但显然如果它可以派生那么更容易:)

java android locale localization

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

Java扩展了替代品

我正在努力建立我们大学课程管理系统的模型(课程).我偶然发现了一个扩展的小限制,也就是说,某个类不可能扩展两个类.这是模型:

                     Professor
                    /                  
             Staff
          /          \                       
    Person            Tutor            
           \         /      
             Student            
Run Code Online (Sandbox Code Playgroud)

因此,我得到了员工和学生扩展人员和教授扩展员工.现在我与班级导师有一个小小的困境,他基本上是一名学生(有学生ID),但在某种意义上是大学员工(担任小组讲座,负责某个项目等).既然不能使用两个延伸,有什么其他选择,如果可能的话可能有人给一个非常简单的例子工具?我已经看过它的一个接口示例,但我不确定我如何在我的程序中使用它,因为Student不是一个接口?

java extends subclass implements

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

多核计算机上的VisualVM CPU图

在多核计算机上,JVisualVM CPU使用率图表是否显示总机器CPU容量或其他内容?

例如,在具有16个内核的计算机上,如果我看到JVisualVM中的CPU使用率高达50%,那是否意味着相当于完全使用的8个内核?

jvisualvm

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

MongoDB警告不使用索引的查询

我有一个模糊的内存,如果查询使用未编入索引的字段,MongoDB将向其日志输出一条消息,但是我无法在本地重现(使用一个公认的小数据集),也没有找到任何文档.

我想象的东西还是有这样的特征?如果是,是否有人可以链接到文档?

indexing mongodb

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

配置log4j以将其日志发送到Splunk?

我需要将log4j日志发送到Splunk。我找到了几种解决方案:

  1. 使用REST API(例如curl -k -u admin:changeme -d "name=/tmp/myfile.log" -d "sourcetype=syslog" https://localhost:8089/servicesNS/admin/search/data/inputs/monitor
  2. 安装Splunk通用转发器
  3. 使用log4j附加程序,例如:

    Syslog追加器

    log4j.appender.splunk = org.apache.log4j.net.SyslogAppender log4j.appender.splunk.SyslogHost = localhost:8089 log4j.appender.splunk.layout = org.apache.log4j.PatternLayout log4j.appender.splunk.facility = LOCAL2 log4j.appender.splunk.layout.ConversionPattern = [%p]%t:%m%n

但是在我看来,如果splunk服务器和日志位于单独的计算机上,则第三种解决方案将无法工作。

第二种解决方案需要安装其他软件

谁能提出其他解决方案?

PS我试图使用开源Java库。但这没有给出结果。

log4j splunk

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

Web服务取代了什么?

我在接受采访时被问到这个问题并且不知道.而我仍然没有.我认为它们是为此目的而创建的,而不是替换已经存在的东西.有什么想法吗?

web-services

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