相关疑难解决方法(0)

为什么Java API使用int而不是short或byte?

为什么Java API会使用int,何时short甚至byte是足够的?

示例:DAY_OF_WEEK类中的字段Calendar使用int.

如果差异太小,那么为什么存在这些数据类型(short,int)?

java optimization types java-api

134
推荐指数
5
解决办法
1万
查看次数

为什么不对所有整数值使用long

在我的Java类中,我们刚刚了解了以下每种原始数据类型:

  • byte
  • short
  • int
  • long

由于long数据类型包含的位数最多,因此专门使用long数据类型以避免限制是否有意义?

问题

  • 仅使用long数据类型是否有特殊的缺点?
  • 使用例如int数据类型而不是数据类型是否有意义long

java integer long-integer

13
推荐指数
1
解决办法
7748
查看次数

为什么FileInputStream在java中读取方法返回一个int,而不是short?

我知道byte不是一个足以包含read方法结果的正确类型.
因此,read方法返回int类型值.
但我认为短类型比int更有效.
它可以包含范围-256~255的值.
为什么read方法返回int,而不是short?

java

6
推荐指数
1
解决办法
1360
查看次数

为什么短原始类型明显慢于long或int?

我尝试通过将int基元更改为short来优化Android游戏的RAM使用率.在我这样做之前,我对Java中原始类型的性能感兴趣.

所以我使用caliper库创建了这个小测试基准.

public class BenchmarkTypes extends Benchmark {

    @Param("10") private long testLong;
    @Param("10") private int testInt;
    @Param("10") private short testShort;


    @Param("5000") private long resultLong = 5000;
    @Param("5000") private int resultInt = 5000;
    @Param("5000") private short resultShort = 5000;

    @Override
    protected void setUp() throws Exception {
        Random rand = new Random();

        testShort = (short) rand.nextInt(1000);
        testInt = (int) testShort;
        testLong = (long) testShort;
    }

    public long timeLong(int reps){
        for(int i = 0; i < reps; i++){
            resultLong += testLong;
            resultLong -= …
Run Code Online (Sandbox Code Playgroud)

java performance android caliper

6
推荐指数
1
解决办法
479
查看次数

JVM指令-加载

我想这是一个基本问题,但是为什么没有sload指令?为什么您可以加载除short之外的所有基元?(有saload,但仍然...)

对于:

public class ShortTest {
    public void test() {
        short i = 1;
        System.out.print(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

编译器仍使用iload_1。是因为16位类型短而处理器能处理更好的32位(因为所有现代处理器都是32/64位)?

java jvm bytecode

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

JVM指令集CPU周期和字节大小

Java虚拟机指令集页面提供有关助记符如aaload信息,aastore ...等等.
但是无论这些助记符将占用的CPU周期被提及也没有对这些助记符的字节大小或字大小的任何信息.
知道在哪里可以找到这些信息吗?

java jvm instruction-set

0
推荐指数
1
解决办法
1646
查看次数