小编Ian*_*ton的帖子

在Java中扩展数组的最有效方法?

(如果之前有人问过道歉 - 我不敢相信它没有,但我找不到一个.也许我的搜索功能很弱.)

多年来,我已经"知道"Java没有缩放数组的本机函数(即将每个元素乘以常量).所以我一直这样做:

for (int i=0; i<array.length; i++) {
  array[i] = array[i] * scaleFactor;
}
Run Code Online (Sandbox Code Playgroud)

这实际上是最有效的方式(例如,在这个应用程序中,它是一个大约10000个双倍的数组)?或者,还有更好的方法?

java arrays performance vector multiplication

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

将FFT计算卸载到嵌入式GPU是否值得?

我们正在考虑从专用数字信号处理芯片移植应用程序以在通用x86硬件上运行.该应用程序进行了大量的傅里叶变换,从简短的研究来看,FFT似乎非常适合在GPU而不是CPU上进行计算.例如,此页面有一些基准测试,其中Core 2 Quad和GF 8800 GTX在使用GPU时计算时间减少了10倍:

http://www.cv.nrao.edu/~pdemores/gpu/

但是,在我们的产品中,尺寸限制限制了我们使用PC104或Mini-ITX等小尺寸因素,因此限制了嵌入式GPU.

将计算卸载到GPU只需要在适当的PCIe总线上使用丰富的图形卡,或者甚至嵌入式GPU可以提高性能吗?

embedded gpu gpgpu fft

10
推荐指数
4
解决办法
9427
查看次数

浏览器是否在@ font-face语句中下载不必要的文件?

我想在网页中使用逻辑"如果你有这个系统字体A,使用它,否则下载并使用字体B".

我可以在CSS中这样做:

@font-face {
  font-family: B;
  src: url('B.ttf');
}

p {
  font-family: A, B;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:如果系统安装了字体A(即实际上不需要字体B来呈现文档),是否已经下载了B.ttf - 并且浏览器之间是否有所不同?

css browser fonts css3 font-face

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

在JavaFX中,如何为网格的反面着色?

我正在使用本答案中讨论的相同技术在 JavaFX 中创建 3D 绘图,并使用 MeshView 和 PhongMaterial 来提供颜色。然而,只有材质的顶部是彩色的,如果用户旋转相机从下面查看,则无法确定绘图的形状,因为它是全黑的。

我的问题:

  1. 有什么办法可以设置网格反面的材质吗?
  2. 如果没有,有没有一个好的方法来“伪造”它?我想在完全相同的位置创建一个颠倒的新网格会导致渲染问题;最好的方法是应用一个非常小的偏移量,以便两个网格体不完全重叠?

编辑:我在下面包含了一些示例代码,这些代码是从我的真实代码中删除的,但包含足够的内容来说明问题。默认情况下,它显示网格的顶部,在本例中为红色。如果您更改读取的行new Rotate(-30, Rotate.X_AXIS)以使角度变为+30而不是-30,它将旋转相机以显示网格的底面,您将看到它显示为黑色。

package test;

import javafx.application.Application;
import javafx.scene.DepthTest;
import javafx.scene.PerspectiveCamera;
import javafx.scene.Scene;
import javafx.scene.SceneAntialiasing;
import javafx.scene.SubScene;
import javafx.scene.image.Image;
import javafx.scene.image.PixelWriter;
import javafx.scene.image.WritableImage;
import javafx.scene.layout.Region;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.CullFace;
import javafx.scene.shape.DrawMode;
import javafx.scene.shape.MeshView;
import javafx.scene.shape.TriangleMesh;
import javafx.scene.transform.Rotate;
import javafx.scene.transform.Translate;
import javafx.stage.Stage;

public class TestApp extends Application {

  public static void main(String[] args) {
    launch(args);
  }

  @Override …
Run Code Online (Sandbox Code Playgroud)

3d javafx

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

我可以在JAR中混淆类名吗?

我有一个JAR文件,其中包含具有敏感名称的类,理想情况下我希望阻止软件客户查看.据我了解,一个JAR文件本质上只是一个ZIP文件,其中包含一个JVM字节码文件,每个类都有相应的名称,因此没有什么可以阻止我们的客户在ZIP实用程序中打开JAR文件并读取所有名称课程.

如果没有将我们的源类重命名为"NoneOfYourBusinessClass1"等,是否有任何可用的工具可以自动模糊构建的JAR的内容而无需更改源代码?

java obfuscation jar

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

使用命令行工具根据唯一 ID 聚合 CSV 数据

我想集合数据从一个CSV文件到另一个,使用命令行工具,如bashsedawk等等中的每个文件中的每一行与一个唯一的ID开始在第1列,并且如果在所述目的地的行该ID相匹配,则行应该被替换,否则应该附加。输入数据未排序,但结果的排序顺序无关紧要,因此如果有帮助,文件可以作为脚本的一部分进行排序。

例如,给定当前状态aggregate.csv

1,olddata
3,olddata
2,olddata
Run Code Online (Sandbox Code Playgroud)

和文件new.csv

4,newdata
2,changeddata
3,changeddata
Run Code Online (Sandbox Code Playgroud)

我想aggregate.csv出来如下(以任何排序顺序):

1,olddata
2,changeddata
3,changeddata
4,newdata
Run Code Online (Sandbox Code Playgroud)

这些行可能包含大量列,因此一次替换一个单元格并不理想。CSV 保证不包含引用的换行符,因此逐行搜索并一次替换整行是一种有效的方法。

抱歉,如果这是重复的,但我找不到另一个完全使用这种 CSV 合并方法的问题。

我已经尝试调整这个问题的答案,但它首先需要通过逐行解析两个文件、排序、删除重复项和保存来生成所有 ID 的“模板文件”——我希望有一种更简单的方法是可能的。

这个问题在 sed 和 awk 中有答案,我也复制了这些答案,并管理了正则表达式替换部分,但不是在不存在匹配的情况下向文件追加新行的方法。

谢谢!

bash awk command-line join sed

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

标签 统计

java ×2

3d ×1

arrays ×1

awk ×1

bash ×1

browser ×1

command-line ×1

css ×1

css3 ×1

embedded ×1

fft ×1

font-face ×1

fonts ×1

gpgpu ×1

gpu ×1

jar ×1

javafx ×1

join ×1

multiplication ×1

obfuscation ×1

performance ×1

sed ×1

vector ×1