小编val*_*zka的帖子

dash double semicolon(;;)语法

我试图找到并行运行多个命令的方法sh并等待它完成.我发现以下不起作用(sh: 1: Syntax error: ";" unexpected):

sh -c '(sleep 3 && echo 1) & ; (sleep 3 && echo 2) & ;  wait'
Run Code Online (Sandbox Code Playgroud)

但是这种语法按预期工作:

sh -c '(sleep 3 && echo 1) & ;; (sleep 3 && echo 2) & ;;  wait'
Run Code Online (Sandbox Code Playgroud)

但我不明白有什么区别.我的问题是;;它应该被使用的含义是什么?

syntax sh dash-shell

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

用于文本规范化的Java库

我正在寻找允许文本"标准化"的java库.类似于标准的Normalizer,但更宽(类似于utf8proc LUMP).

它应该将所有类型的特殊字符替换为ASCII等效字符(如果可能的话).代码为32的所有空间变体,所有变量的缺陷(长,短,薄等)到代码45等等.

java string text normalization

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

具有给定精度的快速双到字符串转换

我需要将double转换为具有给定精度的字符串.String.format("%.3f", value)(或DecimalFormat)完成这项工作,但基准测试表明,即使与非常快速的Double.toString转换(在我的机器上转换100万个数字大约1-3秒)相比,它也会变慢.

有没有更好的方法呢?

更新:基准测试结果

从0到1000000的随机数,结果是每毫秒的运算(Java 1.7.0_45)

Benchmark                                    Mean   Mean error    Units

String_format                             747.394       13.197   ops/ms
BigDecimal_toPlainString                 1349.552       31.144   ops/ms
DecimalFormat_format                     1890.917       28.886   ops/ms
Double_toString                          3341.941       85.453   ops/ms
DoubleFormatUtil_formatDouble            7760.968       87.630   ops/ms
SO_User_format                          14269.388      168.206   ops/ms
Run Code Online (Sandbox Code Playgroud)

更新:

Java 10,+ ryu

                                Mode  Cnt      Score      Error   Units
String_format                  thrpt   20    998.741 ±   52.704  ops/ms
BigDecimal_toPlainString       thrpt   20   2079.965 ±  101.398  ops/ms
DecimalFormat_format           thrpt   20   2040.792 ±   48.378  ops/ms
Double_toString                thrpt   20   3575.301 ±  112.548  ops/ms
DoubleFormatUtil_formatDouble  thrpt   20   7206.281 …
Run Code Online (Sandbox Code Playgroud)

java precision double optimization

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

hidden.edu.emory.mathcs.backport*

在应用程序线程转储中,我可以看到有五个线程的线程池,如下所示

"pool-1-thread-5" prio=10 tid=0x000000000101a000 nid=0xe1f in Object.wait() [0x00007f3c66086000]
  java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000007b8e57af8> (a hidden.edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue$SerializableLock)
    at java.lang.Object.wait(Object.java:503)
    at hidden.edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:316)
    - locked <0x00000007b8e57af8> (a hidden.edu.emory.mathcs.backport.java.util.concurrent.LinkedBlockingQueue$SerializableLock)
    at hidden.edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:994)
    at hidden.edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1054)
    at hidden.edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
    at java.lang.Thread.run(Thread.java:722)
Run Code Online (Sandbox Code Playgroud)

但我没有直接使用这样的东西,并没有在依赖中看到这样的东西.

这是什么(hidden.edu.emory.mathcs.backport)及其使用的原因(在jdk 7上运行的应用程序)?我可以检测应用程序的哪个部分启动它?

java stack-trace thread-dump java.util.concurrent threadpool

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

kill -9和生产应用程序

哪个问题可能会导致kill -9生产应用程序(在linux中准确)?

我有应用程序做一些定期工作,停止这些需要很长时间,我不在乎是否会中止某些工作 - 工作可以通过新流程完成.那么我kill -9可以立即使用它来停止它,否则会导致严重的操作系统问题?

例如,Unicorn将其用作正常的工作程序:

当您的应用程序出错时,BOFH可以"杀死-9"失控的工作进程,而不必担心会撕毁所有客户端,只需一个.

但是这篇文章声称:

kill(1)的-9(或KILL)参数永远不应该在Unix系统上使用

PS:我知道kill -9应用程序无法处理,但我知道对于应用程序来说它不会导致任何问题,我只是感兴趣它可以在操作系统级别上引起一些问题吗?shared memory segments active, lingering sockets对我来说听起来很危险

linux operating-system kill unicorn

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

春天的贬值警告

应用程序启动时,我收到警告消息(数十次):

Dec 08, 2012 5:10:41 PM org.springframework.beans.TypeConverterDelegate findDefaultEditor
WARNING: PropertyEditor [sun.beans.editors.EnumEditor] found through deprecated global PropertyEditorManager fallback - consider using a more isolated form of registration, e.g. on the BeanWrapper/BeanFactory!
Run Code Online (Sandbox Code Playgroud)

谷歌表明这是非常常见的消息,但不幸的是没有说明它发生的原因.我该如何避免这些警告?

春季版2.5.6.

java spring warnings

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

UnknownHostException 和 /etc/hosts

我在 /etc/hosts 文件中有记录,其中包含 IPv4 和 IPv6 地址,host-name.com 但有时我会UnknownHostException这样:

redis.clients.jedis.exceptions.JedisConnectionException: java.net.UnknownHostException: host-name.com 
  at redis.clients.jedis.Connection.connect(Connection.java:137) 
  at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:65) 
  at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1706) 
  at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:28) 
  at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188) 
  at redis.clients.util.Pool.getResource(Pool.java:38) 
    ... 2 common frames omitted 
Caused by: java.net.UnknownHostException: host-name.com 
  at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178) 
  at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
  at java.net.Socket.connect(Socket.java:579) 
  at redis.clients.jedis.Connection.connect(Connection.java:132) 
    ... 7 common frames omitted
Run Code Online (Sandbox Code Playgroud)

这怎么可能,我该如何解决?

  • 带有 unscd 的 Linux 3.2(Debian 稳定版)
  • java 1.7.0_45 与 -Djava.net.preferIPv4Stack=true
  • /etc/nsswitch.conf 有一行 hosts: files dns
  • /etc/hosts 权限 -rw-r--r--

java linux host hosts jedis

5
推荐指数
0
解决办法
2401
查看次数

从Guava 19升级到20时的编译错误

尝试将番石榴从版本19升级到20并收到此错误:

Error:java: cannot access com.google.errorprone.annotations.CanIgnoreReturnValue
  class file for com.google.errorprone.annotations.CanIgnoreReturnValue not found
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决它?我的项目中没有任何对errorprone的引用.在errorprone下面添加依赖项无济于事:

        <groupId>com.google.errorprone</groupId>
        <artifactId>error_prone_annotations</artifactId>
Run Code Online (Sandbox Code Playgroud)

java guava errorprone

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