小编jor*_*pra的帖子

证明福勒的货币分配算法是正确的

Martin Fowler 有一个Money类,有一个货币分配程序.该例程根据给定的比率列表分配资金,而不会通过舍入而损失任何价值.它会将任何余数值传播到结果上.

例如,由"比率"(1,1,1)分配的100美元将产生(34美元,33美元,33美元).

这是allocate功能:

public long[] allocate(long amount, long[] ratios) {
    long total = 0;
    for (int i = 0; i < ratios.length; i++) total += ratios[i];

    long remainder = amount;
    long[] results = new long[ratios.length];
    for (int i = 0; i < results.length; i++) {
        results[i] = amount * ratios[i] / total;
        remainder -= results[i];
    }

    for (int i = 0; i < remainder; i++) {
        results[i]++;
    }

    return results;
}
Run Code Online (Sandbox Code Playgroud)

(为了这个问题,为了简单起见,我冒昧地用long取代Money类型.)

问题是,我怎么知道它是正确的?除了最终的for-loop之外,这一切似乎都是不言而喻的.我认为,为了证明函数是正确的,在最终的for循环中证明以下关系是正确的就足够了:

remainder < …
Run Code Online (Sandbox Code Playgroud)

algorithm allocation currency proof

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

无法反序列化Spring Session Scoped bean

我有以下会话作用域bean:

@ManagedBean
@Component
@Scope(proxyMode= ScopedProxyMode.TARGET_CLASS, value="session")
public class SessionData implements Serializable {}
Run Code Online (Sandbox Code Playgroud)

我将tomcat会话存储在数据库中.问题是,当应用程序尝试反序列化存储的会话时,我收到以下错误:

 org.apache.catalina.session.PersistentManagerBase.swapIn Error deserializing Session EE913D2ACAD49EB55EDA657A54DFA2CB: {1}
 java.lang.ClassNotFoundException: de.myproject.SessionData$$EnhancerBySpringCGLIB$$768b59b9
Run Code Online (Sandbox Code Playgroud)

它似乎实际上序列化了整个Spring上下文,显然de.myproject.SessionData$$EnhancerBySpringCGLIB$$768b59b9在服务器重启后没有这样的类,所以我收到了上述异常.

有没有办法避免这种情况,以便会话范围的bean正确序列化?

更新:有一个问题关于这个标记为没有评论的解决,但我仍然面对它.

java session spring spring-mvc

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

如何使用Ajax将图像发送到PHP文件?

我的问题是,是否可以使用ajax(jquery)将图像上传到服务器

下面是我的ajax脚本,无需重新加载页面即可发送文本

$(function() {
//this submits a form
$('#post_submit').click(function(event) {
event.preventDefault();
var great_id = $("#post_container_supreme:first").attr("class");
var poster = $("#poster").val() ;
    $.ajax({
        type: "POST",
        url: "my php file",
        data: 'poster='+ poster + '&great_id=' + great_id,
        beforeSend: function() {
            $("#loader_ic").show();
            $('#loader_ic').fadeIn(400).html('<img src="data_cardz_loader.gif" />').fadeIn("slow");
        },
        success: function(data) {
            $("#loader_ic").hide();
            $("#new_post").prepend(data);
            $("#poster").val('');
        }

    })
})
})
Run Code Online (Sandbox Code Playgroud)

是否可以修改它以发送图像?

forms ajax jquery image

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

Spring MVC中的多响应http状态

拥有以下代码:

@RequestMapping(value =  "/system/login", method = RequestMethod.GET)
public void login(@RequestBody Login login) {
    if(login.username == "test" && login.password == "test") {
         //return HTTP 200
    }
    else {
         //return HTTP 400
    }
}
Run Code Online (Sandbox Code Playgroud)

我想根据我的逻辑返回两种不同的HTTP状态.实现这一目标的最佳方法是什么?

spring-mvc java-ee

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

基础架构层中的域驱动设计存储库实现

我有一个关于DDD分层架构的依赖关系的问题.如果Repository实现位于基础结构层中,则意味着基础结构层依赖于域层,因为实体将在Repository实现中引用.

另一方面,如果在域中使用基础结构服务,则Domain层可以引用基础结构层.

这不会创建循环引用吗?

domain-driven-design ddd-repositories

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

