形式上: 字符常量是单引号引起的一个字符; 字符串常量是双引号引起的若干个字符
含义上: 字符常量相当于一个整型值( ASCII 值),可以参加表达式运算; 字符串常量代表一个地址值(该字符串在内存中存放位置)
占内存大小 字符常量只占 2 个字节; 字符串常量占若干个字节 (注意: char 在 Java 中占两个字节)
JAVA各类占空间大小:
char,8b
short,16b
byte,8b
int,32b
long,64b
float,32b
double,64b
void,无,字面大小
存储位置:堆栈,更加高效
java对象没有放在【堆栈】的原因思考:
1.(用户复杂度)对象管理使用GC回收机制,降低用户操作和回收对象的操作难度。简而言之,java是更面向客户的高级语言
2.(编译器复杂度)编译器不需要知道对象在【堆】中存活的具体时间(代码控制),所以分配空间有很大的灵活性
不可变原因:
【基本类型的大小不可变性】是java程序比其他大多数语言编写的程序更具有可移植性的原因之一