现在我在*scratch*缓冲区中写入expression式并通过使用Cx Ce进行评估来testing它们。 我真的很感谢有一个像SLIME或irb这样的交互式解释器,我可以在其中testingEmacs Lispexpression式。
在阅读了这篇测量几种对象types的内存消耗的旧文章之后,我很惊讶地看到在Java中使用了多less内存String : length: 0, {class java.lang.String} size = 40 bytes length: 7, {class java.lang.String} size = 56 bytes 虽然文章有一些技巧,以尽量减less这一点,我没有发现他们完全满意。 使用char[]存储数据似乎是浪费。 大多数西方语言的明显改进是使用byte[]和UTF-8编码,因为只需要一个字节来存储最常见的字符,而不是两个字节。 当然可以使用String.getBytes("UTF-8")和new String(bytes, "UTF-8") 。 即使String实例本身的开销也不见了。 但是,那么你失去了非常方便的方法,如equals() , hashCode() , length() ,… 据我所知,Sun在Strings的byte[]表示方面拥有专利 。 用于在Java编程环境中高效地表示string对象的框架 …这些技术可以实现创buildJavastring对象为适当的单字节字符数组… 但是我没有find该专利的API。 为什么我在乎 在大多数情况下,我不这样做。 但是我使用了大量caching的应用程序,包含大量的string,这些string可以更有效地使用内存。 有人知道这样的API吗? 还是有另一种方法来保持您的内存占用string很小,即使在CPU性能或更丑陋的API的代价? 请不要重复上述文章的build议: 自己的String.intern()的变体(可能与SoftReferences ) 存储一个char[]并利用当前的String.subString(.)实现来避免数据复制(讨厌的) 更新 我运行了Sun当前JVM(1.6.0_10)的文章中的代码。 它取得了与2002年相同的结果。
有效的XML字符列表是众所周知的,按照规范定义: #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] 我的问题是,如果不使用Unicode常规类别实际编码代码点,是否有可能为此(或其反转)生成PCRE正则expression式。 除了不正确地覆盖了换行符和制表符以及其他一些无效字符之外,倒数可能是类似[\ p {Cc} \ p {Cs} \ p {Cn}]的东西。
我正在研究SQLite作为存储引擎,并且很想知道SQLite是否在读取时locking数据库文件。 我担心阅读的performance,因为我计划的项目只有很less的写作,但是有很多读。 如果数据库确实locking,是否有措施可以采取(如内存caching)来缓解这种情况?
我的朋友为非营利组织工作,致力于阻止非法利用craigslist.org等网站非法开发未成年人,craigslist.org是最受欢迎的媒体之一。 问题是现在或者在不远的将来是否有可能开发一种algorithm来分析一个人的照片并返回他们的相对年龄的预测。 这听起来像一个巨大的任务。 我唯一的想法是某种贝叶斯概率系统。 我知道,即使人们经常在判断某个人的年龄方面遇到困难,但是贝叶斯垃圾邮件filter被宣称为“十倍于人类的准确度”,所以也许有可能呢? 虽然我很缺乏经验。 如果有其他人可以build议这是否可行,如果可行,我将不胜感激。 编辑:谢谢大家的回应。 害怕这项研究是非常有帮助的,但我认为Hal的解决scheme是目前最实用的。
有一个简单的方法来要求文件夹中的所有文件?
到目前为止,感谢这个网站,即使我打开手机,我也可以设置一个闹钟,并设置并激活。 现在,我设置了一个闹钟来显示事件A的提醒,我需要应用程序设置另一个闹钟来显示事件B的另一个提醒。 我一定是做错了,因为它只会触发事件A的提醒。似乎一旦build立起来,任何其他的警报都被理解为是一样的。 🙁 以下是我在两个步骤中所做的细节: 1)从一个活动中,我设置了一个闹钟,在某个时间和date将打电话给一个接收器 Intent intent = new Intent(Activity_Reminder.this, AlarmReceiver_SetOnService.class); intent.putExtra("item_name", prescription .getItemName()); intent .putExtra( "message", Activity_Reminder.this .getString(R.string.notif_text)); intent.putExtra("item_id", itemId); intent.putExtra("activityToTrigg", "com.companyName.appName.main.Activity_Reminder"); PendingIntent mAlarmSender; mAlarmSender = PendingIntent.getBroadcast( Activity_Reminder.this, 0, intent, 0); long alarmTime = dateMgmt.getTimeForAlarm(pickedDate); Calendar c = Calendar.getInstance(); c.setTimeInMillis(alarmTime); // Schedule the alarm! AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); am.set(AlarmManager.RTC_WAKEUP, alarmTime + 15000, […]
我正在阅读并发。 我的脑海中有一些混淆相似的定义。 即: stream程 主题 “绿色线索” Protothreads 纤维 协同程序 Go语言中的“Goroutines” 我的印象是,区别在于:(1)是真正的并行还是多路复用; (2)是否在CPU,操作系统或程序中进行pipe理; 和(3..5)其他一些我无法识别的东西。 对于这些并行性方法之间的差异,有没有一个简洁而明确的指导?
我试图让我的WCF客户端和服务器互相通话时出现此错误。 X.509证书CN = localhost链式构build失败。 使用的证书具有无法validation的信任链。 replace证书或更改certificateValidationMode。 证书链已处理,但终止于不受信任信任的根证书。 如果我closuresSSL证书,一切正常。
当我在Eclipse Helios Service Release 2中构build项目时,在web.xml出现错误。 请build议我必须为此做什么。 在我的项目中,我正在使用DTD 2.2。 错误在下面。 元素types“web-app”的内容必须匹配“(图标?,显示名称?描述?分布?上下文参数?servlet?servlet映射?会话configuration?mime映射? ,welcome-file-list?,error-page *,taglib *,resource-ref *,security-constraint *,login-config?,security-role *,env-entry *,ejb-ref *)。