问题列表 - 第47214页

Java垃圾收集

Java自动调用垃圾收集器,那么为什么我们需要手动调用垃圾收集?什么时候应该使用System.gc()

java garbage-collection

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

org.hibernate.StaleStateException:批量更新从update [0]返回意外的行数; 实际行数:0; 预期:1

有时,当持久化obj时,其中一个字段太大而无法放入db字段,从而导致数据截断异常.在下面的代码中,我尝试捕获DataException并简单地清空该字段和重新保存.但是我在重新开始时遇到了异常.为什么会发生批量更新异常以及如何解决它?


 public static void save(Object obj) throws Exception{
        try{
            beginTransaction();
            getSession().save(obj);
            commitTransaction();

        }catch(Exception e){
            e.printStackTrace();
            rollbackTransaction();
            throw e;
        }finally{
            closeSession(); //not needed, session obtained from sf.getCurrentSession() will auto close
        }
    }   
 public static void saveXXX(XXX rec){

        try {
            save(rec);
        } catch (org.hibernate.exception.DataException e) {
            e.printStackTrace();

            saveXXX(rec, e); //causes an exception      
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
    private static void saveXXX(WhoisRecord rec, DataException e) {
        rec.setField(""); //empty out the problem field
        saveXXX(rec);

例外:

org.hibernate.StaleStateException:批量更新从update [0]返回意外的行数; 实际行数:0; 预期:1
    在org.hibernate.jdbc.Expectations $ …

java mysql hibernate stalestateexception

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

[j ++] = ++ i的等价表达式,不使用前置或后置增量运算符

所以我在思考这个问题(这是一个家庭作业/考试复习问题):

a[j++] = ++i;不使用前/后增量运算符的情况下记下等效表达式.如果没有这样的表达式可以解释原因.

我能够想出以下内容:

a[j] = i+=1;
j+=1;

我想不出一种方法来增加一个[]中的j作为一个后增量而不是j+=1;后来使用,我相信会导致答案没有这样的表达式可以提供(因为它的两行代码而不是一行)和只是说明你没有post增量运算符就不能发布增量.

我错过了什么或者我是否正确?我只是想仔细检查一下.提前致谢.

编辑:感谢@James McNellis,他提供了一种方式 a[(j+=1)-1] = (i+=1);

c pre-increment post-increment

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

如何在nvidia-smi中定义GPU和内存利用率?

我目前正在使用nvidia的驱动程序'nvidia-smi'附带的工具在GPU上进行性能监控.当我们使用'nvidia-smi -a'时,它将提供当前GPU信息的信息,包括GPU核心和内存使用情况,温度等,如下所示:

============== NVSMI LOG ==============

时间戳:星期二

2011年2月22日22:39:09

驱动程序版本:260.19.26

GPU 0:

    Product Name            : GeForce 8800 GTX
    PCI Device/Vendor ID    : 19110de
    PCI Location ID         : 0:4:0
    Board Serial            : 211561763875
    Display                 : Connected
    Temperature             : 55 C
    Fan Speed               : 47%
    Utilization
        GPU                 : 1%
        Memory              : 0%
Run Code Online (Sandbox Code Playgroud)

我很好奇GPU和内存利用率是如何定义的?例如,GPU核心的利用率为47%.这意味着有47%的SM正在运作?或者所有GPU核心在47%的时间内忙碌而闲置其他53%的时间?对于内存,利用率是指当前带宽与最大带宽之间的比率,还是上次时间单位的繁忙时间比率?

cuda gpu nvidia

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

libsvm.cpp编译错误MATLAB

我从官方网站下载了libsvm for MATLAB (我正在使用MATLAB 2010b)但是每当我运行make文件时,我得到:

 >> make
Error svm.cpp: 13  syntax error; found `<' expecting `;' 
Error svm.cpp: 13  skipping `<' 
Error svm.cpp: 13  syntax error; found `T' expecting `;' 
Error svm.cpp: 13  syntax error; found `>' expecting `;' 
Error svm.cpp: 13  skipping `>' 
Error svm.cpp: 13  syntax error; found `T' expecting `;' 
Error svm.cpp: 13  syntax error; found `min' expecting `;' 
Error svm.cpp: 13  syntax error; found `x' expecting `)' 
Error svm.cpp: 13  skipping `x' `,' …
Run Code Online (Sandbox Code Playgroud)

matlab libsvm

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

将$(this)传递给jQuery中的回调?

我有两个效果,我想一个接一个地运行,但我无法弄清楚如何$(this)从第一个效果传递给回调.

这就是我现在所拥有的:

if($(this).hasClass('flag')) {
    $('someElement').slideUp();
    $(this).slideDown();
}
Run Code Online (Sandbox Code Playgroud)

但我想要的是在slideUp完成后运行slideDown,即.

if($(this).hasClass('flag')) {
    $('someElement').slideUp(function() {
        $(this).slideDown();
    });
}
Run Code Online (Sandbox Code Playgroud)

除了$(this)通过这一阶段现指someElement,而不是等按计划不起作用.

我如何参考我的原件element.flag.我尝试过使用,$this = $(this)但我认为我的语法必须错误.

有任何想法吗?

parameters jquery callback this

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

如何在不添加所有现有文件的情况下创建分支?

当我在git中创建分支时,所有创建的文件都会添加到新分支中.

如何在不添加所有现有文件的情况下创建分支?

git

29
推荐指数
2
解决办法
9378
查看次数

如何使用AVAudioRecorder恢复录制?

我正在编写一个使用AVAudioRecorder该类的应用程序.除了拨打电话外,它的效果很好.我按照苹果公司使用AVAudioRecorderDelegate方法的指导方针处理这个问题.

– (void) audioRecorderBeginInterruption:
– (void) audioRecorderEndInterruption:
Run Code Online (Sandbox Code Playgroud)

它工作得很好,直到中断结束,我试图通过再次调用记录方法来"恢复"记录(根据文档).然而,它并没有恢复我的录音,而是抛弃旧的录音,并在它的位置启动一个全新的录音.我无法找到解决这个问题的方法,如果有人想出来的话,或者苹果的错误AVAudioRecorder请告诉我.我真的希望我不必写这个AudioQueues.

谢谢

iphone recording avaudiorecorder ios

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

BGRA在iPhone上的glTexImage2D和glReadPixels

查看文档,我应该可以使用BGRA作为纹理的内部格式.我正在为纹理提供BGRA数据(使用GL_RGBA8_OES用于glRenderbufferStorage,因为它似乎不允许BGRA).但是,以下不起作用:

glTexImage2D(GL_TEXTURE_2D, 0, **GL_BGRA**, w, h, 0, GL_BGRA, GL_UNSIGNED_BYTE, buffer);
...
glReadPixels(0, 0, w,h, GL_BGRA, GL_UNSIGNED_BYTE,buffer, 0);
Run Code Online (Sandbox Code Playgroud)

虽然这给了我一个黑框:

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_BGRA, GL_UNSIGNED_BYTE, buffer);
...
glReadPixels(0, 0, w,h, **GL_BGRA**, GL_UNSIGNED_BYTE,buffer, 0);
Run Code Online (Sandbox Code Playgroud)

这确实有效,但蓝调/红色被反转(我向纹理提供BGRA数据):

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,w, h, 0, GL_BGRA, GL_UNSIGNED_BYTE, buffer);
...
glReadPixels(0, 0, w,h, **GL_RGBA**, GL_UNSIGNED_BYTE,buffer, 0);
Run Code Online (Sandbox Code Playgroud)

