草庐IT

random_bytes

全部标签

java - 将 InputStream 转换为 byte[] 的最有效方法?

这个问题在这里已经有了答案:ConvertInputStreamtobytearrayinJava(34个答案)关闭9年前。ChannelBufferInputStreamresponseStream=(ChannelBufferInputStream)response.getBodyAsStream();ArrayListarrayList=newArrayList();try{while(responseStream.available()>0){arrayList.add(responseStream.readByte());}}catch(IOExceptione){e.pri

java - Java UDP中如何获取实际数据包大小 `byte[]`数组

这是我上一个问题的后续问题:JavaUDPsend-receivepacketonebyone正如我在那里指出的那样,基本上,我想通过UDP一个接一个地接收数据包。这是一个示例代码:ds=newDatagramSocket(localPort);byte[]buffer1=newbyte[1024];DatagramPacketpacket=newDatagramPacket(buffer1,buffer1.length);ds.receive(packet);Log.d("UDP-receiver",packet.getLength()+"bytesoftheactualpacket

Java 7 : ThreadLocalRandom generating the same random numbers

我正在试用Java7的ThreadLocalRandom并看到它在多个线程中生成完全相同的随机数。这是我的代码,其中我创建了5个线程,每个线程打印出5个随机数://5threadsfor(inti=0;i输出:Thread-0:1,93,45,75,29,Thread-1:1,93,45,75,29,Thread-2:1,93,45,75,29,Thread-3:1,93,45,75,29,Thread-4:1,93,45,75,29,为什么每个线程和程序的每次执行都得到相同的随机数? 最佳答案 似乎有一个关于此问题的Unresol

java - 如何指定一个常量是byte还是short?

对于long数据类型,我可以在一个数字后面加上L,让编译器知道它是long。byte和short呢?作为动机,以下会产生类型不匹配错误:Lista=Arrays.asList(1,2,3,4); 最佳答案 您实际谈论的是整数literal(1)与长literal(1L).在Java中实际上没有短字面量或字节字面量这样的东西。但它通常并不重要,因为存在从整数文字到类型byte、short和char。因此:finalbyteone=1;//notypecastrequired.仅当文字在要求的范围内时才允许隐式转换。如果不是,则需要进行

java - 将 Document 对象转换为 Byte[]

我是这样初始化文档对象的:DocumentBuilderFactorydocFactory=DocumentBuilderFactory.newInstance();DocumentBuilderdocBuilder=docFactory.newDocumentBuilder();Documentdoc=docBuilder.newDocument();之后,我通过向doc对象插入数据来构建XML文件。最后,我将内容写入计算机上的文件。我的问题是如何将doc中的内容写入byte[]?*这是我将内容写入XML文件的方式:TransformerFactorytransformerFacto

java - 你如何使用 math.random 生成随机整数?

如何使用Math.random生成随机整数?我的代码是:intabc=(Math.random()*100);System.out.println(abc);打印出来的都是0,我该如何解决? 最佳答案 将abc转换为整数。(int)(Math.random()*100); 关于java-你如何使用math.random生成随机整数?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/

java - 我应该更喜欢 ThreadLocalRandom 而不是 ThreadLocal<Random>?

我希望跨多个线程使用(种子)Random对象,javadoc将我指向ThreadLocalRandom这看起来很棒,只是我无法设置种子,所以我无法确保不同线程或运行之间的一致性。是否有任何使用ThreadLocalRandom的实际原因,或者是否可以接受以下操作://PassreturnedThreadLocalobjecttoallthreadswhichneeditpublicstaticThreadLocalthreadRandom(finallongseed){returnnewThreadLocal(){@OverrideprotectedRandominitialValue

java - 为什么在自动装箱期间发生 final long 到 Byte 的编译错误,但 final int 到 Byte 是可以的?

将int和short类型的常量自动装箱到Byte时没有错误,但long类型do有错误。为什么?finalinti=3;Byteb=i;//noerrorfinalshorts=3;Byteb=s;//noerrorfinallongl=3;Byteb=l;//error 最佳答案 来自JLSSec5.2,"Assignmentcontexts"(强调我的):Inaddition,iftheexpressionisaconstantexpression(§15.28)oftypebyte,short,char,orint:Anarro

java - BigInteger 到 byte[]

我需要转换JavaBigInteger实例到它的值(以字节为单位)。从API中,我获得了此方法toByteArray(),它返回一个byte[],其中包含此BigInteger的二进制补码表示形式。因为我所有的数字都是正128位(16字节)整数,所以我不需要2的补码形式给我128位+符号位(129位)...有没有办法直接从BigInteger获取标准(没有2的补码形式)表示?如果不是,我如何右移整个byte[17]数组以丢失符号位以获得byte[16]数组? 最佳答案 你根本不需要移动。符号位是字节数组中最重要的(=最左边的)位。由

java - Random.nextGaussian() 的真正最大值(和最小值)是多少?

理论上,nextGaussian的界限意味着正无穷大和负无穷大。但由于Random.nextDouble,用于计算高斯随机数,不会无限接近0和1,实际限制nextGaussian.和Random.next也不是完全均匀的分布。从理论上讲,最大值应该约为2.2042*10^17并且与nextDouble的53位移位有关。(reference),但这可能只是一个上限。答案可能取决于Random.next的分布以及StrictMath.sqrt的确切实现和StrictMath.log.我也找不到太多相关信息。是的,我知道外部值极不可能,但它可能是相关的,例如在游戏中的RNG操作上下文中。