java内存分布注意点
不会,就是不会!
人工智能小白
展开
-
java字符串储存底层原理
2. JDK8 之后:在生成str2的时候,先对str1 + "b"要占用的空间进行了预估,然后在堆空间占用了相应的数组空间,最后存入字符再组合成字符串。如果我们一下子存入了很多很多数据,比如40(超出了扩容范围),那么StringBuilder就会以我们存入的数据长度为标准,这样在拼接的时候没有变量,都是字符串,触发字符串的优化机制,在编译的时候就已经是"abc"了,就可以重复使用串池中的数据。由于这个类型的对象的内容是可以变动的,所以我们再添加的时候,变动的始终是这个对象,而不会去重新创建对象赋值。原创 2023-09-24 19:25:15 · 143 阅读 · 0 评论 -
java指针(引用)变量的使用方法(个人+chatgpt理解)
以下解释(chatgpt)是我在调整add方法时遇到的问题, 我想直接stu_object stu_arr_new[] = swap(....),但是不可以的.★使用一个临时数组(swap返回的数组)存储其返回结果(初始化),然后再根据临时数组(swap返回的数组)的长度创建一个新的数组(传值),★为了正确声明和初始化一个大小不确定的数组,你需要在调用 swap(...) 方法之前,先声明一个数组类型并且手动初始化,声明变量是为了告诉编译器在内存中为变量分配空间,并指定变量的类型。原创 2023-09-22 21:27:33 · 166 阅读 · 0 评论 -
java的构造方法的微解释(课堂笔记)
一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写无参数构造器了。建议:不管在什么情况下,都要手动写无参构造和有参构造(带全部参数)无参构造: 在初始化对象的同时,成员变量的数据均采用默认值。创造对象的时候,由虚拟机自动调用,给成员变量进行初始化.有参构造: 在初始化对象的时候,同时可以为对象进行赋值。任何类定义出来,默认就自带了无参数构造器,写不写都有。2. 构造方法有几种?3. 构造方法有哪些注意事项?原创 2023-09-21 18:37:02 · 26 阅读 · 0 评论 -
java对于javabean类的标准讨论和封装解释以及private的个人理解
本文章为课堂笔记(黑马程序员的课程)原创 2023-09-21 18:36:06 · 98 阅读 · 0 评论 -
java中,类的变量的就近原则
/如果没有System.out.println(this.age);打印的就是这个方法里的age,如果这个方法里没有age,那么打印的就是类的age属性。//这个打印的是类里面的属性,属性默认初始值都是为0。//这个打印的就是这个方法里的age。比如我现在创建了一个类 :dog。这个原则是对于类的方法而言的。package 类;原创 2023-09-21 18:31:29 · 29 阅读 · 0 评论 -
java关于引用数据类型和基本数据类型的解释(个人)
如果给a数组赋值为NULL那么a数组就不指向任何东西,如果b数组也赋值为NULL,那么b数组也不指向任何东西。那么b的值就是5,而不是a的地址。引用数据类型的数据都是储存在堆空间中的,必须要通过引用(指针)指向在堆空间中的地址,如果a数组或者b数组其中一个有个值变了,那么另一个相对应的数组里面的数也要变.如果所以b数组就指向a数组,所以a数组和b数组是同用一个堆空间的,基本数据类型的数据都是储存在栈空间中的,是真实存在的,是直接的.基本数据类型在传值的时候,传的不是地址值,而是真实的数据.原创 2023-09-21 18:16:25 · 26 阅读 · 0 评论