小编cer*_*ran的帖子

为"随机"的不同实例创建不同的种子

人们通常会问为什么他们在使用时会得到相同的数字Random.在他们的情况下,他们无意间创建Random每次的新实例(而不是仅使用一个实例),这当然导致相同的数字.但在我的情况下,我确实需要几个Random返回不同数字流的实例.

在我看来,使用硬编码的种子是一个坏主意,因为在重新启动程序后,您会一次又一次地获得相同的值.那这个呢:

int seed1 = (int)DateTime.Now.Ticks - 13489565;
int seed2 = (int)DateTime.Now.Ticks - 5564;
Run Code Online (Sandbox Code Playgroud)

我知道这看起来很傻和天真,但每次重启后都会避免相同的值,两个种子应该不同.或者可能

Random helper = new Random();
int seed1 = helper.Next(1, int.MaxValue);
int seed2 = helper.Next(1, int.MaxValue);
Run Code Online (Sandbox Code Playgroud)

如你所见,我在这里有点无创,需要你的帮助.谢谢.

.net c# random

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

Scala:在一个简单的自定义类型中实现map和withFilter

我正在学习Scala,并且已经不得不发现monad的概念对于我目前的知识水平来说有点过于复杂.但是,我的目标至少是创建一个非常简单的类,可以与for表达式一起使用,另外还有一个过滤器.

根据我的理解,以下规则适用:

  • 为了使自定义类型可用于for表达式的生成器(其中生成器仅生成简单变量),它需要实现map.
  • 如果还应该使用过滤器,那么该类型也必须实现withFilter.

我的最小班级看起来像这样:

class Grid(private val fields: IndexedSeq[Field])

class Field(val name: String, val isVisible: Boolean)
Run Code Online (Sandbox Code Playgroud)

我想要实现的是能够做到以下几点:

for(f <- grid) yield f.name // needs map
for(f <- grid; if f.isVisisble) yield f.name // needs map + withFilter
Run Code Online (Sandbox Code Playgroud)

但是,我很难找到那种简单的例子.如果解决方案"适应"上面显示的两个类,而不是可以应用于任何类的通用解决方案,那就没问题.对这个简单的例子展示实现肯定会对我有所帮助.感谢任何帮助,谢谢.

编辑:

正如李指出的那样,我的意图似乎只适用于泛型类型.我认为如果我忘记了课程Field并重新定义Grid如下,那将更有意义:

class Grid[E](private val fields: IndexedSeq[E])
Run Code Online (Sandbox Code Playgroud)

monads for-loop scala

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

HttpURLConnection:创建许多连接时出现BindException

出于测试/基准测试的目的,我想编写一个Java程序,它在循环中执行以下任务:

  1. 从服务器通过HTTP GET加载数据
  2. (根据收到的数据生成答案 - 此时不重要)
  3. 通过HTTP POST将答案发送到同一服务器

此循环同时在多个线程上运行.

启动后,程序可以在短时间内正常运行,并且每个线程每秒可以执行约300个周期(网络服务器在同一台机器上运行).但是在5-7秒后,我得到了BindException: Address already in use.

在20-30秒的冷却时间后重新启动程序会导致相同的行为; 当我立即重启它而不等待时,它会立即崩溃...所以我认为这可能是绑定资源的问题.

这是一种快速而肮脏的方法HttpURLConnection.相关部分:

从Web服务器获取数据

public String fetchData() throws IOException {

        HttpURLConnection conn = (HttpURLConnection)url.openConnection();
        conn.setUseCaches(false);
        conn.setRequestMethod("GET");

        BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();

        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }

        in.close();
        conn.disconnect();

        return response.toString();
    }
Run Code Online (Sandbox Code Playgroud)

发送答案

