形式上: 字符常量是单引号引起的一个字符; 字符串常量是双引号引起的若干个字符
含义上: 字符常量相当于一个整型值( 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程序比其他大多数语言编写的程序更具有可移植性的原因之一