zoukankan      html  css  js  c++  java
  • Java_程序内存分析

    Java虚拟机的内存可以分为三个区域: 栈Stack,堆heap,方法区method area
      栈的特点:方法执行的内存模型,每个方法被调用都会创建一个栈帧(储存局部变量,操作数,方法出口等);
      JVM为每个线程创建一个独立的栈,用于存放该线程执行方法的信息;
      栈属于线程私有,不能实现线程间的共享;
      栈是由系统自动分配,速度快,栈是一个连续的内存空间。
    堆的特点
      用于存储创建好的对象和数组;
      JVM只有一个堆,被所有线程共享;
      堆是一个不连续的内存空间,分配灵活,速度慢;
    方法区:
      实际也是堆,只是用于储存类,常量相关的信息;

    public class Student {
    
        //属性fields
        int id;
        String name;
        int age;
        
        Computer comp;
        
        void study() {
            System.out.println("学习"+comp.brand);
        }
        void play() {
            System.out.println("游戏");
        }
        
        
        //程序执行的入口,必须要有的。
        public static void main(String[]args) {
            Student stu = new Student();//创建一个新的对象
            stu.id=001;
            stu.name="spencer";
            stu.age=28;
            
            Computer c1=new Computer();
            c1.brand="apple";
            
            stu.comp=c1;
            stu.study();
        }    
    }
     
    class Computer{
        String brand;
    }

  • 相关阅读:
    前端PC人脸识别登录
    html2canvas 轮播保存每个图片内容
    基于Element的下拉框,多选框的封装
    聊聊 HTTPS
    从 rails 窥探 web 全栈开发(零)
    理解 Angular 服务
    Vue3 与依赖注入
    一次 HTTP 请求就需要一次 TCP 连接吗?
    GO 语言入门(一)
    读 Angular 代码风格指南
  • 原文地址:https://www.cnblogs.com/spencersun/p/9626613.html
Copyright © 2011-2022 走看看