Java基础概念

自动装箱

java 复制代码
Integer i = 10;  //装箱
int n = i;   //拆箱
  • 普通数据类型‌:直接在栈内存中分配空间,存储的是具体的值。
  • 包装类‌:作为对象在堆内存中分配空间。包装类实际上是对普通数据类型的封装,每个包装类都包含了对应的数据类型的值,并且包含一些方法(如类型转换、比较等)‌1。

静态变量有什么作用?

静态变量也就是被 static 关键字修饰的变量。它可以被类的所有实例共享,无论一个类创建了多少个对象,它们都共享同一份静态变量。也就是说,静态变量只会被分配一次内存,即使创建多个对象,这样可以节省内存。

GC,Java内存区域

顾名思义就是释放垃圾占用的空间,防止内存泄露

Minor GC 、 Major GC 、 Full GC ?

新生代内存不够用时候发生Minor GC 也叫 Yong GC ,老年代内存不够的时候发生 Major GC, Minor GC 相比 Major GC 更频繁,回收速度也更快。 还有一种GC 负责整个新生代 + 老年代的回收称为 Full GC。

G1垃圾收集器是JAVA7引入的一款垃圾收集器,软实时是指G1允许设置一个限定值,G1会努力控制每一次GC所造成的停顿都在限定时间之内,但是并不保证每一次GC造成的停顿都能满足要求。停顿时间的限定可以通过-XX:MaxGCPauseMillis参数设置

CMS是一种更为古老的垃圾回收算法。

无法被垃圾回收的内存,称为内存泄漏

ZGC为更高版本Java使用的垃圾回收器,Java14可使用。

相关推荐
王嘉俊9251 分钟前
ReentranLock手写
java·开发语言·javase
my_realmy9 分钟前
JAVA 单调栈习题解析
java·开发语言
海晨忆25 分钟前
JS—ES5与ES6:2分钟掌握ES5与ES6的区别
开发语言·javascript·es6·es5与es6的区别
高飞的Leo36 分钟前
工厂方法模式
java·开发语言·工厂方法模式
菜鸡中的奋斗鸡→挣扎鸡42 分钟前
c++ count方法
开发语言·c++
59678515443 分钟前
C#重写treeView控件
java·c#
DT——1 小时前
Vue2和Vue3的区别
开发语言·javascript·vue.js
小杨4041 小时前
架构系列二十三(全面理解IO)
java·后端·架构
程序员总部1 小时前
单例模式在Python中的实现和应用
开发语言·python·单例模式
demonlg01121 小时前
Go 语言 fmt 模块的完整方法详解及示例
开发语言·后端·golang