小编Abd*_*ahC的帖子

与Firefox中的Chrome原生客户端消息传递类似的技术?

我们希望在基于浏览器的Web应用程序和客户端守护进程之间替换自定义NPAPI接口.

Firefox中的Chrome的Native Client Messaging是否有类似的技术?

firefox google-chrome jsctypes chrome-native-messaging

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

多个静态变量实例

我正在尝试使用不同的类加载器来加载特定的类,并查看该类中的静态变量是否可以具有不同的实例.

基本上,我正在尝试编写Stephen C在此答案中提到的代码.

这是我的课程:

CustomClassLoader.java

class CustomClassLoader extends ClassLoader
{
    public Class loadClass(String classname)  throws ClassNotFoundException {
        return super.loadClass(classname, true);
    }
}
Run Code Online (Sandbox Code Playgroud)

Test.java(包含驱动程序)

class Test {
        public static void main(String[] args) throws Exception {
                CustomClassLoader c1 = new CustomClassLoader();
                CustomClassLoader  c2 = new CustomClassLoader();
                Class m1, m2;

                m1 = c1.loadClass("A");
                m2 = c2.loadClass("A");

                m1.getField("b").set(null, 10);

                System.out.println(m1.getField("b").get(null));
                System.out.println(m2.getField("b").get(null));
        }

}
Run Code Online (Sandbox Code Playgroud)

A.java(包含静态变量)

class A {
        public static int b = 5;
}
Run Code Online (Sandbox Code Playgroud)

当我运行Test类时,我得到以下输出:

$ java Test
10
10
Run Code Online (Sandbox Code Playgroud)

我希望输出为10和5.如何让代码创建我的静态变量的两个实例?

注意:我这样做只是为了实验和学习 …

java reflection static classloader

13
推荐指数
2
解决办法
6801
查看次数

我是否需要清理传递给NewStringUTF的char*?

我想是的,但是我发现的前12个例子都做了一些非说明性的事情

JNIEXPORT jstring JCALL Java_com_foo_dumbImpl(JNIEnv* env, jobject thisObj)
{
  return (*env)->NewStringUTF(env, "constant string"); 
}
Run Code Online (Sandbox Code Playgroud)

所以后人我会问:这很糟糕,是吗?

JNIEXPORT jstring JCALL Java_com_foo_dumbImpl(JNIEnv* env, jobject thisObj)
{
  char *leak = malloc(1024);
  leak[0] = '\0';
  return (*env)->NewStringUTF(env, leak); 
}
Run Code Online (Sandbox Code Playgroud)

......应该是:

JNIEXPORT jstring JCALL Java_com_foo_dumbImpl(JNIEnv* env, jobject thisObj)
{
  char *emptystring = NULL;
  jstring r = NULL;
  emptystring = malloc(1024);
  emptystring[0] = '\0';
  r = (*env)->NewStringUTF(env, emptystring); 
  free(emptystring);
  emptystring = NULL;
  return  r;
}
Run Code Online (Sandbox Code Playgroud)

java java-native-interface

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

将非偶数行的文本文件读入2D数组

对不起,我是C的新手,我很难过.我有一个输入文本文件,其中包含:

5 3
383 386 287
415 293 335
368 492 149
421 362 27
190 59 263
Run Code Online (Sandbox Code Playgroud)

我试图将其读入2D数组.我在想的是这个:

FILE * fin = NULL;
fin = fopen("myTestData.txt", "r");
int twod[MAX_ROWS][MAX_COLS];

int i, j, num, row, col;
fscanf(fin, "%d%d", &row, &col);

fclose(fin);

fin = fopen("myTestData.txt", "r");
for(i = 0; i < row; i++)
{
    for(j = 0; j < col; j++)
    {
        fscanf(fin, "%i ", &num);
    twod[i][j] = num;
    }
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是在空白的第一行(twod [0] [2])上,它为第二行(383)的第一个整数赋值.我能做什么才能使[0] [2]获得空值?

谢谢你的帮助

c arrays 2d

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

总是要避免尾递归函数吗?

如果我没记错的话,尾递归函数总是有一个简单的非递归等价.由于递归涉及不必要的函数调用开销,因此最好以非递归方式进行.

这种假设总是如此吗?是否还有其他参数支持/反对尾递归?

recursion performance tail-recursion

4
推荐指数
2
解决办法
938
查看次数

DB2相当于T-SQL的输出子句

我正在寻找一种方法让我的查询返回一个在表中递增的值.

例如:

UPDATE Items SET Clicks = Clicks + 1
Run Code Online (Sandbox Code Playgroud)

我需要此查询来返回它已设置的"Clicks"的新值.

T-SQL OUTPUT子句似乎适合我的目的,但我不能找到一个DB2等价的.有没有办法在DB2中实现这一点,而不使用第二个查询?

sql db2 sql-update

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

与sizeof派生类混淆

class base
{
  private:
  int a;
  };
class base2
{
  private:
  int b;
  };
class derived:public base,public base2
{
  private:
  int c;
  };
main()
{
  base b;
  derived d;
  cout<<size of(base)<<size of(base2)<<size of(derived);
}
Run Code Online (Sandbox Code Playgroud)

因为int a和int b是私有变量.所以它们不会在派生类中继承.所以输出应该是4 4 4但它是输出:4 4 12为什么?

c++ inheritance sizeof

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