JAVA 内存的简单分析、位运算、垃圾回收

本文深入探讨了JVM内存管理机制,包括栈内存(stack)和堆内存(heap)的特点及使用方式,并介绍了局部变量的存储位置。此外,还详细讲解了构造方法的概念、用途及其重载特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JVM负责管理内存,stack栈内存,heap内存,方法区
stack:存放所有局部变量申请的内存在stack中分配
数据结构:数据存储的一种逻辑上的关系形式
局部数据和栈的数据特点:连续分配先进后出

栈 有一个 栈顶指针,就是一个变量,该变量永远指向待存放的内存区域
刚开始栈是空的,指向了栈底
压栈:push 将数据存入指针指向的位置,然后指针上移
出栈:pop 将栈顶的数据取走,指针下移,然后在取走数据,这样释放

真是的栈是通过地址访问的,存在数据共享。
位运算符
按位或,在两个操作数转成2进制,对应的位上没有都是1的和+ 运算结果是一致的
2|4=6, 4|8=12,
8|16=24, 16|2=18
&按位与可以截取 想要的位数 EG: age = 0b 0000_1010;
我想要得到后两位的数= age & 0b0000_0011 结果就是:0000_0010;就得到了后两位
EG:改变某一位:age&0b0000_0111 结果等于=0b0000_0010;改变了1位数,关灯;
按位或| 只能用来开灯,不能截取;
age*0b1101_1111 = 0b0010_0011;
一个字符,先后异或了同一个值2次,结果就是他本身
技巧:不需要中间变量交换两个变量的值
int a = 3; int b = 15;
a^=b;// a=a^b=⊙
b^=a; // b=b^⊙=b^a^b=a;
a^=b; // a=a^b=⊙^a=a^b^a=b;

垃圾回收机制
没有引用指向这个对象,就会变成garbage,垃圾回收器就会回收
程序员无权指定垃圾对象的回收,只能建议 调用Systgem.gc();

构造器 constructor 也叫作构造方法
构造方法只用来构造这个类的对象;
构造方法通过new关键字调用;
构造方法名称必须和类名一致;
没有定义构造方法,系统会自动定义一个无参的,如果定义了则不会添加
构造方法有返回值,但是不能定义返回类型,不能再构造器调用return
返回值的类型一定是本类
构造器,用来构造该类的对象,经常也用来初始化对象的属性;

重载 overload
一个方法名对应了多个方法就是重载;
同一个类,同一个方法名,
类型不同,个数不同,顺序不同(首先要类型不同)
构造方法也可以重载!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值