问题列表 - 第43553页

java.util.Date对象使用多少字节的内存?

我需要存储大量的日期(可能足够大,以至于所使用的堆空间量是一个问题所以请不要过早优化的讲座),我想知道使用某种原始表示是否有意义java.util.Date(或其他一些现有的Date类).我知道我可以做一些分析来尝试一下,但有没有人知道单个Date对象使用的内存有多少字节?

java memory date

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

使用哪种,XMP或RDF?

RDF和XMP有什么区别?

据我所知,XMP源自RDF ......那么RDF不提供什么呢?

我的具体情况是:我有一些图像需要标记实验的执行方式,以及对图像进行了哪种数据分析.我的一位同事正在推动XMP,但他认为图像是照片 - 它们不是真的,它们只是数据的一部分.

从我所看到的(主要通过在notepad ++中打开图像),XMP数据看起来非常类似于RDF - 甚至在标签名称中使用RDF(例如<rdf:Seq>).

我希望这些数据可供其他使用类似仪器进行类似实验的人使用,因此创建一个迷你标准(架构?)似乎是要走的路.

抱歉缺乏有趣的理解 - 我是博士,而不是程序员!如果它有所不同,选择的语言将是C#.

编辑以获取更多信息: 首先,感谢优秀的回复 - 将XMP视为RDF的词汇表使事情变得更加清晰.

我将要存储的数据类型在任何预定义集合中都不可用.它将详细介绍实验设置,位置和结果.我认为使用RDF是可行的方法.

事物的一个例子(存储在当前的XML中)将是:

<Experiment name="test2" loc="lab" timestamp="65420233400">
  <Instrument name="a1" rev="1.0"/>
  <Calibration>
    <date>13-02-10</date>
    <type>complete</type>
  </Calibration>
</Experiment>
Run Code Online (Sandbox Code Playgroud)

在我的脑海中,我想我将把它存储在RDF中,如下所示:

  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:zotty="http://www.zotty.com/rdf/">

    <zotty:experiment>
      <rdf:Bag> 
        <zotty:name>test2</zotty:name>
        <zotty:loc>lab</zotty:loc>
        <zotty:timestamp>65420233400</zotty:timestamp>
        <zotty:instrument>
          <rdf:Bag>
            <zotty:name>a1</zotty:name>
            <zotty:rev>1.0</zotty:rev>      
            <zotty:calibration>
              <rdf:bag>
                <zotty:date>13-02-10</zotty:date>
                <zotty:type>complete</zotty:type>
              </rdf:bag>
            </zotty:calibration>
          </rdf:Bag>
        </zotty:instrument>  
      <rdf:Bag>
    </zotty:experiment>
  </rdf:RDF>
Run Code Online (Sandbox Code Playgroud)

感谢您的建议 :)

c# xmp rdf semantics

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

如何在iPhone上的精确时刻播放声音?

我正在努力在iPhone上创建一个简单的节拍器.该应用程序现在所做的是运行计时器,每1/1000秒输入计时器的功能.然后它检查当前时间与启动应用程序的时间(我正在使用CACurrentMediaTime()功能).

CFTimeInterval currentTime = CACurrentMediaTime();
if (self.beatingStartTime == 0) {
    self.beatingStartTime = currentTime;
}
if ( (currentTime - self.beatingStartTime) >= self.timeIntevalBetweenTicks * self.internalTimerCounter ) {
    self.internalTimerCounter ++;
    // ...
}
Run Code Online (Sandbox Code Playgroud)

如果有一个播放音频的好时机,使用OpenAL播放它的代码会被触发.

