Java中常亮池和堆内存的区别
Java语言中有两种数据类型
- 基本数据类型 数值型(byte short int long) 浮点类型(float double)布尔类型(boolean) 字符型(char)
- 引用数据类型 :类 接口 数组
常量池中存放时是字符串常亮和基本类型变量(public static final)等
常亮池的好处是为了避免频繁的创建和销毁对象而影响系统性能,实现了对象的共享。
而在Java中使用new XXX出来的构造出来的对象都是存储在堆内存中,一般上操作系统对其进行回收。存取速度相对会慢一点。
另外需要注意 String a = new String(“abc”)和String a = “abc”的区别
前者会分配到堆内存中,后者其实是放到常亮池中,首先在常量池中寻找是否有“abc”的变量,如果没有的话,就创建一个,将a引用到abc。