小编Hor*_*ux7的帖子

Java方法getGlyphOutline在C#中是否有等价物?

我正在将一些Java代码转换为C#.此代码使用GlyphVector中的getGlyphOutline.有没有想过在C#或.NET中是否有相同的东西?

.net c# java

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

在Java中防止零星的ConcurrentModificationException的最佳做法是什么?

迭代列表或映射的代码序列会阻止ConcurrentModificationException?我们的代码中有反复和零星的ConcurrentModificationException.这个问题有两个原因.

  1. 另一个线程在迭代时更改列表
  2. 在循环中调用的方法是更改​​列表.

问题1可以通过循环同步来解决.但是,如果在循环中调用外来代码(例如原因2),则这很糟糕.

问题2可以通过列表或地图的副本来解决.

这意味着列表或映射必须在循环之前复制到同步块中.有更好的解决方案吗?

一些示例代码:

public void todoSomeThings( Map<Abc, Object> map ){
    for( Abc abc : map.keySet() ){
        abc.todoSomeThings();
    }
}
Run Code Online (Sandbox Code Playgroud)

java thread-safety concurrentmodification

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

如何从 MSI 设置中设置安全盒的程序名称?

我已经使用 WIX 工具集创建了一个签名的 MSI 安装程序。安装程序在安装之前(不是在开始时)显示一个安全框。由于 MSI 文件已复制到 C:\windows\installer 目录,因此此安全框显示了一个神秘的十六进制数字名称。

是否可以选择在此安全框中显示一个不错的程序名称?

以下是此类保险箱的示例:

在此处输入图片说明

security windows-installer uac wix

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

是否有Java API来获取VM参数?

可能重复:
如何从java应用程序内部获取vm参数?

我想在日志文件中打印Java进程的当前命令行选项.Java中是否有API来请求此参数?我不是指传递给main的程序参数.我对-X和-D参数感兴趣.

java api command-line

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

如何将浮点值舍入为double值?

以下代码错误地针对人类:

double d = 0.7F;
System.out.println( d );
Run Code Online (Sandbox Code Playgroud)

打印价值:0.699999988079071

以下代码更好用:

double d = Double.valueOf( Float.toString( 0.7F ));
System.out.println( d );
Run Code Online (Sandbox Code Playgroud)

但是创建一个额外的String.没有额外的字符串,是否有更多的性能转换为float?

代码行很简单,只展示了问题.该计划更复杂.浮点值位于复杂模型的一部分中.格式化图层仅使用double.此外,DecimalFormat只接受double而不是float.

java floating-point double rounding-error rounding

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