小编Max*_*ler的帖子

CodeReview:java日期差异(以天分辨率)

请您对以下代码表示意见.

我需要计算2个Date对象之间的差异.确保两个Date对象都在同一个TimeZone中.

public class DateUtils {
public final static long DAY_TIME_IN_MILLIS = 24 * 60 * 60 * 1000;

/**
 * Compare between 2 dates in day resolution.
 * 
 * @return positive integer if date1 > date2, negative if date1 < date2. 0 if they are equal.
 */
public static int datesDiffInDays(final Date date1, final Date date2){
    long date1DaysMS = date1.getTime() - (date1.getTime() % DAY_TIME_IN_MILLIS);
    long date2DaysMS = date2.getTime() - (date2.getTime() % DAY_TIME_IN_MILLIS);

    long timeInMillisDiff = (date1DaysMS - date2DaysMS);
    int …
Run Code Online (Sandbox Code Playgroud)

java datetime

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

我的程序调试期间是否可能导致内存泄漏?

我正在开发Ubuntu 9.10

我正在编写一个C程序,在我的测试和调试期间,我正在调用malloc并且总是记得调用free() - 这显然只是在调试期间.

我很好奇:我是否正在吃掉每个调试会话系统所具有的空闲内存?或者,在我从IDE关闭应用程序后,内核是否清理了进程内存?逻辑推理我非常确定内核知道整个进程被杀死,因此知道它分配了什么内存,因此即使应用程序没有自由调用,内存仍然被释放.

我很感激解释.

谢谢你,马克西姆.

c memory-leaks

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

为什么FileOutputStream不会抛出OutOfMemoryException

我在Windows(64位)和Linux(32位)上尝试过以下代码.

我确信没有BufferedOutputStream,代码绑定会抛出OutOfMemoryException,但它没有.

这是为什么?谁在那里做{caching/buffer/steaming}到磁盘?

如果与答案相关,您能否描述完整的流程(Java API - >系统调用)?

这段代码是否使用NIO?

/我困惑.

import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteHugeFileToDisk {
    private static int BYTE = 1;
    private static int KILBYTE = BYTE * 1024;
    private static int MEGABYTE = KILBYTE * 1024;
    private static int GIGABYTE = MEGABYTE * 1024;
    private static long TERABYTE = GIGABYTE * 1024L;

    public static void main(String[] args) throws IOException {
        FileOutputStream fileOutputStream = new FileOutputStream(args[0]);
        DataOutputStream dataOutputStream = new DataOutputStream(fileOutputStream);

        byte[] buffer = new byte[MEGABYTE]; …
Run Code Online (Sandbox Code Playgroud)

java io buffer

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

如何使用joda时间将固定数量的毫秒格式化为hh:mm:ss?

我有输入,34600毫秒我想以格式00:00:34(HH:MM:SS)输出.

我应该在JDK/Joda时间看哪些课程?我需要这个是有效的,最好是线程安全的,以避免每次解析时的对象创建.

谢谢.

- 编辑 -

使用此代码生成时区敏感结果,如何确保格式化是"自然的",即使用绝对值.

import java.util.Locale;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;


public class Test {
    public static void main(String[] args) {
        DateTimeFormatter fmt = DateTimeFormat.forPattern("kk:mm:ss").withLocale(new Locale("UTC"));
        System.out.println(fmt.print(34600));
    }
}
Run Code Online (Sandbox Code Playgroud)

结果在02:00:34 - + 2h是因为我的时区是GMT + 2.而预期的输出是00:00:34.

java formatting datetime jodatime

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

如何实现iOS的Facebook原生登录?

为我的应用程序支持Facebook登录的最佳做法是什么?

我正在看现有的集成应用程序与Facebook.以Pinterest为例,该应用程序即使没有在设备上安装Facebook应用程序也使用iOS本机登录.我也想实现这样的逻辑流程.

看着

如果我的应用程序被授权使用Facebook [iOS 6,FB SDK 3.2]

https://developers.facebook.com/docs/ios/

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/SLComposeViewController_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40012205

https://developer.apple.com/Library/ios/documentation/Accounts/Reference/AccountsFrameworkRef/_index.html#//apple_ref/doc/uid/TP40011024

我不清楚如何实现回退过程,应用程序执行以下操作:

如果可以登录设备,请使用它.如果没有,回退到Facebook应用登录,如果不回退到Facebook Safari登录.

facebook oauth ios

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

Memcache Serializable JSONObject?

我正在使用json.org JSONObject.我试图将它序列化为memcache并且不那么酷java.io.NotSerializableException: org.json.JSONObject.看看JSONObject 代码,它似乎只不过是一个由JSON逻辑包装的Map.为什么不让它可串行呢?

我希望能够在简单的界面中将对象存储到memcache中.是否有类似的JSONObject API实现,也是可序列化的.或者,您使用什么memcache友好的序列化/反序列化技术?

谢谢你,马克西姆.

java serialization memcached json

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

摘要:malloc.c:3074 - 为什么此代码会导致错误

运行时附加的C代码会给出错误

summary: malloc.c:3074: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.
Run Code Online (Sandbox Code Playgroud)

每次对malloc的每次调用(21); (见下文).有人可以解释为什么?我已经尝试了所有我能想到的事情,但它仍然失败了.

文件:summary.c

/* 
* File:   summary.c
* Author: Maxim Veksler
*
* Created on December 4, 2009, 3:09 AM
*/

#include <stdio.h>
#include …
Run Code Online (Sandbox Code Playgroud)

c memory-corruption

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

使用密钥复合密钥进行高效的HashMap检索(从2个枚举构建)

我有一个2枚举值表示对象的映射,我(当前)使用HashMap建模,其中2个枚举值用作键,对象是值.

这是低效的,因为我正在做的是为Enum1.values()x Enum2.values()的每个组合创建一个新的CompositeKey(Enum1 enum1,Enum2 enum2).

我想跳过新的CompositeKey()问题.

我目前想到的解决方法是计算了多次交涉从2个枚举,像int numericKey = enum1.ordinal() * 0xFFFF + enum2.ordinal();后来的时候我会尽map.get(numricKey)我仍然会自动拳击整数-因此创建新实例.

一个完美的解决方案(IMO)将Map实现(不必是通用的...),但我不认为这样的现有的Java.

另一种选择可能mapping = new Object[Enum1.values().length][Enum2.values().length]是我会用它查找,Object = mapping[enum1.ordinal()][enum2.ordinal()]但这似乎有点太"C'ish".

无论如何,运行时性能是这里最重要的方面.

欢迎评论.

谢谢,马克西姆.

java lookup performance hashmap composite-key

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

Collections.sort不能用于自定义比较器?

import java.util.*;

public class ABC {
    public static void main(String[] args) {
        List<Integer> values = null;

        values = new ArrayList<Integer>();
        values.add(5);
        values.add(9);
        values.add(3);
        values.add(55);
        values.add(4);

        Collections.sort(values);
        System.out.println(values);



        values = new ArrayList<Integer>();
        values.add(5);
        values.add(9);
        values.add(3);
        values.add(55);
        values.add(4);

        Comparator<Integer> cmp = new Comparator<Integer>() {
                    @Override
                    public int compare(Integer o1, Integer o2) {
                        int o1i = o1;
                        int o2i = o2;
                        return o1i - o1i;
                    }
                };

        Collections.sort(values, cmp);
        System.out.println(values);
    }
}
Run Code Online (Sandbox Code Playgroud)

这打印:

[3, 4, 5, 9, 55]
[5, 9, 3, 55, 4] …
Run Code Online (Sandbox Code Playgroud)

java sorting collections comparator

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

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