如何使用ant <exec>在linux上执行命令?

我想使用ant来执行如下命令:

<exec executable="echo ptc@123 | sudo -S /app/Windchill_10.0/Apache/bin/apachectl -k stop">
</exec>
Run Code Online (Sandbox Code Playgroud)

但是它回复了一个错误说

'可执行文件和参数周围的字符不是命令的一部分.

背景是:我想使用ant来停止apache服务器但是我没有安装它运行命令的同一个用户.

有人可以帮忙或给我一些线索吗?

提前致谢

java linux ant

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

如何在Android应用程序中播放实时流媒体?

我想申请板球直播.我想知道以下事情:

  1. 从哪里可以找到播放板球流的链接?
  2. 这些类型的链接是什么?
  3. 是否有玩家可以播放此类视频?

目前,我已经实现了网页,但我正在寻找其他替代方案.

以下是我的代码:

    link1 = (RelativeLayout) findViewById(R.id.link1);
    link2 = (RelativeLayout) findViewById(R.id.link2);
    link3 = (RelativeLayout) findViewById(R.id.link3);
    link4 = (RelativeLayout) findViewById(R.id.link4);
    link5 = (RelativeLayout) findViewById(R.id.link5);
    link6 = (RelativeLayout) findViewById(R.id.link6);
    link7 = (RelativeLayout) findViewById(R.id.link7);
    link1.setOnClickListener(this);
    link2.setOnClickListener(this);
    link3.setOnClickListener(this);
    link4.setOnClickListener(this);
    link5.setOnClickListener(this);
    link6.setOnClickListener(this);
    link7.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    switch (v.getId()) {
    case R.id.link1:
         linkFunction("http://changevssame.blogspot.com/2014/03/willow-cricket-hd-live-streaming.html");

        break;
    case R.id.link2:
        linkFunction("http://changevssame.blogspot.com/2014/03/foxsports-live-streaming.html");
        break;
    case R.id.link3:
        linkFunction("http://changevssame.blogspot.com/2014/03/sky-sports-live-streaming.html");
        break;
    case R.id.link4:
        linkFunction("http://changevssame.blogspot.com/2014/03/ten-sports-live-streaming.html");
        break;
    case R.id.link5:
        linkFunction("http://changevssame.blogspot.com/2014/03/star-cricket.html");
        break;
    case R.id.link6:
        linkFunction("http://changevssame.blogspot.com/2014/03/icc-t20-world-cup-2014-live-streaming.html");
        break; …
Run Code Online (Sandbox Code Playgroud)

java android

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

getElementById和null - 为什么?

为什么这段代码不起作用?我正在使用FF.

<head>
<script type="text/javascript">

document.getElementById("someID").onclick = function(){
    alert("Yahooo");
}
</script> 
</head>

<body> 
<a href="#" id="someID">someID</a>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

我得到javascript错误getElementById等于null.

html javascript null onclick

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

Java Web项目结构最佳实践

我正在开始一个使用Hibernate和标准MVC架构的新Java Web Project.我刚刚开始布局项目结构,在这样做的时候,我开始环顾四周,看看这个区域是否有任何标准,关于控制器应该去哪里以及通常是最好的方法.但是我还没有找到任何指导方针.

所以我很想知道的是

  • 是否有人了解Java Web Project布局的最佳实践指南?
  • 有没有人有一套特定的硬规则,他们总是遵循不同类型的项目?
  • 人们是否倾向于通过演示,业务和应用程序等不同层次来拆分包?

java model-view-controller packages structure project

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

当我将maven java编译器插件从1.5更改为1.6时,为什么会出现编码UTF-8的不可映射字符?

我有一个Java项目,我正在使用Apache Maven.我一直在使用Maven Java编译器插件,参数source = 1.5target = 1.5在pom.xml文件中定义.自从我将它更改为source = 1.6target = 1.6后,我收到以下错误:

XXXXXXXX.java:[54,27]用于编码UTF-8的不可映射字符

我一直在测试不同的配置,并且我将showWarnings设置true,因此我可以看到目标的值为1.5,这是一个警告,而不是错误.

无论如何,我需要更改Java编译器配置.有没有人知道为什么会这样,如何在不编辑所有Java源文件的情况下解决这个问题(现在有数百个文件存在此问题)?

java compiler-construction encoding maven

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