问题列表 - 第6976页

Park-Miller-Carta PRNG随机发生器总是返回2.33E-10

我正在尝试使用Park-Miller-Carta PRNG随机数生成器的Java实现.

下面是在ActionScript 3的随机函数的实现从这里.

return (_currentSeed = (_currentSeed * 16807) % 2147483647) / 0x7FFFFFFF
                                                          + 0.000000000233;
Run Code Online (Sandbox Code Playgroud)

我没有太多运气在Java中工作:

int seed = 20; //for example.

public double random() {
    seed = (seed * 16807) % 2147483647;
    return seed / 0x7FFFFFFF + 0.000000000233;
}
Run Code Online (Sandbox Code Playgroud)

这总是会回来的2.33E-10.我在Java中做错了什么想法?(AS3代码返回0.0001565276181885122,然后返回0.6307557630963248前两个带有种子的响应20).

java random actionscript-3

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

你如何检查objective-c和cocoa的理智?

在objective-c和cocoa中检查理智的首选方法是什么?

cocoa cocoa-touch objective-c

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

Matlab交换

如果给我一串字母'abcd',我想将其转换为数字向量V = [1,2,3,4],对应于字母表中字母的位置,我该怎么做?

string matlab vector

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

了解Goetz关于HttpSession线程安全的文章

参考Brian Goetz的文章是否所有状态Web应用程序都被破坏了?对于IBM developerWorks,我想参考这段代码

HttpSession session = request.getSession(true);
ShoppingCart cart = (ShoppingCart)session.getAttribute("shoppingCart");
if (cart == null) {
    cart = new ShoppingCart(...);
    session.setAttribute("shoppingCart", cart);
}        
doSomethingWith(cart);
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这段代码不是线程安全的,因为它使用了check-then-act模式.但我有一个疑问:

是不是HttpSession在第一行完全原子的创建或检索?原子,我的意思是如果两个线程调用request.getSession(),一个将阻止.虽然两者都会返回相同的HttpSession实例.因此,如果客户端(移动/ Web浏览器)制作两个或调用相同的Servlet(执行上面的代码片段),您将永远不会遇到不同线程看到不同值的情况cart.

假设我确信它不是线程安全的,那么如何使这个线程安全?会AtomicReference有效吗?例如:

HttpSession session = request.getSession(true);
AtomicReference<ShoppingCart> cartRef = 
     (<AtomicReference<ShoppingCart>)session.getAttribute("shoppingCart");
ShoppingCart cart = cartRef.get();
if (cart == null) {
    cart = new ShoppingCart(...);
    session.setAttribute("shoppingCart",
         new AtomicReference<ShoppingCart>(cart));
}
doSomethingWith(cart);
Run Code Online (Sandbox Code Playgroud)

留言Merci!

java concurrency multithreading servlets

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

如何在Git中更改多个提交的作者和提交者名称以及电子邮件?

我正在学校的计算机上编写一个简单的脚本,并将更改提交给Git(在我的pendrive中的repo中,从我家里的计算机克隆).几次提交后,我意识到我正在以root用户身份提交东西.

有没有办法将这些提交的作者改成我的名字?

git version-control git-filter-branch git-rewrite-history

2282
推荐指数
30
解决办法
80万
查看次数

C/C++控制台Windows WIN32

我知道如何"隐藏"它们.我知道FreeConsole(); 然后找到句柄并更改它的属性.然而,使用这些方法,窗口仍然弹出一秒钟而不是消失.如何阻止它完全显示?

c++

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

输入deff指针是个好主意吗?

我查看了一些代码并发现惯例是将指针类型转换为

SomeStruct* 
Run Code Online (Sandbox Code Playgroud)

typedef SomeStruct* pSomeStruct;
Run Code Online (Sandbox Code Playgroud)

这有什么好处吗?

c c++ pointers typedef conventions

68
推荐指数
9
解决办法
4万
查看次数

将XDocument转换为Stream

如何将XDocument中的XML转换为MemoryStream,而不将任何内容保存到磁盘?

.net c# xml linq-to-xml

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

实例化后设置ViewController的属性

我正在创建一个viewController的实例,然后尝试设置它的属性文本,UILabel.

BoyController *boyViewController = [[BoyController alloc] initWithNibName:@"BoyView" bundle:nil];
        NSString *newText = [astrology getSignWithMonth:month   withDay:day];
        boyViewController.sign.text = newText;
        NSLog(@" the boyviewcontroller.sign.text is now set to: %@", boyViewController.sign.text);
        [newText release];
Run Code Online (Sandbox Code Playgroud)

我尝试过这个,但它不起作用......

所以我尝试了以下方法:

BoyController *boyViewController = [[BoyController alloc] initWithNibName:@"BoyView" bundle:nil];
    UILabel *newUILabel = [[UILabel alloc] init];
    newUILabel.text = [astrology getSignWithMonth:month withDay:day];
    boyViewController.sign = newUILabel;
    NSLog(@" the boyviewcontroller.sign.text is now set to: %@", newUILabel.text);
    [newUILabel release];
Run Code Online (Sandbox Code Playgroud)

但无济于事..

我不知道为什么我不能在boyViewController中设置UILabel"sign"的text属性.

properties objective-c

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

未来20年将存在20年的兼容性问题吗?

没有什么比你生命中的第43天用于追踪由于CR/LF,不同斜杠类型或Big Endian与Little Endian错误导致的问题.这些问题已有20年历史,它们让我感觉好像人类仍然是穴居人.我们是否只是将这些旧问题替换为新问题?XML有帮助,但这些问题不是公司花费数百万美元的时间,金钱和精力吗?这是一个促进供应商锁定的阴谋吗?

directory endianness carriage-return

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