小编ori*_*que的帖子

什么会导致Hibernate性能以不确定的方式波动?

我有一个项目,我们进行夜间性能测试.这是每天晚上我们的网站被数百名并发"用户"击中3小时的相同测试.性能结果最终呈现两种状态之一 - 坏或好,每个状态似乎都与自身一致.我们的数据库人员(oracle顺便说一句)注意到,在性能不佳的日子里,我们会有很多很多,而不是好日子,但只有一个查询.

从我的分析到目前为止,我认为它与hibernate选择使用/不使用代理有关,但我无法理解什么会在某些日子直接hibernate这样做而不是在其他日子.什么会导致Hibernate中出现这种不稳定的非确定性行为?我在Hibernate 4.2.0和Spring上.我们没有使用二级缓存.我们的服务器上没有其他应用程序.

导致此调用被发出的对象位于通过父/子相关的长链对象的末尾.我们正在成为这个链条的负责人.

表现不佳 一次糟糕的运行,请注意9w执行4m ...查询

一个表现良好的夜晚 一个好的运行,注意到630k执行9wu ...查询

编辑:我无法在模块中重现这一点.似乎当我将-xmx设置得非常低(28m)时,额外的调用不存在,但是在xmx = 128m时,我得到了大部分运行.关于在Hibernate中我可以看到为什么/如何决定它是否应该代理的任何提示?

编辑2:我无法在我的模块中一致地重现.它将适用于5次运行然后失败3然后工作然后失败.每次我运行完全相同的单元测试.它似乎是一个N + 1点的问题,它加载了一堆孩子通过"选择item0 ......"查询,但一个良好的运行期间,它决定使用另一个查询,或不从web服务之间放弃条目调用.我将看到我可以做些什么来混淆我的对象并提供一些细节.遗憾的是,IT存储在数据库中,它使用带有鉴别器的继承.

java performance hibernate

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

将大文件切成块并使用ajax和html5 FileReader上传

我想要实现的是:

在前端,我使用html5文件api来读取文件,然后使用ajax将文件的内容上传到php后端,如果文件大小很小就可以了.但是,如果文件足够大,则会导致chrome崩溃.所以我使用file.slice将大文件拆分成块,当所有块都上传到php时,将块合并为一个完整的块.

代码如下:

前端:

<style>
#container {
     min-width:300px;
     min-height:200px;
     border:3px dashed #000;
}
</style>
<div id='container'>

</div>
<script>
function addDNDListener(obj){
    obj.addEventListener('dragover',function(e){
            e.preventDefault();
            e.stopPropagation();
    },false);
    obj.addEventListener('dragenter',function(e){
            e.preventDefault();
            e.stopPropagation();
    },false);
    obj.addEventListener('drop',function(e){
            e.preventDefault();
            e.stopPropagation();
            var ul = document.createElement("ul");
            var filelist = e.dataTransfer.files;
            for(var i=0;i<filelist.length;i++){
                    var file = filelist[i];
                    var li = document.createElement('li');
                    li.innerHTML = '<label id="'+file.name+'">'+file.name+':</label>  <progress value="0" max="100"></progress>';
                    ul.appendChild(li);
            }
            document.getElementById('container').appendChild(ul);
            for(var i=0;i<filelist.length;i++){
                    var file = filelist[i];
                    uploadFile(file);
            }
    },false);
}

function uploadFile(file){
    var loaded = 0;
    var step = 1024*1024;
    var …
Run Code Online (Sandbox Code Playgroud)

javascript php html5 drag-and-drop filereader

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

如何在java中实例化一个对象?

我是编程新手,我想知道在实例化对象时我出错了.以下是代码:

public class Testing{
    private int Sample(int c)
    {
        int a = 1;
        int b = 2;
        c = a + b;
        return c;
    }
    public static void main(String []args)
    {
        Sample myTest = new Sample();
        System.out.println(c);
    }
}
Run Code Online (Sandbox Code Playgroud)

java instantiation

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

单击按钮后,使用javascript将计算结果添加到跨度中

嗨,我是javascript的新手,我希望你能帮我找出为什么在用户点击使用最小和最大数字的计算按钮后,我无法得到随机数生成器的结果出现在span标签中进入.我相信随机数函数没有任何问题,当我想使用随机数函数作为onclick事件的事件处理程序时,它不起作用的按钮.好吧,我做的是,我创建了一个名为answer的函数来收集用户输入并将该输入用作在answer函数内调用的随机数函数的参数.

然后我使用了回答函数作为onclick的事件处理程序,认为它将具有随机数生成器的结果并将其应用于onclick.我将其存储在var存储中,因此我可以稍后将事件的结果放在span标记中.

这是代码的js小提琴.你可以通过在按钮$("计算")点击之后将random_number函数的结果输入到span $("output")来帮助我解决我的问题吗?

只有纯粹的javascript,请不要jquery.

预先感谢您的帮助.如果我的术语错误且拼写错误,我很抱歉.http://jsfiddle.net/jack2ky/WDyMd/

        <label for="min">Enter the min:</label>
    <input type="text" id = "min" /> <br />

    <label for="max">Enter the max:</label>
    <input type="text" id = "max" /> <br />

    <input type="button" id = "calculate" value = "calculate"/>
    <span id ="output">&nbsp;</span>
<script>

    var $ = function(id){
        return document.getElementById(id);
    }
window.onload = function () {


    var random_number = function(min, max, digits){
        digits = isNaN(digits) ? 0 : parseInt(digits);

        if(digits < 0){
            digits = 0;
        }else if (digits > 16){
            digits …
Run Code Online (Sandbox Code Playgroud)

javascript javascript-events

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

如何在 Eclipse 中监听项目删除?

我有一个带有增量构建器的项目。考虑到项目具有某种性质,构建器将所有资源及其更改的模型表示写入模型中。这运行得很好。但是如果从工作区中删除整个项目,则不会调用增量构建器。为此创建事件处理程序的最佳方法是什么?

我知道我可以IResourceChangeListener根据自己的本性创建一个并将其附加到所有项目中。但是我必须在 IDE 启动时启动我的插件,这相当混乱。

那么,捕获“项目删除”事件的最佳方法是什么?

java eclipse eclipse-plugin

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

在extjs MVC架构中如何将参数传递给函数

我想将参数"aaa"传递给disableFlied函数,但下面的代码不起作用:

init: function() {

    this.control({
        '#speedCheck': {
            change :this.disableFlied("aaa")
        }
    });

},
disableFlied: function(cmpName){

    var a = Ext.getCmp(cmpName);
    a.setDisabled(!a.isDisabled());

}
Run Code Online (Sandbox Code Playgroud)

如何将"aaa"传递给disableFlied函数?

extjs extjs4 extjs-mvc

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