小编Rob*_*US2的帖子

去lang字符串常量

内联字符串和Go中使用的常量字符串之间是否有区别,或者这是否完全由编译器优化?

具有100B迭代的示例基准代码:

package main

import "fmt"
import "time"
import "log"

func main() {
    // String
    start := time.Now()
    for i := 0; i < 100000000; i++ {
        x := "My String"
        if i % 1000000 == 0{
            fmt.Printf(x)
        }
    }
    elapsed := time.Since(start)
    log.Printf("\nTook %s", elapsed)

    // Constant
    start2 := time.Now()
    const MY_STRING = "My String 2"
    for i := 0; i < 100000000; i++ {
        x := MY_STRING
        if i % 1000000 == 0 {
            fmt.Printf(x)
        }
    }

    elapsed2 …
Run Code Online (Sandbox Code Playgroud)

benchmarking go

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

退出后,Java流程构建器子进程继续

我正在开发一个自动更新脚本,该脚本应该能够在守护程序完成后重新启动它.

我正在尝试这个:

    final ArrayList<String> command = new ArrayList<String>();
    String initScriptPath = Config.GetStringWithDefault("init_script", "/etc/init.d/my-daemon");
    command.add("/bin/bash");
    command.add("-c");
    command.add("'" + initScriptPath + " restart'");

    StringBuilder sb = new StringBuilder();
    for (String c : command) {
        sb.append(c).append(" ");
    }
    Log.write(LogPriority.DEBUG, "Attempting restart with: " + sb.toString());

    final ProcessBuilder builder = new ProcessBuilder(command);

    builder.start();

    // Wait for a couple of seconds
    try {
        Thread.sleep(5000);
    } catch (Exception e) {
    }

    System.exit(0);
Run Code Online (Sandbox Code Playgroud)

但是System.exit似乎停止了重启?它确实停止了,但不会重新开始.

java daemon processbuilder

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

正则表达式匹配相等的字符串

是否可以仅使用正则表达式(无附加代码!)来匹配第n个匹配?例如:

"CAR" - "火车" - "船" - "自行车"

现在我只想匹配BOAT,匹配的正则表达式将是"[AZ] +",但是这也匹配第一个,第二个和第四个.

有没有人有这个纯正的正则表达式解决方案?我需要这个,因为我无法更改使用正则表达式的代码,但我可以提供正则表达式.

最好的问候,罗宾

java regex regex-group

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

在所有其他arraylists中获得arraylist项目的最快方法

我正在寻找一种智能而快速的方法来获取所有其他arraylists中的多个arraylists(存储在hashmap中)的值.

例如[a] = 1,2,3,4,5 [b] = 1,3 [c] = 3

结果= 3

在Java中实现这一目标的最快方法是什么?

java arraylist inner-join

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