小编Arp*_*sss的帖子

如何在长的特定位置设置/取消位?

如何在Java中的long的特定位置设置/取消位?

例如,

long l = 0b001100L ; // bit representation
Run Code Online (Sandbox Code Playgroud)

我想在位置2处设置位并在位置3处取消设置位,因此相应的长度将是,

long l = 0b001010L ; // bit representation
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我怎么做?

java bit-manipulation bitwise-operators

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

寻找将C#转换为Java的代码转换器

任何人都可以通过建议将C#代码转换为Java代码的转换器的名称来帮助我.实际上,我有一个用C#代码编写的工具,我正在尝试修改它.由于我不知道C#和.NET框架,我自己很难转换大代码.我从一些网络信息中发现,存在一些可以将C#转换为Java的工具(可能不正确,但他们可以).任何人都可以通过建议这些工具的名称来帮助我.

c# java code-conversion

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

东京内阁 - 记忆调整

我有超过1亿个键值对(一个键可以有多个值).我正在使用Tokyo Cabinet的BDB(B + Tree DB),其键值为32位字节数组.

是否可以在东京内阁设定可以使用多少内存(下限和上限)?实际上,我有8GB内存,但它似乎无法利用大内存.

另一点是,我想知道如何设置,

tokyoCabinet.tune()tokyoCabinet.optimize()tokyoCabinet.setxmsiz()tokyoCabinet.setcache()这些参数因此我可以得到我的情况的最大调整.提前致谢.任何想法对我都有帮助.

java database tokyo-cabinet

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

Java阵列与C++阵列中的性能和内存使用情况

我在一家小公司工作,在那里我建立一些银行软件.现在,我必须构建一些数据结构,如:

Array [Int-Max] [2] // Large 2D array
Run Code Online (Sandbox Code Playgroud)

将其保存到磁盘并在第二天加载它以备将来工作.

现在,因为我只知道Java(和一点点C),他们总是坚持使用C++或C.根据他们的建议:

  1. 他们已经看到Java中的Array [Int-Max] [2]占用的内存几乎是C的1.5倍,而C++占用的内存占用量比Java大一些.

  2. C和C++可以处理任意大的文件,而Java则无法处理.

根据他们的建议,随着数据库/数据结构变得庞大,Java变得不可行.由于我们必须处理如此大的数据库/数据结构,因此C/C++总是更受欢迎.

现在我的问题是,

  1. 为什么C或C++总是优于Java上的大型数据库/数据结构?因为,C可能是,但C++也是一个OOP.那么,它如何获得优于Java的优势?

  2. 我是否应继续使用Java或他们的建议(切换到C++)将来会对大型数据库/数据结构环境有所帮助?有什么建议吗?

对不起,我对所有这些知识知之甚少,刚开始从事一个项目,所以真的很困惑.因为到现在为止我刚建了一些学校项目,对相对较大的项目一无所知.

c++ java database arrays performance

15
推荐指数
3
解决办法
4525
查看次数

Go Rand套餐难度很大

是否有Go函数在每次运行中返回真正的伪随机数?我的意思是,考虑下面的代码,

package main

import (
    "fmt"
    "rand"
)

func main() {
    fmt.Println(rand.Int31n(100))
}
Run Code Online (Sandbox Code Playgroud)

每次执行此代码时,我都会得到相同的输出.有没有一种方法可以在每次调用时返回不同的随机结果?

go

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

将字符串转换为对象

如何将String转换为Object?实际上,我想设置

clientSession.setAttribute("username", "abc")
Run Code Online (Sandbox Code Playgroud)

但是,它表明

java.lang.String given, required java.lang.Object.
Run Code Online (Sandbox Code Playgroud)

java

10
推荐指数
1
解决办法
19万
查看次数

多图空间问题:番石榴

在我的Java代码中,我使用的是Guava的Multimap(com.google.common.collect.Multimap):

 Multimap<Integer, Integer> Index = HashMultimap.create()
Run Code Online (Sandbox Code Playgroud)

这里,Multimap键是URL的一部分,值是URL的另一部分(转换为整数).现在,我分配了我的JVM 2560 Mb(2.5 GB)堆空间(通过使用Xmx和Xms).但是,它只能存储9百万这样的(键,值)整数对(大约1000万).但是,理论上(根据占用的内存int)它应该存储更多.

有谁能够帮我,

  1. 为什么要Multimap使用大量内存?我检查了我的代码,没有插入对Multimap,它只使用1/2 MB的内存.
  2. 2.

有没有其他方法或自制的解决方案来解决这个内存问题?意味着,有没有办法减少那些对象开销,因为我只想存储int-int?用其他语言?或者解决我遇到的问题的任何其他解决方案(自制首选),意味着基于数据库或类似的解决方案.

java database hashmap guava

9
推荐指数
2
解决办法
2139
查看次数

Java On-Memory高效键值存储

我存储了1.11亿个键值对(一个键可以有多个值 - 最大值为2/3),其键为50位整数,值为32位(最大值)整数.现在,我的要求是:

  1. 快速插入(键,值)对[允许重复]
  2. 基于密钥快速检索值/值.

这里给出一个很好的解决方案,基于MultiMap.但是,我想在主内存中存储更多的键值对,没有/小的性能损失.我从网络文章中研究过B + Tree,R + Tree,B Tree,Compact Multimap等可以很好地解决这个问题.有谁能够帮我:

是否有任何Java库可以满足我所有这些需求(上面提到/其他ds也可以接受.没有问题)?实际上,我想要一个高效的java库数据结构来存储/检索键值/值对,这需要占用更少的内存,并且必须内置在内存中.

注意:我曾尝试使用路易斯·沃瑟曼,京都/东京内阁等提到的HashMultiMap(Guava与trove进行一些修改)等.我的经验对于磁盘烘焙解决方案并不好.所以请避免:).另一点是,为了选择库/ ds,一个重点是:密钥是50位(所以如果我们分配64位),14位将丢失,值为32位Int(最大) - 大多数是10-12-14位.所以,我们也可以节省空间.

java b-tree hashmap key-value

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

用于列出问题的Java数组

我有以下Java代码,

int a[] = new int[] {20, 30} ;
List lis = Arrays.asList(a) ;
System.out.print(lis.contains(20));
Run Code Online (Sandbox Code Playgroud)

但是,输出是错误的.任何人都可以帮助我,为什么这不是真的?

java

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

写"压缩"数组以提高IO性能?

我有一个int和float数组,每个长度为2.2亿(固定).现在,我想将这些数组存储/上传到内存和磁盘.目前,我正在使用Java NIO的FileChannel和MappedByteBuffer来解决这个问题.它工作正常,但是将数组存储/上传到内存到磁盘需要大约5秒钟(挂钟时间).现在,我想让它更快.

在这里,我应该提到大多数数组元素都是0(接近52%).

喜欢:

int arr1 [] = { 0 , 0 , 6 , 7 , 1, 0 , 0 ...}
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我,有没有很好的方法来提高速度,不存储或加载那些0.这可以通过使用Arrays.fill(array,0)来补偿.

java compression arrays io

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