0

我正在编写一个应用程序,旨在集中在 mysql 数据库中生成的与项目管理相关的所有数据。该应用程序可以分为 3 个部分/项目,如下所示:

  • 服务器层:

充当多个客户端之间的层并保持与数据库(mysql)的连接。它监听协议类,然后执行诸如 INSERT、UPDATE、DELETE、SELECT 等操作。它是用纯 java 2SE 而不是 2EE 编写的,因为它是一个非常简单的类并且可以独立于服务器。

  • 通讯协议:

扩展 java.util.EventObject 并实现 Serializable 接口的类。它用于存储与客户端和服务器之间的通用协议相关的信息。这是实际上通过套接字“旅行”的类,因为它的工作方式类似于协议。

  • 客户申请:

基本上是gui。它是用 javafx 2.1 编写的,旨在提供一个漂亮而美观的界面来收集信息。

我的问题是,为了通过代码提高可读性,我在通信协议类上创建了一些静态最终字段,然后声明为 int,我想知道使用 byte 是否可以改进代码,因为(再次)它将通过套接字. 我知道 JVM 会将等效空间与字节、短裤和整数变量分开,但是当通过套接字发送数据时会发生这种行为吗?因此,在这种情况下,哪个更好:

/**
 * 
 */
private static final long serialVersionUID = 7530533341506425480L;


public static final int CLIENT_DISCONNECTED = -1;
public static final int NEW_INFO_INSERTED = 0;
public static final int SHUTDOWN_ORDER = 1;

public static final int INFO_NOT_INSERTED = 100;

public static final int CLIENT_CONNECT = 10000;
public static final int CLIENT_LOGIN = 10001;

public static final int SERVER_LOGIN_OK = 20001;
public static final int SERVER_LOGIN_FAILED = 20002;
public static final int SERVER_SAYS = 20003;
public static final int SERVER_IMAGE_INSERTED = 20004;

public final static int DB_WORKERS = 1001;
public final static int DB_PROJECTS = 1002;
public final static int DB_SECTORS = 1003;
public final static int DB_ACTIVITIES = 1004;
public final static int DB_SUBACTIVITIES = 1005;
public final static int DB_INSERTION = 1006;
public final static int DB_REL_COST = 1007;
public final static int DB_FUNCTIONS = 1008;
public final static int DB_INSERTION_ID = 1009;
public final static int DB_INSERTION_IMG = 1010;

public final static int DB_WORKER_INSERTED = 4010;
public final static int DB_ACTIVITY_INSERTED = 4011;
public final static int DB_SECTOR_INSERTED = 4012;
public final static int DB_SUBACTIVITY_INSERTED = 4013;
public final static int DB_FUNCTION_INSERTED = 4014;
public final static int DB_IMAGE_INSERTED = 4015;
public final static int DB_PARENTS_INSERTED = 4016;

或使用字节?干杯

4

5 回答 5

6

正如 ColeJohnson 所说,字节比整数小,因此在技术上发送速度更快。但是,除非您一次发送 10 万或数百万个这些值,否则大小差异无关紧要

于 2012-05-12T17:26:31.820 回答
3

字节更小,因此发送速度更快。但是,这些值都不适合一个字节......

于 2012-05-12T17:18:54.077 回答
1

字节更小,因此它们的传输速度更快,但对于许多应用程序,它们的处理速度比 int 慢。我认为这将取决于网络的瓶颈吞吐量和发送的字节/整数数量。

于 2012-05-12T17:28:56.583 回答
0

一个 int 使用 4 个字节,因此字节是最高效的。

但是您必须手动将 int 转换为字节数组。

于 2012-05-12T17:24:42.157 回答
0

答案是字节,我认为它也很灵活

于 2012-05-12T17:41:54.120 回答