java基本类型对齐
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基本类型对齐的更多相关文章
- java string类型的初始化
以下基本上是java string类型最常用的三种方法 new string()就不介绍了 基本等同于第三种 String a; 申明一个string类型的 a,即没有在申请内存地址,更没有在内存 ...
- java 枚举类型分析
最近做android开发,需要用到枚举值,这样可以连续赋值,我按之前c++那样书写,如下所示: public enum ColorSelect { RED_BAGE = 0, GREEN_BAGE, ...
- java double类型保留两位小数4种方法【转】
4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...
- Java元组类型之javatuples
转载:Java元组类型之javatuples 关于方法的返回值,经常需要返回2个值或多个值的一个序列,比如数据表的一条记录,文件的一行内容等.除了使用数组Array.集合(List.Set.Map)这 ...
- 【转】java枚举类型enum的使用
原文网址:http://blog.csdn.net/wgw335363240/article/details/6359614 java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到 ...
- stm32 cortext-M3 类型对齐问题【worldsing笔记】
经过细测,Cortex-M3的double类型必须4字节对齐访问,其他诸如float,int,short 可以非对齐访问.否则将会产生硬件异常!即访问double类型地址必须能被4整除,测试代码如下: ...
- java浮点类型计算
java浮点类型需要采用java.math.*这个工具包,这样的计算结果才是我们想要的.呵呵 import java.math.BigDecimal; import java.text.NumberF ...
- 【转】掌握java枚举类型(enum type)
原文网址:http://iaiai.iteye.com/blog/1843553 1 背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用 ...
- 转载 java枚举类型enum的使用 (原文地址:http://blog.csdn.net/wgw335363240/article/details/6359614)
java枚举类型enum的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java中定义的常量值不采用enmu枚举类型,而采用public final static 类型来定义呢?以前我们都是采 ...
随机推荐
- Jquery实现对select的操作
select实现对文本框的显示和隐藏 /** * 通过select的值实现对文本框的显示和隐藏 * #id为一个select控件 * .obj为一个文本框 */ function initSelect ...
- Navicat安装、使用教程
下载地址:Navicat的安装包及破解文件 一. Navicat安装 Navicat既可安装在服务器端,也可以安装在客户端.安装在服务器端,导入数据时可使用默认用户,也可以使用远程用户:安装在客户端, ...
- ab测试工具的使用
下载地址:http://httpd.apache.org/download.cgi#apache24 编译安装后在安装目录bin下可以找到ab执行程序 基本用法: ab -n 5000 -c 1000 ...
- Linux系统文件系统及文件基础篇
学习Linux,重难点在于掌握不同类别的文件系统及其作用.通过对Linux系统的安装,我们首先来了解下Linux系统里各个目录文件夹下的大致功能:主要的目录树的有/./root./home./usr. ...
- 一跃进入C大门
相对跳转:b,bl 绝对跳转:直接给PC指针赋值
- zabbix 启到不起来:active check configuration update from [127.0.0.1:10051] started to fail (cannot connect to [[127.0.0.1]:10051]: [111] Connection refused)
cat /var/log/zabbix_agent_log 查看日记出现报错:active check configuration update from [127.0.0.1:10051] star ...
- composer入门教程
初始化项目 使用composer初始化工作目录,在项目的根目录命令行输入 composer init 安装项目 在composer.json文件所在目录命令行下执行如下命令 php composer. ...
- 【转载】Stanford CoreNLP Typed Dependencies
总结自Stanford typed dependencies manual 原文链接:http://www.jianshu.com/p/5c461cf096c4 依存关系描述句子中词与词之间的各种语法 ...
- eclipse springboot 官网demo启动 SpringApplication类找不到
网上有很多类似的,我这种情况是:maven的问题,,, 我自己下载了maven并集成到了eclipse上,导致java.lang.NoClassDefFoundError: org/springfra ...
- Head First设计模式 装饰者模式
装饰器模式 典型的例子:JAVA IO. 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个 ...