小编jun*_*kie的帖子

如何在Thymeleaf模板中访问系统属性?

我需要访问Thymeleaf模板中的系统属性.如果这是可能的,那将是很好的,这样我就不必使用属性显式填充spring mvc模型.我正在尝试将SPEL用于此目的,但它无法正常工作.

<h2 th:text="${ systemProperties['serverName'] }">Service name</h2>

<h2 th:text="*{ systemProperties['serverName'] }">Service name</h2>
Run Code Online (Sandbox Code Playgroud)

这两个都给了我:

Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1012E:(pos 17): Cannot index into a null value
Run Code Online (Sandbox Code Playgroud)

即使我尝试访问jdk属性它也会出现相同的错误,所以我知道这不是属性丢失的事实.我做错了什么或者有其他方法可以做到这一点?

java spring spring-mvc spring-el thymeleaf

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

如何将C++向量传递给OpenCL内核?

我是C,C++和OpenCL的新手,现在正尽力学习它们.这是一个预先存在的C++函数,我试图弄清楚如何使用C或C++绑定移植到OpenCL.

#include <vector>

using namespace std;

class Test {

private:

    double a;
    vector<double> b;
    vector<long> c;
    vector<vector<double> > d;

public:

    double foo(long x, double y) {
        // mathematical operations
        // using x, y, a, b, c, d
        // and also b.size()
        // to calculate return value
        return 0.0;
    }

};
Run Code Online (Sandbox Code Playgroud)

从广义上讲,我的问题是如何将此函数访问的所有类成员传递到绑定和内核中.我理解如何传递标量值但是我不确定的矢量值.是否有一种方法可以将指针传递给上述每个成员或内存映射它们,以便OpenCL的视图与主机内存同步?细分我的问题如下.

  1. 如果这些是可变大小的,我如何将成员b和c传递给绑定和内核?
  2. 如果它是二维的,我如何传递成员?
  3. 如何从内核中访问这些成员,以及在内核的参数中将它们声明为什么类型?将简单地使用数组索引表示法,即b [0]用于访问?
  4. 如何在内核函数中调用等效于b.size()的操作,或者我不会将绑定大小作为额外参数传递给内核?如果它改变会发生什么?

我非常感谢答案中的C或C++绑定和内核代码示例源代码.

非常感谢.

c c++ opencl

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

在C++中使用SetProcessAffinityMask的示例?

我需要将各种c/c ++进程固定到计算机上的特定核心,以便仅在Windows 7 64位上进行基准测试.我的机器有16个核心(2x8).我试图通过从给定进程的代码中调用SetProcessAffinityMask来做到这一点.假设这是正确的我不确定如何使用此功能.我已经看过文档,但我无法理解它对第二个参数需要的描述.我也没有在搜索过的SO或Google上找到任何c/c ++用例.

问题1:以16核机器(2cpux8)和ac/c ++项目为例,请您提供一个说明性示例,说明如何使用SetProcessAffinityMask来挑选16个核心中的每一个,以及对我理解的第二个参数的解释?如何将核心ID从0-15转换为等效的位掩码?

问题2:如果有2x8内核而不是一个cpu上的16个内核,它会对使用产生影响吗?或者是相同的用法?

非常感谢.这是我到目前为止所拥有的.

#include <Windows.h>
#include <iostream>

using namespace std;

int main () {

    HANDLE process = GetCurrentProcess();

    DWORD_PTR processAffinityMask = 0; /// What to do here?

    BOOL success = SetProcessAffinityMask(process, processAffinityMask);

    cout << success << endl;

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

c++ windows

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

如何使用Chronicle Map在随机索引上使用get/set来序列化/反序列化long []值?

我是编年史的新手.我正在尝试使用chronicle-map对离堆映射进行建模,其中键是原始short,值是原始长数组.对于给定的映射,长数组值的最大大小是已知的.但是我将有多个这种类型的映射,每个映射对于长数组值可能具有不同的最大大小.我的问题涉及密钥和值的序列化/反序列化.

从阅读文档我明白,对于密钥,我可以使用值类型ShortValue并重用该接口的实现实例.关于值,我找到了关于DataAccess和SizedReader的页面,它给出了byte []的一个例子,但我不确定如何将它改编为long [].我有一个额外的要求是我需要在长数组中的任意索引处获取和设置值,而无需每次都支付整个值的完整序列化/反序列化的成本.

所以我的问题是:如何构建地图时我如何建模值类型?如果每个地图知道最大尺寸并且我需要能够随机读写,那么我需要为long []数组设置什么序列化/反序列化代码每次没有序列化/反序列化整个值有效负载的索引?理想情况下,long []将直接编译/解码到堆外,而不会在堆上中间转换为byte [],并且chronicle-map代码也不会在运行时分配.谢谢.

java low-latency chronicle chronicle-map off-heap

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