草庐IT

byte-compiling

全部标签

java - 如何确定 protobuf 中的消息类型以便我可以使用该 type.parsefrom(byte[ ])

我正在尝试将protobuf数据从cpp端发送到java端。我在.proto中定义了多种消息类型在Cpp端,我有每个消息类型的枚举,我将它添加到buf输出中,如下所示:uint8_t*__temp=(uint8_t*)(buf);*__temp++=(type)>>8;*__temp=(type)&0x00FF;如何获得我添加到buf中的“类型”,以便实现类似MessageTypeparseFrom(byte[]data); 最佳答案 目前尚不清楚确切的要求是什么。但我假设您正在尝试发送不同类型的消息,并且接收方应该能够从接收到的字

compiler-construction - 不同的 JDK 更新会产生不同的 Java 字节码吗?

假设场景:我有一个项目,其源代码合规性级别指定为1.5。现在,我使用两个不同的JDK编译该项目:首先使用JDK6Update7,然后使用JDK6Update20。这两个不同的JDK是否会产生不同的Java字节码,尽管它们只是更新版本不同? 最佳答案 生成的代码通常只在编译器错误修复时有所不同。但是,JLS不指定从源代码到生成的字节码的1:1映射,因此您不应依赖生成的完全相同的字节码。 关于compiler-construction-不同的JDK更新会产生不同的Java字节码吗?,我们在S

java - 是因为 java 语言规则还是因为 jvm,添加 byte 转换为 int?

bytea=1;byteb=1;bytec=a+b;抛出错误:可能丢失精度bytesubt=a_s-a_b;^required:bytefound:int这种行为是否与jvm有关,或者它是用java语言定义的。编辑:如果它是用java语言定义的,那是因为牢记jvm吗?意味着如果java支持byte数据类型那么为什么operationonbyte结果int 最佳答案 ifjavasupportsbytedatatypethenwhyoperationonbyteresultsint因为这就是Java虚拟机的设计方式。没有指令集可以对字

java - 有人在实际应用程序中使用 short 和 byte 原始类型吗?

自2004年以来,我一直在使用Java进行编程,主要是企业和Web应用程序。但我从未使用过short或byte,除了一个玩具程序,只是为了了解这些类型的工作原理。即使在100次的for循环中,我们通常也会使用int。我不记得我是否遇到过任何使用byte或short的代码,除了一些公共(public)API和框架。是的,我知道,在内存节省确实很重要的情况下,您可以使用short或byte来节省大型数组中的内存。有人愿意练习吗?或者它只是书中的内容。[已编辑]使用byte数组进行网络编程和套接字通信是很常见的用法。谢谢,达伦,指出这一点。现在做空怎么样?瑞安,举了一个很好的例子。谢谢,瑞安

java - 有效地从 byte[] 数组中提取任意长度的位序列

我正在寻找在任意位置提取任意长度(0publicabstractclassBitArray{byte[]bytes=newbyte[2048];intbitGet;publicBitArray(){}publicvoidreadNextBlock(intinitialBitGet,intcount){//substituteforreadingfromaninputstreamfor(inti=(initialBitGet>>3);i>=3;return(((bytes[byteIndex]>shift)&mask;}}staticclassVersion2extendsBitArra

java - Eclipse Build Project 和 Maven Compile 命令的区别

Eclipse“BuildProject”命令是否与Maven命令“mvncompile”相同?两者基本上做同样的事情吗?如果是,那么为什么我需要在运行“mvncleaninstall”后在STS中执行“BuildProject”才能顺利运行应用程序?运行“mvncleaninstall”应该已经编译了项目。刷新STS中的项目是否足以运行它?如果否,那么Eclipse构建是否不同,因为Java编译器实现了Java语言规范来构建类?但是下面的ApacheMavenlink说默认编译器是javax.tools.JavaCompiler(顺便说一句,我使用的是Java1.6)。

Java:比 String(byte[]) 更快的替代品

我正在开发一个基于Java的二进制数据下载器。此数据通过基于文本的协议(protocol)(UU编码)传输。对于网络任务,使用了netty库。二进制数据由服务器拆分成数千个小数据包并发送到客户端(即Java应用程序)。每次收到新消息(数据)时,我都会从netty收到一个ChannelBuffer对象。现在我需要处理这些数据,除了其他任务外,我还需要检查来自服务器的包的header(比如HTTP状态行)。为此,我调用ChannelBuffer.array()来接收一个byte[]数组。然后我可以通过newString(byte[])将这个数组转换为字符串,并轻松检查(例如比较)它的内容(

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 - GCJ(GNU Compiler for Java)是发布 webapp 的可行工具吗?

使用GCJ发布服务端应用真的可行吗?网络应用程序?我的老板坚信将我们的(我的)网络应用程序编译成二进制可执行文件是一个绝妙的主意。(话又说回来,他喜欢漂亮的、小的、简单的东西,上面有他能理解的闪烁的灯光。)他本能地认为这没有问题,而我只看到无穷无尽的一系列问题和退化。一旦我开始和他谈论我们平台的复杂性,以及字节码、JVM、库、操作系统之间的差异、处理器架构等更深入的细节……好吧……他的眼睛呆滞了,他微笑着说他已经明确表示他认为我在幼稚地抗拒。他为什么要一个魔法可执行文件?他看到了几个“好处”:如果它是二进制可执行文件,则很难进行逆向工程和规避任何许可。管理层一直担心这种情况会发生,即使