zoukankan      html  css  js  c++  java
  • Java基础01-JVM内存分析

    JVM java虚拟机

    java编译后的class文件就是在java虚拟机上运行的

    1.栈区(stacksegment)存放函数的参数值,局部变量的值等,在超过这个变量的作用域时就会被系统自动释放掉存在于JVM内存中的资源

    优点:存取速度比堆快

    缺点:存在栈中的数据大小与生存期必须是确定的,无灵活性

    总结:基础类型存放在栈内存

    for(int i=0;i<43;i++){  //i是局部变量,在for循环中可以用
      System.out.println(i);
    }
    System.out.println(i);//超过变量的作用域,已被系统释放掉,此时调用就会报错

    int

    string

    double

    float

    char

    2.堆区(heapsegment)存放由new创建的对象和数组,JVM不定时查看这个对象,如果没有引用指向这个对象就收回

    引用类型:使用new来创建对象  java中除基础类型外,其余都是引用类型

    引用的变量在栈内存,创建的对象在堆内存,访问创建的对象要先访问引用类型,然后在通过引用类型指向它

    Scanner in=new Scanner(System.in);//声明

    in.nextInt();//访问

    优点:可以动态分配JVM内存

    缺点:要在运行时分配JVM内存   速度慢

    3.静态区

    4.代码区

     

  • 相关阅读:
    cookie,sessionStorage,localStorage
    存储方式与传输方式
    为什么css放在顶部而js写在后面
    常见的web安全及防护原理
    web缓存
    http协议理解
    http与https
    get/post的区别
    JZOJ 3571. 【GDKOI2014】内存分配
    JZOJ 3570. 【GDKOI2014】壕壕的寒假作业
  • 原文地址:https://www.cnblogs.com/shenhainixin/p/9870698.html
Copyright © 2011-2022 走看看