今天,我想从string来分析jvm内存分配机制,java数据类型从整体上讲,大概可以分为基础类型和引用类型。首先从string的性质开始讲,string是final类这也就确定它是不可变得和不可继承。我们知道,string有3种定义方法,String a=new String("asd"); String s1="ak";String s2=s1+"asd";这几种方式。那么它们有什么不同呢?第一种方式,new了一个新对象,有了对象也就说明它要占用内存空间(个人认为),那么第二种方式其实是在常量池中存放或查找s1="ak"值的位置(个人认为),第三种我的猜想是,在常量池中生成新的常量。
String的内存分配机制
最新推荐文章于 2024-09-29 09:44:31 发布