java基础--(一)创建对象在内存中的理解

news2024/10/6 14:34:33

1、代码

package demo;
public class Car {
    String color;
    int num;
    public Car() {
    }
    public void  run(){
        System.out.println("color = " + color);
        System.out.println("num = " + num);
    }
    public Car(String color, int num) {
        this.color = color;
        this.num = num;
    }
}
package demo;

public class Car_Test {
    public static void main(String[] args) {
        Car car = new Car();
        car.color="黑色";
        car.num=3;
        car.run();
    }
}

注意:在使用类描述事物的时候如果没有提供任何的构造方法,在创建该事物的对象的时候系统会偷偷的补一个空
参构造。

2、内存图
在这里插入图片描述
3、创建过程

(1) 加载相关类信息到内存的方法区
(2)调用main方法进栈并执行创建类对象相关代码。
(3)在栈空间开辟main方法的的变量空间【存放对象的地址值】。
(4)jvm调用构造方法到堆空间开辟新的空间来存放对象属性具体值以及方法标记值
(5)把初始的对象空间的地址值赋值给栈空间的变量。

4、访问过程

在这里插入图片描述
通过栈空间的变量来访问,变量中存放的类对象的地址值
(1)变量通过地址值找到对象在堆空间中的对象空间
(2)通过属性名称找到对象空间对应的属性位置从而找对应的属性值【属性的访问】
(3)通过方法名称找到对象空间中的方法标记,通过方法标记找方法区的对应类的空间
(4)通过方法名称找到对应的方法,并调用方法进栈开始执行。【属于行为访问】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/518097.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2022年美国大学生数学建模竞赛D题数据瘫痪? 使用我们的分析!解题全过程文档及程序

2022年美国大学生数学建模竞赛 D题数据瘫痪? 使用我们的分析! 原题再现: 背景   很多公司将数据视为战略资产,但却很难从中获益。妥善管理这一资源(数据)可以带来竞争优势。因此,公司需要建立一一个集成的数据和分析(D&A) 系统&…

网络中的数据传输模式有哪些-镭速

数据传输模式定义了两个通信设备之间信息流的方向,也称为数据通信或定向模式,同事也规定了信息在计算机网络中从一处流向另一处的方向。 在开放系统互连(OSI)层模型中,物理层专用于网络中的数据传输。它主要决定数据到…

微信小程序原生开发功能合集十四:登录健权及注册功能实现

本章实现微信自动登录及注册修改功能,包括匿名账号生成、权限自动检测、注册界面及注册流程的实现。   另外还提供小程序开发基础知识讲解课程,包括小程序开发基础知识、组件封装、常用接口组件使用及常用功能实现等内容,具体如下:    1. CSDN课程: https://edu.csdn…

1-SpringBoot工程打包后为何执行Java -Jar就能启动?

本文主要分享SpringBoot工程项目如何打包成一个可直接通过java -jar执行的jar,并且简单分析其启动步骤原理。 文章目录 1.SpringBoot如何打包成一个可执行jar?2.SpringBoot打包成的jar为何可以直接Java -jar执行?3.一窥SpringBoot初启动 1.S…

企业直播该如何做?硬件设备、网络环境、设备连接和观看权限等整个直播流程教程

这是一份面向直播新手的企业直播说明教程,字数较多,完整看完,可能会需要求10分钟,建议您可以【收藏】,如果本文章对您有帮助,就帮助【点个赞】吧~~~ 阿酷TONY / 2023-5-12 / 原创文章 / 长沙 / 文章…

今天的CRM系统,还仅仅是一套营销工具吗?