...为什么我不能一直使用BGRA?我注意到glRenderbufferStorage似乎不接受任何BGRA格式......我真的很困惑.BGRA是我的数据中唯一合适的格式,因为它来自iphone的相机.

iphone camera avfoundation color-space opengl-es-2.0

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

是否可以在保留行和列频率的同时对二维矩阵进行混洗?

假设我有一个如下所示的2D数组:

GACTG
AGATA
TCCGA
Run Code Online (Sandbox Code Playgroud)

每个数组元素取自一个小的有限集(在我的例子中,DNA核苷酸 - {A, C, G, T}).我想以某种方式随机洗牌这个数组,同时保留行列核苷酸频率.这可能吗?可以有效地完成吗?

[编辑]:我的意思是我想要生成一个新的矩阵,其中每一行的As,Cs,Gs和Ts的数量与原始矩阵的相应行数相同,并且每列具有相同数量的As,Cs,Gs和Ts作为原始矩阵的对应列. 置换原始矩阵的行或列通常不会实现此目的. (例如,对于上面的例子中,顶行有2 G秒,1的每一个A,C并且T,如果该行与第2行交换,在所得到的矩阵的最上一行将具有3个AS,1 G和1 T).

通过一次改变列来保​​持列频率,同样适用于行,这很简单.但这样做通常会改变另一种频率.

到目前为止我的想法: 如果可以选择2行和2列,以便这个矩形角落的4个元素具有模式

XY
YX
Run Code Online (Sandbox Code Playgroud)

对于一些对不同元件的XY,然后更换这些4个元素与

YX
XY
Run Code Online (Sandbox Code Playgroud)

将保持行频和列频.在顶部的示例中,这可以针对(至少)第1行和第2行以及第2列和第5列(其角部给出2x2矩阵AG;GA)以及第1行和第3行以及第1列和第4列(其角落给出GT;TG)进行.显然,这可以重复多次以产生一定程度的随机化.

推广一点,由行的子集和列的子集引起的任何"子矩形",其中所有行的频率相同并且所有列的频率相同,可以使其行和列置换以产生一个有效的完整矩形.(其中,只有那些至少改变了1个元素的子矩形实际上很有趣.)大问题:

  1. 是否所有有效的完整矩阵都可通过一系列此类"子矩阵重排"到达? 我怀疑答案是肯定的.
  2. 是否所有有效的子矩阵重排都可以分解为一系列2x2交换? [编辑]:mhum的反例表明答案是否定的.不幸的是,因为这似乎使得提出一种有效的算法变得更加困难,但重要的是要知道.
  3. 是否可以有效地计算部分或全部有效重排?

这个问题涉及一组特殊情况,其中包含可能的元素集{0, 1}.人们提出的解决方案与我自己提出的解决方案类似,可能是可用的,但并不理想,因为它们需要任意数量的回溯才能正常工作.另外我担心只考虑2x2掉期. …

random algorithm shuffle

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