小编Rae*_*ald的帖子

Java中的XML序列化?

.NET的XML序列化的Java模拟是什么?

java xml serialization

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

MongoDB mongorestore失败:locale :: facet :: _ S_create_c_locale名称无效

我在计算机A(ubuntu 12.04服务器)上使用mongodump创建了一个转储.我将它移动到计算机B(ubuntu 12.04服务器)并输入:

mongorestore -db db_name --drop db_dump_path

它失败了,它报告说:

连接到:127.0.0.1
终止在抛出'std :: runtime_error'的实例后调用
what():locale :: facet :: _ S_create_c_locale name无效
Aborted

我以前成功地完成了这个操作,这种奇怪的行为从未发生过.我需要做些什么来解决这个问题?

locale mongodb mongorestore mongodump ubuntu-12.04

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

在Java中管理具有许多参数的构造函数

在我们的一些项目中,有一个类层次结构,它在链中向下添加更多参数.在底部,一些类可以有多达30个参数,其中28个只是被传递给超级构造函数.

我会承认,通过像Guice之类的东西使用自动化DI会很好,但由于某些技术原因,这些特定项目仅限于Java.

按类型按字母顺序组织参数的约定不起作用,因为如果某个类型被重构(您为参数2传入的圆现在是一个Shape),它可能会突然出现故障.

这个问题可能具体而且充满了"如果这是你的问题,你在设计层面做错了"的批评,但我只是在寻找任何观点.

java

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

为什么可以从StackOverflowError中恢复?

我很惊讶即使StackOverflowError在Java发生之后仍然可以继续执行.

我知道这StackOverflowError是类Error的子类.类Error被称为"Throwable的一个子类,表示一个合理的应用程序不应该试图捕获的严重问题".

这听起来更像是一个推荐而不是一个规则,主张捕获像StackOverflowError这样的错误实际上是允许的,这取决于程序员不这样做的合理性.看,我测试了这段代码,它正常终止.

public class Test
{
    public static void main(String[] args)
    {
        try {
            foo();
        } catch (StackOverflowError e) {
            bar();
        }
        System.out.println("normal termination");
    }

    private static void foo() {
        System.out.println("foo");
        foo();
    }

    private static void bar() {
        System.out.println("bar");
    }
}
Run Code Online (Sandbox Code Playgroud)

怎么会这样?我想当抛出StackOverflowError时,堆栈应该是如此完整,以至于没有空间调用另一个函数.错误处理块是在不同的堆栈中运行,还是在这里发生了什么?

java stack-overflow

99
推荐指数
5
解决办法
5292
查看次数

在rspec中禁用一组测试?

我有一个测试规范,其中describes一个类和contexts每个类都有各种各样的it块.

有没有办法context暂时禁用?

我尝试pending "temporarily disabled"context我要禁用的最顶层添加一个调用,当我运行规范时,我确实看到了一些关于暂挂的内容,但之后它继续运行其余的测试.

这就是我的方式:

describe Something
  context "some tests" do
    it "should blah" do
      true
    end
  end

  context "some other tests" do
    pending "temporarily disabled"

    it "should do something destructive" do
      blah
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

但就像我说的那样,它继续在待处理的呼叫下运行测试.

搜索引导我进入这个邮件列表线程,其中rspec的创建者(?)表示它可能在我正在运行的rspec 2中.我猜它确实有效,但它没有取消所有以下测试的预期效果,这就是我在看到一个pending电话时的想法.

有替代方案还是我做错了?

ruby rspec

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

在循环中重用StringBuilder会更好吗?

我有关于使用StringBuilder的性能相关问题.在一个很长的循环中,我正在操纵a StringBuilder并将其传递给另一个方法,如下所示:

for (loop condition) {
    StringBuilder sb = new StringBuilder();
    sb.append("some string");
    . . .
    sb.append(anotherString);
    . . .
    passToMethod(sb.toString());
}
Run Code Online (Sandbox Code Playgroud)

StringBuilder在每个循环周期实例化是一个很好的解决方案吗?并且更好地调用删除,如下所示?

StringBuilder sb = new StringBuilder();
for (loop condition) {
    sb.delete(0, sb.length);
    sb.append("some string");
    . . .
    sb.append(anotherString);
    . . .
    passToMethod(sb.toString());
}
Run Code Online (Sandbox Code Playgroud)

java string performance stringbuilder

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

object == null或null == object?

我听到某人null == objectobject == null 检查更好

例如:

void m1(Object obj ) {
   if(null == obj)  // Is this better than object == null ? Why ?
       return ;
   // Else blah blah
}
Run Code Online (Sandbox Code Playgroud)

有什么理由还是这是另一个神话?感谢帮助.

java null

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

使用Visual Studio Code的Mocha断点

是否可以使用Visual Studio Code为Mocha测试添加断点?

通常在调试代码时需要配置launch.json,将program属性设置为要执行的javascript文件.我不知道如何为摩卡做这个.

tdd mocha.js node.js visual-studio-code

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

加快Spring Boot启动时间

我有一个Spring Boot应用程序.我添加了很多依赖项(不幸的是,看起来我需要所有这些依赖项)并且启动时间上升了很多.只SpringApplication.run(source, args)需要10秒钟.

虽然这与"使用"相比可能没那么多,但我很不高兴它需要那么多,主要是因为它打破了开发流程.此时应用程序本身相当小,所以我假设大部分时间都与添加的依赖项有关,而不是与应用程序类本身有关.

我假设问题是类路径扫描,但我不知道如何:

  • 确认是问题(即如何"调试"Spring Boot)
  • 如果它真的是原因,我怎么能限制它,所以它变得更快?例如,如果我知道某些依赖项或包不包含Spring应扫描的任何内容,是否有办法限制它?

我假设这个:

会加快速度,但现在甚至都没有进行分类.我在Spring Boot本身看到了一些其他的努力,例如:

但这看起来特定于Tomcat.

本文:

虽然针对集成测试,建议使用lazy-init=true,但是我不知道如何使用Java配置将这个应用于Spring Boot中的所有bean - 这里有任何指针吗?

任何(其他)建议都会受到欢迎.

java performance startup spring-boot

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

kubernetes服务外部IP挂起

我正在尝试在kubernetes上部署nginx,kubernetes版本是v1.5.2,我已经部署了3个副本的nginx,YAML文件在下面,

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: deployment-example
spec:
  replicas: 3
  revisionHistoryLimit: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.10
        ports:
        - containerPort: 80
Run Code Online (Sandbox Code Playgroud)

现在我想在节点的端口30062上公开它的端口80,因为我在下面创建了一个服务,

kind: Service
apiVersion: v1
metadata:
  name: nginx-ils-service
spec:
  ports:
    - name: http
      port: 80
      nodePort: 30062
  selector:
    app: nginx
  type: LoadBalancer
Run Code Online (Sandbox Code Playgroud)

这项服务应该是合理的,但它不仅在终端上的kubernetes仪表板上显示为待定. 终端输出仪表板状态

所以请帮我解决这个问题.谢谢 ...

load-balancing nginx kubernetes

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