小编Max*_*ler的帖子

不是线程安全的对象发布

在实践中阅读Java并发,第3.5节:提出索赔

public Holder holder;
public void initialize() {
     holder = new Holder(42);
}
Run Code Online (Sandbox Code Playgroud)

除了创建2个Holder实例的明显线程安全危险之外,本书声称可能会出现一个可能的发布问题,对于Holder类来说更是如此

public Holder {
    int n;
    public Holder(int n) { this.n = n };
    public void assertSanity() {
        if(n != n)
             throw new AssertionError("This statement is false.");
    }
}
Run Code Online (Sandbox Code Playgroud)

可以抛出AssertionError!

这怎么可能 ?我能想到的唯一可以允许这种荒谬的行为是,如果Holder构造函数不会被阻塞,那么当构造函数代码仍在不同的线程中运行时,将为该实例创建一个引用.这可能吗 ?

java concurrency thread-safety

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

用于java的BSON库?

我们在java http://blog.locut.us/main/2009/10/14/which-is-the-best-java-json-library.html中对JSON有很好的支持,但BSON呢.

您知道哪些库为java提供BSON支持?它显然应该在运行时有效.

java mongodb bson

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

分布式版本控制"杀手级应用程序"

考虑改用Mercurial或Git?我们也是.我目前正在研究DVCS的好处,结果是巨大的,欲望和必须.

我很想听听社区的典型使用模式.

让我们为DVCS创建一个"前N"生产力功能列表(基于Mercurial,Git或类似).

请描述证明对您/您的团队有效的工作流程,DVCS帮助您实现/改进的程序以及DVCS为您提供的直接"好东西"(不要认为新手用户很清楚).

我认为这样的列表可以帮助那些接近团队的人提出DVCS建议.

显然,这个问题是社区维基.

git version-control mercurial dvcs

11
推荐指数
4
解决办法
1361
查看次数

XMLHttpRequest从远程主机获取HTTP响应

为什么以下代码基于Mozilla示例不起作用?尝试使用Firefox 3.5.7和Chrome.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
</body>
  <script>
    var req = new XMLHttpRequest();
    req.open('GET', 'http://www.mozilla.org/', false); 
    req.send();
    if(req.status == 200) {
        alert(req.responseText);
    }
  </script>  
</html>
Run Code Online (Sandbox Code Playgroud)

请浏览器从本地磁盘中提取html(文件:/// C:/Users/Maxim%20Veksler/Desktop/XMLHTTP.html)

在Firefox上它会出现以下错误:

uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: file:///C:/Users/Maxim%20Veksler/Desktop/XMLHTTP.html :: <TOP_LEVEL> :: line 10" data: no]
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我想向远程主机提交请求并提醒结果(稍后添加到div中).

javascript xmlhttprequest

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

如何打印java类垃圾收集事件?

java version "1.5.0_14"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03)
Java HotSpot(TM) Server VM (build 1.5.0_14-b03, mixed mode)

我正在尝试调试NullPointerException,我将传递对静态定义字段的引用.更具体地说,我在Drools3工作内存实例上设置了一个全局.

workingMemory.setGlobal("log", workingMemorieslog);
Run Code Online (Sandbox Code Playgroud)

我的假设是静态收集字段静态的类.(接收类必须使用WeakReference或类似的东西,我真的不知道)

你会如何建议调试这个?我想如果我能确切知道JVM的GC何时卸载类的类/实例,那么我可以缩小错误行为的原因.(如果不是事件的确切时间,至少得到某事确实发生的迹象).

谢谢你,马克西姆.

java eclipse classpath

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

为什么将{a,b,c}传递给方法不起作用?

我试图将初始化列表{...}传递给构造函数,但它不起作用.当我在一个方法局部变量(int [])中声明它时,它可以完美地工作.

这是为什么?

public class QuickSort {
    int[] a;

    public QuickSort(int[] a) {
        this.a = a;
    }

    public static void main(String[] args) {
        // ###################
        // ###    WORKS     ##
        // ###################
        int[] a = {8,12,79,12,50,44,8,0,7,289,1};
        QuickSort sort = new QuickSort(a);

        // ###################
        // ### DOESN'T WORK ##
        // ###################
        //QuickSort sort = new QuickSort({8,12,79,12,50,44,8,0,7,289,1});
    }
}
Run Code Online (Sandbox Code Playgroud)

java arrays syntax array-initialization

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

Java负int到十六进制和后退失败

public class Main3 {
    public static void main(String[] args) {
        Integer min = Integer.MIN_VALUE;
        String minHex = Integer.toHexString(Integer.MIN_VALUE);

        System.out.println(min + " " + minHex);
        System.out.println(Integer.parseInt(minHex, 16));
    }
}
Run Code Online (Sandbox Code Playgroud)

-2147483648 80000000
Exception in thread "main" java.lang.NumberFormatException: For input string: "80000000"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    at java.lang.Integer.parseInt(Integer.java:459)
    at Main3.main(Main3.java:7)
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?

java parsing hex signed decimal

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

在Python中将java System.currentTimeMillis()转换为日期

我从1970年开始以毫秒为单位的时间戳.我想将它转换为python中的人类可读日期.如果涉及到这一点,我不会失去一些精确度.

我该怎么办?

以下为Linux 32bit上的平台time_t的ValueError:timestamp超出范围

#!/usr/bin/env python
from datetime import date
print date.fromtimestamp(1241711346274)
Run Code Online (Sandbox Code Playgroud)

谢谢你,马克西姆.

python java formatting timestamp date

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

GAE/J请求日志格式细分

以下是GAE控制台日志记录的示例:

GAE日志控制台快照 http://i.stack.imgur.com/M2iJX.png用于可读高分辨率版本.

我想提供文件的细分,在collpased(摘要)视图和扩展(详细信息)视图中显示.我将填写我知道其意义的领域,并希望通过dichipering其余的方式来协助.一旦有新信息,这篇文章将会更新.

谢谢你,
马克西姆.


开放式问题:

  • 如何阅读时间戳?[...- PROD/0-0-39.346862139187007139 ]
  • 为什么总结它说请求花了343ms但详细说是344ms?
  • 如果请求在cpu上花费123ms,在API调用上花费30ms,剩下的时间在哪里?为什么总请求时间是343/344ms?

cloud console logging google-app-engine

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

使用什么系统默认日期格式?

我正在为我们的应用设定标准.

我一直在想,我应该选择使用什么默认日期格式?

它应该是:

  • 国际化和时区意识,格式应该能够代表用户当地时间
  • 可以通过SimpleDataFormat(或类似的,仅jdk类)有效地解析
  • 编程语言不可知(可以解析java,python,上帝禁止C++ :)和co.)
  • 优选基于ISO或其他公认的标准
  • 易于通过HTTP进行通信(如果需要,JSON或YAML或此类性质的东西)
  • 可以表示时间到秒的分辨率(越精确越好,微秒如果可能).
  • 人类可读是一个加号,但不是必需的
  • 紧凑是一个加号,但不是必需的

谢谢你,
马克西姆.

java standards datetime datetime-format datetime-parsing

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