有没有像这样初始化Java HashMap的方法?:
Map<String,String> test =
new HashMap<String, String>{"test":"test","test":"test"};
Run Code Online (Sandbox Code Playgroud)
什么是正确的语法?我没有发现任何有关此事的内容.这可能吗?我正在寻找最短/最快的方法,将一些"最终/静态"值放在一个永不改变的地图中,并在创建Map时提前知道.
我正在使用Javas UUID
并需要将UUID转换为字节数组.奇怪的是,UUID类没有提供"toBytes()"
方法.
我已经发现了两种方法:
UUID.getMostSignificantBits()
and
UUID.getLeasSignificantBits()
Run Code Online (Sandbox Code Playgroud)
但是如何将其转换为字节数组呢?结果应该是带有这些两个值的byte [].我不知何故需要做Bitshifting但是,怎么样?
更新:
我发现:
ByteBuffer byteBuffer = MappedByteBuffer.allocate(2);
byteBuffer.putLong(uuid.getMostSignificantBits());
byteBuffer.putLong(uuid.getLeastSignificantBits());
Run Code Online (Sandbox Code Playgroud)
这种方法是否正确?
还有其他方法(用于学习目的)吗?
非常感谢!!延
我知道GWT有一个很好的RPC支持.但出于各种目的,我需要自己构建:
1.)如何转换Bean对象(在客户端)像;
class MyPerson {
String name;
String getName();
void setName(String name);
//..
}
Run Code Online (Sandbox Code Playgroud)
将GWT转换为JSON字符串?(理想情况下,只使用来自GWT/Google正式提供的库).
2.)其次,如何使用任何GWT Client Logik将此生成的JSON字符串从客户端发送到任何服务器.(理想情况下,只使用来自GWT/Google正式提供的库).
我搜索了很多,但这些示例从未显示如何发送数据,只是为了接收JSON数据.
非常感谢你!!!延
我读了这个:http: //spyced.blogspot.com/2009/01/all-you-ever-wanted-to-know-about.html
我的问题:
1.)是否正确,Cassandra只使用布隆过滤器,找出最有可能包含密钥的SST(排序字符串表)?由于可能存在多个SST并且Cassandra不知道哪个SST可能是密钥?因此,为了加速查看所有SST,使用bloomfilters.它是否正确?(我想了解卡桑德拉是如何工作的......)
2.)为什么(如上面的链接中所解释)键经过几次哈希?是否正确需要多次使用不同的Hash函数进行哈希处理才能获得更好的"随机分布"位?如果这是错误的,为什么需要多次对密钥进行哈希处理?这会耗费CPU周期吗?如果我有几个Hash函数的输出,那么对结果做了什么,它们是ANDed还是XORded.这有什么不同吗?
3.)使用MD5与SHA1(根据文章是随机分布的)相比,"使用Bloomfilter来衡量积极因素"的差异有多大?为什么MD5不是随机分布的?
非常感谢!!延
我试图理解使用MD5 Hash作为Cassandra Key在"内存/存储消耗"方面的含义:
Cassandra的存储消耗是多少,将其用作行键?
如果我直接使用Hash函数中的字节数组,我会假设它在Cassandra中消耗16个字节?
但是,如果我使用十六进制字符串表示(如上所述),cassandra可以将其"压缩"为16个字节,还是在cassandra中也需要64字节?我假设Cassandra有64个字节,这是正确的吗?
你用的是什么键?你是直接使用哈希函数的outpout还是首先编码为十六进制字符串然后使用字符串?(在MySQL中我总是,每当我使用哈希键时,我都使用它的十六进制字符串表示...所以它在MySQL工具和整个应用程序中可以直接读取.但我现在意识到它浪费了存储? ?)
也许我的想法是完全错误的,那么解释我错在哪里会很友好.
非常多!延
抱歉再次向Cassandra再问一些事情,我非常感谢你的喜好:
我读过这个:http://wiki.apache.org/cassandra/FAQ#batch_mutate_atomic并且完全迷失了,并且想知道:
这是真的吗,在Cassandra WRITES上一个SIGLE NODE for ONE ROW-KEY(有很多列在同一列中使用batch_mutate进行更新)不会在同一节点上对同一行键盘上的READ进行隔离,保证读取没有准备好"部分更改数据"?例:
Current Status: [KEY=1 , ColumnName=A with Value=A , ColumnName=B with Value=B] on Node 1
Client A => Writes: [KEY=1 , ColumnName=A with Value=C , ColumnName=B with Value=D] on Node 1
Run Code Online (Sandbox Code Playgroud)
原子性:
根据cassandra文档,写入是客户执行写入的原子:上面的写入要么完全成功要么完全失败!?类似的事情
[KEY=1 , ColumnName=A with Value=C , ColumnName=B with Value=B]
(=一半的列更新成功,但另一半尚未应用/ faild)在出错时不能成为Write的结果?它是否正确?
隔离:
这是真的吗,即使在一个单节点(这里是节点1)写入也不是孤立的,因为有人在同一个节点上读取相同的ROW?如上所述,如果客户端A已更新其一半要更改的列(此处ColumnName = A且值为C),是否确实如此,那么节点1的另一个客户端B连接将确实将该记录视为
Client B => Reads: [KEY=1 , ColumnName=A with Value=C , ColumnName=B with Value=B] on Node 1
Run Code Online (Sandbox Code Playgroud)
几毫秒后,再次阅读它会看到什么?
Client B => Reads: [KEY=1 , …
Run Code Online (Sandbox Code Playgroud) 我需要编写一个ajax applicatoin,在服务器端(在java中实现)将创建数百万个小对象并保存在内存中.通常我会对任何对象使用beanstyle(使用getter/setter).
我的问题:它是否在运行时有所不同(关于内存使用和访问的CPU时间),对于实例化对象具有getter/setter方法而不是拥有它们并直接访问字段/成员?例如,如果让getter/setter使每个方法和实例的对象变大5bytes,那么这将大大增加数百万个ob对象.访问getter vers同样直接访问有关cpu周期的成员/变量.
public String myvartoaccess;
vs
private String myvartoaccces;
public String getMyvartoaccess();
Run Code Online (Sandbox Code Playgroud)
非常感谢!延
java ×6
cassandra ×3
hash ×2
arrays ×1
bloom-filter ×1
collections ×1
concurrency ×1
dictionary ×1
encoding ×1
gwt ×1
long-integer ×1
memory ×1
performance ×1
uuid ×1