小编hag*_*i_e的帖子

尝试使用java代理获取对象的大小时"无法加载Premain-Class清单属性"

当我尝试运行java程序(java -javaagent:size.jar ObjectSizeTest)时,我收到以下错误:

Failed to load Premain-Class manifest attribute from D:\workspace\ObjectSizeTest\size.jar
Error occurred during initialization of VM
agent library failed to init: instrument
Run Code Online (Sandbox Code Playgroud)

这是ObjectSizeTest的代码:

public class ObjectSizeTest {
    public static void main(String[] args) {
        String s = new String("sai");
        System.out.println(ObjectSizeFetcher.getObjectSize(s));
    }
}
Run Code Online (Sandbox Code Playgroud)

MANIFEST.MF(适用于size.jar):

Manifest-Version: 1.0
Created-By: 1.5.0_18 (Sun Microsystems Inc.)

Premain-Class: ObjectSizeFetcher
Run Code Online (Sandbox Code Playgroud)

这是ObjectSizeFetcher的代码:

import java.lang.instrument.Instrumentation;

public class ObjectSizeFetcher {
    private static Instrumentation instrumentation;

    public static void premain(String args, Instrumentation inst) {
        instrumentation = inst;
    }

    public static long …
Run Code Online (Sandbox Code Playgroud)

java instrumentation agent

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

使用mplayer确定音频/视频文件的长度

以下工作非常好地确定各种音频/视频文件的长度:

mplayer -identify file.ogg 2>/dev/null | grep ID_LENGTH
Run Code Online (Sandbox Code Playgroud)

但是,我想杀死mplayer的输出,这样我就可以更有效地确定许多文件的长度.我怎么做?

shell

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

动态和静态地访问C++结构中的成员

我想在C++中有一个结构(或类似的东西),它将允许动态访问其成员.它应该有一个通用的getter和setter,它们将成员名称作为字符串接收,并返回某种变体类型(例如boost::variant).

我认为可以使用boost::fusion::map,通过添加表示每个成员名称的字符串,以及在字符串和getter或setter函数之间构建STL映射来实现它.我不想重新发明轮子,所以我希望类似的东西已经存在.

你怎么看?我的想法会奏效吗?你知道其他方法来实现我的目标吗?

谢谢,哈该

c++ boost boost-fusion

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

Spark和InfiniBand

我试图在具有infiniband互连的HPC聚焦集群中使用Spark.此群集不提供支持IPoIB.我在这里看到了俄亥俄州立大学的Spakr-RDMA项目.我找不到其他人在做这个,或者apache spark将来会支持IB.问题是,是否有其他解决方案可以在只有IB作为网络的HPC环境中获得更新版本的spark?

hpc infiniband apache-spark

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

在 Ansible/Jinja2 中格式化项目列表

是否可以使用 Ansible / Jinja2 中的格式化字符串将列表/字典列表转换为字符串列表?

我知道我可以做类似的事情:

{{["First: %d", "Second: %d"] | map("format", 1) | join(", ") }}
Run Code Online (Sandbox Code Playgroud)

要得到First: 1, Second 1

是否可以做类似的事情

{{[[1, 1], [2, 2]] | map("format", "Num %d, %d") | join(", ") }}
Run Code Online (Sandbox Code Playgroud)

并导致Num 1, 1, Num 2, 2?

jinja2 ansible

5
推荐指数
2
解决办法
3084
查看次数

如何为二进制文件(.doc,.pdf等)关闭git 1.7.8开销

我使用git 1.7.4处理大型svn repo - 没关系.

我更新到git 1.7.8,现在,当我做"git svn dcommit"时,git做了一些多余的工作.在任务管理器中,我看到它做了大约1M的写操作(我正在使用SSD,所以它让我担心).它显示了.pdf和.doc文档的修改,例如它没有显示为1.7.4:

"c:/ Users /..../ AppData/Local/Temp/SOMEHASH_documentName.doc不是Word文档","错误:PDF文件已损坏 - 尝试重建外部参照表"

并且有许多这样的警告,可能大约200个.当git显示这样的警告时,我看到任务管理器中的写入计数增加了.

看起来git试图对二进制.pdf/.doc文件进行一些"智能"处理.但我不需要这个.我应该更改哪个配置选项来关闭这个多余的工作?

svn windows git binary overhead

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

从 x86 CPU 生成 64 字节读取 PCIe TLP

将数据写入 PCIe 设备时,可以使用写入组合映射来提示 CPU 应该向设备生成 64 字节的 TLP。

是否可以为读取做类似的事情?以某种方式提示 CPU 读取整个缓存行或更大的缓冲区,而不是一次读取一个字?

x86 pci-e

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

cursor.execute("INSERT INTO im_entry.test("+ entrym +")VALUES('"+ p +"');")

   entrym='entry'
   entrym=entrym+ str(idx)

   cursor.execute("INSERT INTO im_entry.test ("+entrym+") VALUES ('"+p+"');")
Run Code Online (Sandbox Code Playgroud)

我正在使用这样的查询,其中entry1,entry2等等是我的数据库表.该程序不显示任何错误,但该p值不会插入数据库中.这有什么不对?请帮我.

python database postgresql

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

Verilog中是否存在自动向量宽度强制?

假设我有一个小向量:

wire [15:0] a;
Run Code Online (Sandbox Code Playgroud)

我将它分配给一个更大的向量:

reg [31:0] b;

always @(posedge clk) begin
   b <= a;
end
Run Code Online (Sandbox Code Playgroud)

会有什么结果?将b在其较高的单词中分配零,或者高位部分是否保持不变?别的什么?

我已经尝试在其他来源中搜索答案,但我发现的所有示例都在左侧匹配宽度与赋值的右侧操作数.

verilog

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