1、Java 基本数据类型和精度

整数数据类型

关键字 描述 大小 格式
byte 字节长度整数 8 位二进制补码 从 +127 到 -128
short 短整型 16 位二进制补码 从 +32767 到 -32768
int 整数 32 位二进制补码 从 +2147483647 到 -2147483648
long 长整型 64 位二进制补码 从 +9223372036854775807 到 -9223372036854775808

实数数据类型

关键字 描述 大小 格式
float 单精度浮点 32 位 IEEE 754 从 3.4028235E38 到 1.4E-45
double 双精度浮点 64 位 IEEE 754 从 1.7976931348623157E308 到 4.9E-324

其他数据类型

关键字 描述 大小/格式
char 单字符 16 位 Unicode 字符
Boolean 布尔值(true 或 false) true 或 false

2、基本数据类型按照下列顺序进行对齐

double、long

int、float

short、char

boolean、byte

3、Sun java虚拟机规定:

  出数组外的所有对象都包含一个长度为双字的header,一个长度为单字的flags,一个指向对应类引用的单字字段。当用new Object()创建一个对象时,堆上会为其分配8个字节的内存空间。

  对一个继承Object的类来说,在8个字节后面,类的各个属性在堆内存上会按照一定的规则对齐,但并不按照他们的声明顺序对齐。

  首先基本是基本类型安装2中的方式对齐;接着,该类所引用其它类的对象也会在堆上进行对齐。JVM会把对象的大小调整为8字节的倍数

java基本类型对齐的更多相关文章

  1. java string类型的初始化

    以下基本上是java string类型最常用的三种方法 new string()就不介绍了  基本等同于第三种 String a;  申明一个string类型的 a,即没有在申请内存地址,更没有在内存 ...

  2. java 枚举类型分析

    最近做android开发,需要用到枚举值,这样可以连续赋值,我按之前c++那样书写,如下所示: public enum ColorSelect { RED_BAGE = 0, GREEN_BAGE, ...

  3. java double类型保留两位小数4种方法【转】

    4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...

  4. Java元组类型之javatuples

    转载:Java元组类型之javatuples 关于方法的返回值,经常需要返回2个值或多个值的一个序列,比如数据表的一条记录,文件的一行内容等.除了使用数组Array.集合(List.Set.Map)这 ...

  5. 【转】java枚举类型enum的使用

    原文网址:http://blog.csdn.net/wgw335363240/article/details/6359614 java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到 ...

  6. stm32 cortext-M3 类型对齐问题【worldsing笔记】

    经过细测,Cortex-M3的double类型必须4字节对齐访问,其他诸如float,int,short 可以非对齐访问.否则将会产生硬件异常!即访问double类型地址必须能被4整除,测试代码如下: ...

  7. java浮点类型计算

    java浮点类型需要采用java.math.*这个工具包,这样的计算结果才是我们想要的.呵呵 import java.math.BigDecimal; import java.text.NumberF ...

  8. 【转】掌握java枚举类型(enum type)

    原文网址:http://iaiai.iteye.com/blog/1843553 1   背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用 ...

  9. 转载 java枚举类型enum的使用 (原文地址:http://blog.csdn.net/wgw335363240/article/details/6359614)

    java枚举类型enum的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java中定义的常量值不采用enmu枚举类型,而采用public final static 类型来定义呢?以前我们都是采 ...

随机推荐

  1. 使用@ResponseBody输出JSON

    添加jackson依赖 添加@ResponseBody 测试: 原理: 当一个处理请求的方法标记为@ResponseBody时,就说明该方法需要输出其他视图(json.xml),SpringMVC通过 ...

  2. php函数之substr()

    问题: 希望从字符串的某个特定位置开始抽取这个字符串的一部分.例如,对于输入到一个表单的用户名,想要得到这个用户名的前8个字符. 解决: 使用substr()选择子串 $substring = sub ...

  3. Linux 的终端 Terminal

    打开终端: 方式一:在全部应用中搜索Terminal 方式二:Ctrl+Alt+T 快捷方式打开终端 终端指令查询 如果忘记终端指令而只记得前几位可以只输入前几个字母后按Tab键查询 终端清屏 键入c ...

  4. 02-springmvc分布式项目dataService项目配置

    spring总文件 文件名:applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> ...

  5. redis 和 memache 缓存的区别

    总结一: 1.数据类型 Redis数据类型丰富,支持set list等类型 memcache支持简单数据类型,需要客户端自己处理复杂对象 2.持久性 redis支持数据落地持久化存储 memcache ...

  6. IDEA查看JDK源代码

    之前已经讲解过如何使用Eclipse查看源代码,IDEA作为一个集成开发环境越来越流行,今天学习以下如何使用Eclipse查看JDK的代码. File->Project Structure,选择 ...

  7. VS开发框架DevExtreme v19.1全解析!全新的UI小部件

    行业领先的.NET界面控件DevExpress 正式发布了v19.1版本,本文将以系列文章的方式为大家介绍DevExtreme Complete Subscription v19.1中全新发布的Dro ...

  8. Centos 7误删Yum,如何补救???

    1. 查看centos 的版本号 cat /etc/redhat-release 2. 进入阿里云源站地址:http://mirrors.aliyun.com/  找到对应的版本号 3.下载相应的yu ...

  9. matplotlib 模块

    目录 matplotlib 模块 1.条形图 2.直方图 3.折线图 4.散点图+直线图 5.饼图 6. plot 函数参数 7.图像标注参数 matplotlib 模块 1.条形图 import m ...

  10. Vue.use() 方法

    1.本人在学习Vue时,会用到 Vue.use() .例如:Vue.use(VueRouter).Vue.use(MintUI).但是用 axios时,就不需要用 Vue.use(axios),就能直 ...