如今,数字化浪潮正席卷全球,数字经济已经成为全球经济未来发展的新动能和新方向。据IDC的预测显示,全球对数字转型的投资将以每年17.1%的复合速度增长,2023年这类投资预计将达到2.3万亿美元。而CRM系统(客户关系管理系…

用友NC软件被locked1勒索病毒攻击加密的方式,服务器oracle数据库中了勒索病毒

用友NC软件是一款企业级管理软件,广泛应用于各行各业的集团企业中。然而,最近有关locked1勒索病毒对用友NC软件的攻击已经引起了广泛的关注和担忧。下面将为大家介绍一下有关locked1攻击加密用友NC软件的方式,并给出合理的解决方案。 首先&a…

Kafka 之生产者与消费者基础知识:基本配置、拦截器、序列化、分区器

一、配置 1. 必须要配置的参数: kafaf集群地址列表:理论上写一个节点地址,就相当于绑定了整个kafka集群了,但是建议多写几个,如果只写一个,万一宕机就麻烦了kafka消息的key和value要指定序列化方法kafka对…

2023年湖北省建设厅特种作业操作证报名条件是什么?

建筑施工特种作业人员是指在房屋建筑和市政工程施工活动中,从事可能对本人、他人及周围设备设施的安全造成重大危害作业的人员。建筑施工特种作业人员必须经建设主管部门考核合格,取得建筑施工特种作业人员操作资格证书(以下简称“资格证书”…

零代码基础,一分钟教你快速搭建微信 ChatGPT 机器人

零代码基础,一分钟教你快速搭建微信 ChatGPT 机器人 1.注册 Railway 账号:2.部署3. 配置1)点击 Configure2)选择仓库地址3)点击安装4)配置信息如下图:5)部署:deploy6)部署完成:7)微信扫码登录8) 根据需要修改配置:最后总结:效果预览:致谢开源项目:本教程收集于…

U盘分区合并的方法有哪些?

大多数用户在硬盘的使用中会进行分区操作,同时为了方便整理,部分用户也会选择给自己的U盘分区,可是在后续操作中发现U盘分区没有什么用处,因此就想要重新将其合并,但要把分区重新合并没那么容易,那么U盘被分…

笔试练习Day02

一.选择题: 1.A 派生出子类 B , B 派生出子类 C ,并且在 java 源代码有如下声明: 1. A a0new A(); 2. A a1new B(); 3. A a2new C(); 问以下哪个说法是正确的() A 只有第一行能通过编译 B 第1、2行能通过编…

mysql distinct 和 group by 去重

标题mysql distinct 和 group by 去重 一、先说结论: MySQL中常用去重复数据的方法是使用 distinct 或者 group by group by 分组后,如果没有对分组后的数据进行操作,如使用聚合函数/分组函数:count、sum、avg、max 、min&…

封装Python脚本:使用pymysql+sshtunnel,支持通过SSH隧道方式链接mysql数据库

一、前言 通常为了保证数据库安全,不会允许直接连接数据库,而是需要通过SSH隧道去连接服务器背后的数据库;通过Navicat操作如下: 二、python封装脚本 # -*- coding: utf-8 -*- # Time : 2023/5/12 11:04 # Author : chen…

Activity内存泄漏时包含的view还有没有的救?

Activity泄漏会导致该Activity引用到的Bitmap、DrawingCache等无法释放,对内存造成大的压力,兜底回收是指对于已泄漏Activity,尝试回收其持有的资源,泄漏的仅仅是一个Activity空壳,从而降低对内存的压力。 做法也非常简…

ssh终端工具推荐-WindTerm

什么是WindTerm 官方github https://github.com/kingToolbox/WindTerm A Quicker and better SSH/Telnet/Serial/Shell/Sftp client for DevOps. 按官方说明,WindTerm是一个更快更好的SSH/Telnet/Serial/Shell/Sftp的DevOps工具。 WindTerm目前对商业是免费无限制…

QML APP开发套路(二):前/后端交互概述

(1)QML开发简介 Qt应用框架在传统UI(QWidget窗体)的基础上,提供了Qt Quick模块,该模块基于 QML 语言来定义UI及交互方式。区别于 QWidget 定义UI的方式,QML利于将UI交互与业务逻辑处理剥离成前…

什么是智慧校园?

什么是智慧校园? 智慧校园平台是目前教育信息化领域的热点之一。 随着数字化转型的加速,越来越多的学校开始寻求解决方案,以提高教育管理的效率和质量。 在使用智慧校园平台的过程中,一些痛点问题也浮现出来。为解决这些问题&a…

基于AT89C51单片机的贪吃蛇游戏设计

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87778030 源码获取 主要内容: 设计一个贪吃蛇游戏,使其具有以下游戏规则:①当没有改变方向时,贪吃蛇沿原来路径一直前进②贪吃蛇无法回头,只能异于当前方向改变行动③蛇…

网页更新提醒是什么?如何自动监控网页并自动记录或发送通知?

网页更新提醒是什么? 在互联网信息资源丰富,且更新速度快的情况下,如果需要监控一些网页变化,实现例如热点/热搜/热评监测、商品上新/价格/库存监测、作品上新/评论/点赞监测、招标/投标/拍卖/竞价监测、公告/通知/活动监测等情况…