栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA-DAY6

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA-DAY6

1,静态类型语言:指的是程序未运行的状态

              任何一个变量在定义的时候就必须指定其数据类型,并且数据类型不允许改变

2,动态类型语言:动态指的是程序运行的状态

              变量的类型是程序运行的时候才知道的

3,什么是内存垃圾:JVM堆内存中,已经确认不再被使用的内存对象
4,什么是垃圾回收: GC (garbage collection)
  (1)手动gc, JDK提供了一个gc函数, 调用这个函数, 就完成对JVM虚拟机内存进行一次GC
  System.gc()
  (2)自动gc, 当JVM虚拟机启动后, 后台会自动运行一个gc程序, 负责内存的gc操作
  这个后台的gc程序会定时做gc操作, 或者是当JVM内存不够用的时候, 会立刻触发gc

  (3)JDK自带的jvisualvm工具,安装Visual GC插件

  (4)同一个对象可以被多个指针同时指向。一个指针可以指向不同的对象, 但是同一时刻只能指向一个对象

  (5)测试当对象有指针指向的时候, 对象不会被垃圾回收器回收
当对象没有指针指向的时候, 对象会被垃圾回收器回收, 但是不会被立即回收?

  5,方法区Method Area  ---> JDK1.8后改名为元空间Meta Space

栈区 Stack Area,堆区 Heap Area, 伊甸园区 Eden,生存者1区, 生存者2区, 老年区

 
(1)程序运行过程中很多对象都是朝生夕死
(2)小对象出生在伊甸园区, gc后, 如果能存活下来会被转移到幸存者区, 对象的年龄计数器会+1
当对象经历了16次回收后依然能够存活, 会进入老年代。重对象/大对象一出生就在老年代

(3)Minor GC和Major GC/Full GC的区别

    1)Minor GC 发生在新生代的GC, 速度很快
    2)Major GC/Full GC发生在老年代的GC, 通常Major GC发生的时候都伴随着Minor GC的发生, 速度比较慢。在JVM虚拟机执行GC的时候, 所有的线程都会暂停运行, 有一句叫做"stop the world!" 

(4)垃圾回收程序设计

package Chapter06;

public class Demo01 {
    //没有static的修饰,data是成员变量,占用1024=1KB  1024*1024=1MB 1024*1024*100=100MB
    byte[]data=new byte[1024*1024*100];//在Demo01上执行
    static Demo01 demo=null;//1,先发生类加载,只跟这段代码有关。类加载只跟静态变量和类加载代码块有关
    public static void main(String[] args) {//2,类加载成功之后,mian函数入栈,然后sleep执行,
        // 之后test01入栈执行
        sleep(20);
        test01();
        sleep(10);
        System.gc();
        while(true){}//在这里进行死循环的目的是为了让mian函数
    }
    public static void test01(){
        Demo01 demo01=new Demo01();//在test01栈帧中执行,Demo01在堆区开辟对象(data)
        demo=demo01;
    }
    public static void sleep(int n){
        for (int i=1;i<=n;i++){
            System.out.println(i);
            try{
                Thread.sleep(1000);
            }catch(InterruptedException e){
                e.printStackTrace();
            }
        }
        System.out.println();
    }
}

当计数到20时堆区中old开始产生垃圾

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/996451.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号