public void sendData(byte[] data) throws IOException {

        HttpURLConnection conn = (HttpURLConnection)url.openConnection();
        conn.setUseCaches(false);
        conn.setRequestMethod("POST");
        conn.setDoOutput(true);

        OutputStream os = conn.getOutputStream(); …
Run Code Online (Sandbox Code Playgroud)

java sockets networking multithreading http

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

MessagePack:有效的msgpack结构是否有"语法"?

MessagePack规范可帮助您了解可用的数据类型及其二进制表示.但是,我找不到必须用于构建有效msgpack结构的"语法"的信息(因为它不是文本而是二进制格式,术语"语法"可能不准确).我特别想知道msgpack结构中是否有关于"顶级"元素的要求.这基本上是与JSON 不久前发生的问题类似的问题,尽管JSON的语法是指定的.

使用msgpack,可以在顶层使用基本类型(Int,Boolean ..),还是必须将所有内容封装在地图/数组中?是否有可能在顶层有多个元素(例如,两个数组,不是嵌套,而是"彼此相邻")?

serialization parsing deserialization messagepack

8
推荐指数
0
解决办法
198
查看次数

在Azure Cloud实例执行哪种类型的异常/崩溃后重新启动?

据我记忆,角色实例应该在崩溃/失败后自动执行重启.为了测试这种行为,我写了一个应用程序来强制执行内存不足异常并且我的应用程序崩溃了.角色实例没有执行重新启动,因为它仍在运行且没问题 - 实例只是重新启动.NET运行时.

我试图找出实例如何对不同的错误做出反应.在我的情况下,没有必要重新启动.什么类型的错误/异常(我可以强制执行)会导致实例完全重启?什么类型的错误/异常会永远杀死一个实例?

.net cloud azure paas

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

如何在Android上实现持久队列

我的应用程序需要一个类似于队列的数据结构:将数据放入其中,从中接收数据,类似于FIFO.对于数据,我指的是现在的简单字符串,稍后可能是更复杂的对象.问题是队列及其内容应该是持久的,无论Android正在做什么.如果应用程序关闭并重新打开(甚至Android重新启动),则队列应该具有与应用程序关闭之前相同的状态和数据.

我认为队列必须在引擎盖下使用某种存储,最好是设备的内部存储.也许你可以做一些头脑风暴如何实现这一点.队列不一定要在我的应用程序中运行,如果可以在Android中使用,它也可能是某种丢失耦合的后台服务(但对我的应用程序是私有的).

java queue mobile android

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

从ByteBuffer中提取Longs(Java/Scala)

我正在以下列方式构建BigInt由两个Longs 组成的数字:

val msb = -1L // some arbitrary long value, can be anything between Long.Min/MaxValue
val lsb = 25L // a second arbitrary long value        

val bb = ByteBuffer
  .allocate(17)
  .put(0.toByte) // 1 byte
  .putLong(msb) // 8 bytes
  .putLong(lsb) // 8 bytes

val number = BigInt(bb.array) // in this case: 340282366920938463444927863358058659865
Run Code Online (Sandbox Code Playgroud)

Byte在前面添加另一个0-的原因是为了保证结果是正数.否则,由于两个补码,结果BigInt 可能是负的.之后调用的算法期望大于或等于零的数字.

到现在为止还挺好.

我在翻转整个过程时遇到了麻烦 - 将BigInt后面的内容转换为两个Long(确切地说是用作输入的两个值).我不能只做以下事情:

val arr = number.toByteArray
val bb = ByteBuffer.wrap(arr) …
Run Code Online (Sandbox Code Playgroud)

java arrays bytebuffer scala

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

MVC3默认模板在哪里存储用户帐户信息?

你能告诉我注册新帐户时asp.net mvc3默认模板存储登录信息的位置吗?它在调试模式下运行本地.

如果没有安装SQLExpress,寄存器功能根本不起作用.由于我已经安装了它,我可以使用注册/登录功能,但是在SQLExpress中找不到存储此类数据的表.SQLExpress中有master,model,msdb和tempdb,它们是系统数据库.

你能帮助我吗?谢谢!

.net asp.net asp.net-mvc asp.net-mvc-3

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

我是否一定需要基于Java的REST服务(JSON)的第三方框架?

当然JAX-RS应该可以在没有JAX-WS之类的任何其他框架的情况下工作.但是在JAX-WS中,我只是在POJO上添加了一些注释,用一行代码创建一个自托管服务就是这样.

我找不到任何教程或资源来说明如何使用JAX-RS做同样的事情.几乎每个教程都使用Jersey(或Easyrest等)和至少Maven.是否有一种简单的方法来设置基于Rest的服务,就像使用JAX-WS一样?

谢谢

编辑:嗯,我认为没有这些框架的@Path等注释是不可用的?我的日食无法参考/找到它们:(

java rest web-services jax-rs java-ee

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

JSON,替换引号和斜杠,但是通过什么?

我有一个忘恩负义的任务,用Java手动构建一个JSON字符串,没有任何框架,只是一个StringBuilder.我知道这很糟糕,但它只是原型的一部分,下次我会做得更好.

我的问题:如何将String - > "Some text WITH quotes"< - 放入JSON对象?

当然,{"key" : " "Some text WITH quotes" "}由于未转义的引号,无效的json.

我想我必须在这里使用String.replace,但是我可以用什么来代替引号呢?斜杠"/"的问题相同.什么是正确的替代品?

谢谢

java json

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