哪一个更快?为什么?
var messages:Array = [.....]
// 1 - for
var len:int = messages.length;
for (var i:int = 0; i < len; i++) {
var o:Object = messages[i];
// ...
}
// 2 - foreach
for each (var o:Object in messages) {
// ...
}
Run Code Online (Sandbox Code Playgroud) 我想将一个char数组哈希到一个int或long.结果值必须符合给定的精度值.我一直在使用的功能如下:
int GetHash(const char* zKey, int iPrecision /*= 6*/)
{
/////FROM : http://courses.cs.vt.edu/~cs2604/spring02/Projects/4/elfhash.cpp
unsigned long h = 0;
long M = pow(10, iPrecision);
while(*zKey)
{
h = (h << 4) + *zKey++;
unsigned long g = h & 0xF0000000L;
if (g) h ^= g >> 24;
h &= ~g;
}
return (int) (h % M);
}
Run Code Online (Sandbox Code Playgroud)
要哈希的字符串类似于"SAEUI1210.00000010_1".
但是,在某些情况下,这会产生重复值.是否有任何好的替代方案不会为不同的字符串值复制相同的哈希值.
我有一百万行.txt格式的数据.格式很简单.对于每一行:
user1,value1 user2,value2 user3,value3 user1,value4 ...
你知道我的意思.对于每个用户,它可能会出现多次,或只出现一次(您永远不会知道).我需要找出每个用户的所有值.因为用户可能会随机出现,所以我使用了Hashmap来完成它.即:HashMap(key:String,value:ArrayList).但是要向arrayList添加数据,我必须经常使用HashMap get(key)来获取arrayList,为它添加值,然后将其放回HashMap.我觉得效率不高.有人知道更好的方法吗?
对于我的代码的美学,我有一种特别愚蠢的不安全感......坦率地说,我对白色空间的使用很尴尬.我的代码看起来像个极客; 不是很可怕,但很尴尬,你感觉不好盯着,但不能把目光移开.
我只是不确定何时应该留空或使用行尾注释而不是上面的注释.我更喜欢在我的代码之上发表评论,但有时候打破三个字评论的流程似乎很奇怪.有时在代码块之前和之后抛出一个空行就像在一个平滑的代码段中加速.例如,在嵌套循环中,在中心分隔三行或四行代码块几乎消除了缩进的视觉效果(我注意到K&R护腕比Allman/BSD/GNU样式更不容易出现这个问题).
我个人的偏好是密集的代码,除了函数/方法/注释块之外几乎没有"减速带".对于棘手的代码部分,我想留下一个大的注释块告诉你我将要做什么以及为什么,然后在该代码部分中添加一些"标记"注释.不幸的是,我发现其他人一般都喜欢慷慨的垂直白色空间.一方面,我可以拥有更高的信息密度,而另一些人则认为流量不是很好,另一方面,我可以以更低的信噪比为代价获得更好的流动代码库.
我知道这是一个小小的,愚蠢的事情,但这是我真正想要的工作,因为我提高了我的其余技能.
有人愿意提供一些提示吗?你认为什么是流动良好的代码,在哪里适合使用垂直空白?有关两行或三行评论的评论结束的任何想法?
谢谢!
PS这是我一直在研究的代码库中的方法.不是我最好的,但不是我迄今为止最差的.
/**
* TODO Clean this up a bit. Nothing glaringly wrong, just a little messy.
* Packs all of the Options, correctly ordered, in a CommandThread for executing.
*/
public CommandThread[] generateCommands() throws Exception
{
OptionConstants[] notRegular = {OptionConstants.bucket, OptionConstants.fileLocation, OptionConstants.test, OptionConstants.executable, OptionConstants.mountLocation};
ArrayList<Option> nonRegularOptions = new ArrayList<Option>();
CommandLine cLine = new CommandLine(getValue(OptionConstants.executable));
for (OptionConstants constant : notRegular)
nonRegularOptions.add(getOption(constant));
// --test must be first
cLine.addOption(getOption(OptionConstants.test));
// and the regular options...
Option option; …Run Code Online (Sandbox Code Playgroud) 查找号码的查询是什么.Oracle实例中当前打开的游标?
此外,这些数据的准确性/更新频率是多少?
我使用的是Oracle 10gR2
我遇到了问题,无法解决问题.需要大师的帮助.以下是示例代码: -
float f=0.01f;
printf("%f",f);
Run Code Online (Sandbox Code Playgroud)
如果我们在调试期间检查变量中的值,则f包含'0.0099999998'值,printf的输出为0.010000.
一个.有没有办法可以强制编译器为float类型的变量赋值?
湾 我想将float转换为字符串/字符数组.怎么可能只将完全相同的值转换为字符串/字符数组.我想确保没有填充零,没有填充不需要的值,数字没有变化,如上例所示.
具体来说,我如何传递静态方法Request.IsAjaxRequest()?
当我尝试测试以下代码时,我得到异常'System.ArgumentNullException':
if (Request.IsAjaxRequest())
{
return Json(data);
}
return View(data2);
Run Code Online (Sandbox Code Playgroud)
我正在使用Moq.谢谢你的帮助.
我们在Glassfish应用服务器集群上运行了一个基于Java EE的Web应用程序.传入流量主要是基于XML的应用程序资源表示的RESTful请求,但可能有5%的流量可能用于基于JSON或XHTML/CSS的表示.
我们现在正在研究负载平衡解决方案,以便在集群中的Glassfish实例之间分配传入流量.我们还研究了如何使用memcached卸载集群,memcached是一个内存中的分布式哈希映射,其键是REST资源名称(例如,"/ user/bob","/ group/jazzlovers"),其值为相应的XML表示.
一种听起来很有希望的方法是用一块石头杀死两只鸟并使用轻量级,快速的nginx HTTP服务器/反向代理.Nginx将通过首先在memcached中查找其URI来处理每个传入请求,以查看是否已存在未过期的XML表示.如果没有,nginx会将请求发送到其中一个Glassfish实例.nginx memcached模块在这篇简短的文章中有所描述.
nginx和memcached以这种方式使用你的整体印象是什么,你对它们有多开心?您认为哪些资源最有助于了解它们?如果你尝试了它们并且它们不适合你的目的,为什么不呢,你用了什么呢?
注意:这是一个相关的问题.
更新:我后来在ServerFault.com上问了同样的问题.那里的答案主要是建议nginx的替代品(有帮助,但间接).
是否可以在运行时将文件(不一定是jar文件)添加到java类路径.具体来说,该文件已存在于类路径中,我想要的是是否可以将此文件的修改后的副本添加到类路径中.
谢谢,
#define ROUND_UP(N, S) ((((N) + (S) - 1) / (S)) * (S))
Run Code Online (Sandbox Code Playgroud)
有了上面的宏,有人可以帮我理解"(s)-1"部分,为什么会这样?
以及像:
#define PAGE_ROUND_DOWN(x) (((ULONG_PTR)(x)) & (~(PAGE_SIZE-1)))
#define PAGE_ROUND_UP(x) ( (((ULONG_PTR)(x)) + PAGE_SIZE-1) & (~(PAGE_SIZE-1)) )
Run Code Online (Sandbox Code Playgroud)
我知道"(〜(PAGE_SIZE-1)))"部分会将最后五位归零,但除此之外我无能为力,尤其是角色'&'运算符.
谢谢,
java ×3
c++ ×2
actionscript ×1
apache-flex ×1
arraylist ×1
asp.net-mvc ×1
c ×1
classpath ×1
coding-style ×1
collections ×1
cursor ×1
flash ×1
glassfish ×1
hash ×1
hashmap ×1
macros ×1
memcached ×1
nginx ×1
oracle ×1
oracle10g ×1
performance ×1
runtime ×1
unit-testing ×1
whitespace ×1