Java中long,double,byte,char的目的是什么?

Java中long,double,byte,char的目的是什么?,第1张

Java中long,double,byte,char的目的是什么?

除了“ short”(可能是对空间的浪费)之外,“ short”可能是一个例外-有时候,从字面上看,它们都是上课的动力:

  • 当您不需要小数并且没有理由使用其他任何东西时,请使用 int 。在大多数处理器/ OS配置上,这是计算机可以最有效处理的数量大小;
  • 当您需要小数并且没有理由使用其他任何东西时,请使用 精度。
  • 当您要表示一个字符时(或在极少数情况下需要两字节无符号算术),请使用 char
  • 使用一个 字节 ,如果不是你特别需要 *** 纵 签署 (!少见)字节,或者当你需要走动 字节;
  • 当您需要简单的“是/否”标志时,请使用 布尔值
  • 使用 为那些你需要一个整数的场合,但如果幅度可能超过2十亿(文件大小,时间度量单位为毫秒/纳秒,在先进的用途压缩几件数据转换为单号);
  • 对于以下几种罕见情况,请使用 浮点数: (a)存储了 大量浮点数 ,并且值得节省内存,或者(b)执行 大量的计算 ,并且可能会造成精度损失。对于大多数应用程序,“浮动”精度非常差,但是运算速度却可以快一倍-值得一提的是,在您的处理器上进行测试,发现确实如此![*]
  • 如果您确实需要2字节有符号算术,请使用 缩写 。没有太多的情况…

[*]例如,在奔腾架构的Hotspot中,除法运算和浮点运算通常需要完全相同的时间。

除非您 真正 了解它们,否则不要对这些类型的内存使用 感到 困惑。例如:

  • *在Hotspot中, *每个对象的大小均四舍五入为16个字节 ,因此具有单个字节字段的对象将占用与具有长字段或双字段的单个对象完全相同的空间;
  • 当将参数传递给方法时, 每种类型都占用4或8个字节的堆栈 :您不会通过将方法参数从int更改为short来节省任何内容!(我见过人们这样做…)

显然,有某些API调用(例如,由于某种原因而导致浮点数的非CPU密集型任务的各种调用),您只需要将其传递给它所要求的类型即可!!

请注意,String不是原始类型,因此它实际上并不属于此列表。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5500572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存