类和对象的关系
1.数量 1对多
2.储存位置
类 - 静止的时候储存在磁盘
运行的时候加载到方法区
对象 - 静止的时候没有对象
运行的时候创建在堆区
面向对象的三大特征 :
属性(Property) : 指的就是类的成员变量 , 非静态变量
类的抽象 : 抽象式设计类的过程,根据现实世界物理存在或逻辑存在的某一类事物
1.抽象类的特征 - 用属性来描述出来
2.抽象类的行为 - 用方法来描述出来
第一特性 : 类的封装 : 禁止吧对象的属性暴露给外部访问, 因为外部可能会赋非法值
1 . 使用
2.为属性添加setter 和getter
setter 格式 setXXX ,方法有参数,方法没有返回值
getter 格式 getXXX ,方法没有参数,方法有返回值
3.在外部使用这样的语法修改对象属性
指针. 属性 = 值 ===>> 指针.set属性(值);
在外部使用这样的语法读对象的属性
指针.属性 =====>> 指针.get属性();
一个标准的Java类
pubic Class 类名{
//private 成员变量
//public 成员方法
}
数据类型敏感 vs 数据类型不敏感
静态类型语言(Java) vs 动态类型语言
静态类型语言 : 任何一个变量在定义的时候就必须指定其数据类型
静态:程序未运行的状态 , 并且数据类型不允许改变
动态类型语言 : 程序运行的状态 , 变量的类型是程序运行的时候才知道的
强类型语言 vs 弱类型语言
编译型语言 vs 解释型语言
System.gc()
自动gc 当JVM虚拟机启动后, 后台会自动运行一个gc程序, 负责内存的gc 操作
方法区(MethodArea)与元空间(MetaSpace)一样
程序运行过程中很多对象都是朝生暮死
小对象出生在伊利园区, gc 后, 如果存活下来会被转移到幸存区, 对象的棉铃计数器会+1
当对象经理16次回收后依然存在就能够存货, 会进入老年代
Major GC 和 Full GC 的区别
Minor GC发生在新生代的GC , 比较快
Major GC /Full GC 发生在老年代的GC , 通常Major GC 发生的时候都伴随着Minor GC 的发生 , Major GC 的速度一般比Minor GC 慢10倍
在JVM执行的时候 , 所有的县城都会暂停运行 , 有一句话叫做" stop the world!"
重对象/大对象一出生就在老年代