基本就是这样.我检查了在模拟器和2个设备(iPad和越狱的iPhone 3GS)上运行时播放的声音,并且有一个问题 - 当我录制声音并在Reaper软件中查看波形时,有些声音播放时间太晚了,其中一些 - 有点太早了(即使我能理解"太晚了"的部分,我真的不知道它应该如何才能发挥它应该 - 因为应用程序每次检查秒数,它基本上不能比我指定的时间更早 - 但根据我的记录,它是.

与此同时,有一些节拍器应用程序在定时方面以"坚如磐石"着称,所以我猜有一种方法.我只是想知道我错过了什么......


编辑:将定时器调用从1/1000秒更改为例如1/100并没有帮助.

编辑2:当我从计时器切换到线程(并且我让线程在指定时间内休眠)时,我仍然会遇到奇怪的行为.节奏四处移动,虽然我可以理解一点滞后并且播放一些声音太晚,问题是它们中的一些确实发挥得太早 - 这意味着2节拍之间的时间距离应该超过应该通过的时间.

差异大约是3%,相当于大约10-15毫秒,这对我来说非常重要.任何人都知道为什么声音可以更早播放?我在iPhone模拟器和iPad实际设备上都尝试过这种方法,而我唯一的猜测是计时器出现了问题 - CACurrentMediaTime()它应该返回更多的秒数.它甚至可能吗?

iphone cocoa timing

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

document.evaluate - 跨浏览器?

我一直在寻找除Sizzle之外的CSS选择器功能,我遇到过这个功能.

function SparkEn(xpath,root) {
  xpath = xpath
    .replace(/((^|\|)\s*)([^/|\s]+)/g,'$2.//$3')
    .replace(/\.([\w-]+)(?!([^\]]*]))/g, '[@class="$1" or @class$=" $1" or @class^="$1 " or @class~=" $1 "]')
    .replace(/#([\w-]+)/g, '[@id="$1"]')
    .replace(/\/\[/g,'/*[');
  str = '(@\\w+|"[^"]*"|\'[^\']*\')';
  xpath = xpath
    .replace(new RegExp(str+'\\s*~=\\s*'+str,'g'), 'contains($1,$2)')
    .replace(new RegExp(str+'\\s*\\^=\\s*'+str,'g'), 'starts-with($1,$2)')
    .replace(new RegExp(str+'\\s*\\$=\\s*'+str,'g'), 'substring($1,string-length($1)-string-length($2)+1)=$2');
  var got = document.evaluate(xpath, root||document, null, 5, null);
  var result=[];
  while (next = got.iterateNext())
    result.push(next);
  return result;
}
Run Code Online (Sandbox Code Playgroud)

我觉得它真好太好了,这只是一个firefox功能(xpath?)还是慢?基本上为什么我会使用Sizzle呢?

javascript internet-explorer dom cross-browser document.evaluate

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

MySQL上的Odd IntegrityError:#1452

这有点奇怪,但我会尽力解释.我有两个模型:一个代表电子邮件消息(消息),另一个代表销售线索(AffiliateLead).当通过网站提交表单时,系统会生成一个潜在客户,然后发送电子邮件.Message模型有一个可选的FK返回Lead.从Message模型文件:

lead = models.ForeignKey('tracking.AffiliateLead', blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

现在,这个基本shell工作:

from tracking.models import Affiliate, AffiliateLead
from messages.models import Message
from django.contrib.auth.models import User

u = User.objects.get(username='testguy')
a = Affiliate.objects.get(affiliate_id = 'ACD023')
l = AffiliateLead(affiliate = a)
l.save()
m = Message(recipient=u, sender=u, subject='s', body='a', lead=l)
m.save()
Run Code Online (Sandbox Code Playgroud)

但是,表单视图本身不会.当我尝试保存指向AffiliateLead的Message时,它会抛出IntegrityError:

(1452, 'Cannot add or update a child row: a foreign key constraint fails (`app`.`messages_message`, CONSTRAINT `lead_id_refs_id_6bc546751c1f96` FOREIGN KEY (`lead_id`) REFERENCES `tracking_affiliatelead` (`id`))')
Run Code Online (Sandbox Code Playgroud)

尽管视图只是采用表单,创建和保存AffiliateLead,然后创建和(尝试)保存消息.实际上,当抛出此错误时,我可以进入MySQL并查看新创建的潜在客户.当我在保存之前立即从DB重新检索线索时,它甚至会在视图中抛出此错误:

af_lead = AffiliateLead.objects.get(id = af_lead.id)
msg.lead = af_lead
msg.save()
Run Code Online (Sandbox Code Playgroud)

最后,如果我立即刷新(重新提交表单),它就可以了.没有IntegrityError.如果我让Django打印出它正在执行的SQL,我确实可以看到它在尝试INSERT消息之前插入了A​​ffiliateLead,而消息INSERT正在使用正确的AffiliateLead ID.我真的很难过.我甚至尝试过手动交易处理无济于事.

mysql django django-models

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

在Delphi中跳过默认参数

有没有办法跳过默认的参数,假设我的方法声明是这样的:

procedure MyProc1(var isAttr1: Boolean = FALSE;
    var isAttr2: Boolean = FALSE; var isAttr3: Boolean = FALSE);
Run Code Online (Sandbox Code Playgroud)

我无法像这样调用函数:

Self.MyProc1( , , Attr3);
Run Code Online (Sandbox Code Playgroud)

因为我不想要不必要的var声明,同时我想要最后一个param返回值(它是一个var类型)

提前感谢您的帮助.

delphi

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

动态类扩展

有没有办法定义一个类,以便只有在其他类可用时才扩展另一个类?

php oop

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

在Java上拆分字符串";",而不是"\\;"

在Java中,我尝试尝试使用String.split()拆分字符串的方法";",但不打开"\\\\;".(2个反斜杠后跟分号)

例:"aa;bb;cc\\;dd;ee\\;;ff"应该分成;

aa

bb

cc\\;dd

ee\\;

ff
Run Code Online (Sandbox Code Playgroud)

如何使用正则表达式完成此操作?

马库斯

java regex

3
推荐指数
2
解决办法
1451
查看次数

在Visual Studio的Autos窗口中返回值

当我以前用C++开发时,我记得每当从函数调用返回时,Visual Studio在其Autos窗口中都有一个条目.此条目将告诉我该函数返回的值.

有人可能会争辩说,如果一个函数返回一个值,那么你应该将一个变量设置为该值,即

int i = GetRandomInt();
Run Code Online (Sandbox Code Playgroud)

但作为一个人为的例子,假设我想这样做:

CycleTushKicker( GetRandomInt());
Run Code Online (Sandbox Code Playgroud)

而不是踩到CycleTushKicker我的孩子得到多少舔,我只想在退出时知道价值GetRandomInt.

有没有办法在使用C#时获得这个?

编辑 - 遵循@Michael Goldshetyn的建议并提交了有关Microsoft Connect的功能建议.您可以在此处投票:https://connect.microsoft.com/VisualStudio/feedback/details/636130/display-return-value-from-function-in-autos-window-for-c

c# .net-4.0 visual-studio-2010

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

在emacs中,我可以设置*Messages*缓冲区以便尾巴吗?

基本上我希望*Messages *缓冲区在新消息到达时始终滚动到底部.

我能这样做吗?

我发现auto-revert-tail-mode但这适用于访问文件的缓冲区.当我在Messages缓冲区中尝试它时,它弹出一个错误:
auto-revert-tail-mode: This buffer is not visiting a file

emacs

15
推荐指数
2
解决办法
1890
查看次数