当前位置: 首页 > wzjs >正文

如何上传网页到网站免费写文案神器

如何上传网页到网站,免费写文案神器,网站开发后服务费,转包网站建设做非法事情目录 一、方法区1、类常量池2、静态常量池3、方法区过程 二、栈三、堆1、字符常量池2、堆内存图的绘制 java中内存可以分为 方法区、 堆、 栈、 程序计数器、 本地方法栈,其中比较中重要的是方法区、堆、栈。 一、方法区 1.方法区(Method Area&…

目录

  • 一、方法区
    • 1、类常量池
    • 2、静态常量池
    • 3、方法区过程
  • 二、栈
  • 三、堆
    • 1、字符常量池
    • 2、堆内存图的绘制

java中内存可以分为 方法区程序计数器本地方法栈,其中比较中重要的是方法区、堆、栈。

一、方法区

1.方法区(Method Area)与Java堆一样,是各个线程共享的内存区域。

2.方法区在JVM启动的时候被创建,并且它的实际的物理内存空间中和Java堆区一样都可以是不连续的。
3.方法区的大小,跟堆空间一样,可以选择固定大小或者可扩展。
4.方法区的大小决定了系统可以保存多少个类,加载项目中的类同时将类中的方法和属性加载到方法区当中
5.关闭JVM就会释放这个区域的内存。
提供两个类Person和Test类,其中Person类定义如下:

package 内存图;public class Person {public int age;public String name;public static int flag;public void m1() {}public static void m2() {}@Overridepublic String toString() {return "Person [age=" + age + ", name=" + name + " flag = "+flag+"]";}}

Test类定义如下:

package 内存图;public class Test {public static void main(String[] args) {Person x1 = new Person();x1.age = 20;x1.name = "11";x1.flag = 1;Person x2 = new Person();x2.age = 22;x2.name="22";x2.flag = 2;System.out.println(x1);System.out.println(x2);change1(x1,x2);System.out.println(x1);System.out.println(x2);change2(x1,x2);System.out.println(x1);System.out.println(x2);}public static void change1(Person a,Person b) {Person temp = a;a=b;b=temp;}public static void change2(Person a,Person b) {int temp_age = a.age;String temp_name = a.name;a.age = b.age;a.name = b.name;b.age = temp_age;b.name = temp_name;}
}

分析上述的两个类中的情况:
Person:
属性:age(int)name(String)flag(static int)
方法:m1(),m2()(Static) ,toString()
Test:
属性:空
方法:main()(static),change1(Peson a,Person b),change2(Person a,Person b)(static)

1、类常量池

类常量池里面存储的是类的信息,其中存储java类中的方法和属性即上述的Person和Test类。其中存储的情况如下:
其中被static静态定义的方法和属性标记为红色,此时内存没有给类分配内存地空间,因此其中定义的方法和属性由于没有分配内存空间不可以被使用(static定义的方法和属性除外。)
在这里插入图片描述

2、静态常量池

静态常量池用于存储类常量池中被static修饰过的方法和属性,并且为这些方法和属性分配内存空间,因此属性被分配内存空间后,属性会存在其类型的默认值
在这里插入图片描述

3、方法区过程

在这里插入图片描述
类被加载到类常量池中并且获得其中的方法和属性,但是此时没有给方法和属性分配内存空间,即对象没有被定义时无法获得其中的没有被static修饰过的方法和属性,被static修饰过的会被分配内存空间,即使没有创建对象的时候仍可以使用其中的方法和属性

二、栈

栈有一个特点为后入先出,首先被加载到栈中的方法最后出栈,最后入栈的方法,最先出栈。main()为程序的入口,因此栈中首先加载main()方法,直到方法结束。
main()方法中的执行代码如下:

	Person x1 = new Person();x1.age = 20;x1.name = "11";x1.flag = 1;Person x2 = new Person();x2.age = 22;x2.name="22";x2.flag = 2;System.out.println(x1);System.out.println(x2);change1(x1,x2);System.out.println(x1);System.out.println(x2);change2(x1,x2);System.out.println(x1);System.out.println(x2);

根据main()方法中创建变量,创建变量如下:由于x1和x2都是非基本数据类型,因此变量中存储的是堆中的内存地址。,当方法出栈之后,变量也会被回收。
在这里插入图片描述
并且main()中的方法按照顺序依次执行,遇到变量时会创建变量,遇到方法时会将方法加入到栈当中。
当方法全部入栈之后:
在这里插入图片描述
根据后入先出:
在这里插入图片描述
最后:main()方法出栈,栈空
在这里插入图片描述

三、堆

堆内存通常有较大的空间供程序使用,其大小受限于系统的有效虚拟内存,除基础类型以外的复杂数据类型的创建都在堆中操作,由堆分配内存空间供变量使用,例如数组、对象、字符串、列表

1、字符常量池

字符串常量池是Java中一个重要的概念,用于优化字符串的存储和使用。它的主要目的是提高性能和减少内存开销。在字符串定义时,为了避免重复定义浪费空间,创建字符常量池,每一次定义字符串时会判断字符常量池中是否包含该字符串,如果包含会直接将其内存地址赋值给变量名,不存在时会在字符常量池中创建,被创建的字符串在未被使用时不会被立刻回收。

2、堆内存图的绘制

经过下面的代码之后,堆中会创建出下面的情况

		Person x1 = new Person();x1.age = 20;x1.name = "11";x1.flag = 1;

在这里插入图片描述
因为flag位于静态常量池当中,因此创建的对象实例中不包含flag,修改时会直接修改静态常量池中的flag。
在这里插入图片描述

		Person x2 = new Person();x2.age = 22;x2.name="22";x2.flag = 2;System.out.println(x1);System.out.println(x2);

经过上面的代码之后,堆中会创建出下面的情况:
在这里插入图片描述
并且会打印x1和x2。

		change1(x1,x2);System.out.println(x1);System.out.println(x2);

经过上面的代码之后,栈中会载入change1()的方法,堆中会创建出下面的情况:
在这里插入图片描述
此时x1和x2中的并未发生交换,方法结束后会消除该方法。

		change2(x1,x2);System.out.println(x1);System.out.println(x2);

在这里插入图片描述
结束后效果如下:
在这里插入图片描述
x1和x2中的age和name发生交换。

http://www.dtcms.com/wzjs/295116.html

相关文章:

  • 网站建设开发公司有哪些企业网站seo诊断报告
  • 网络制作网站恶意点击软件有哪些
  • cdn 动态网站百度关键词优化快速排名软件
  • 做网站去哪找源码西安seo外包行者seo
  • 局门户网站的建设网站怎么创建
  • csgo欧洲服务器西安seo黑
  • 自己如何做家政网站seo公司赚钱吗
  • 宋朝网站应该怎么做网站怎么制作教程
  • office做网站模板友情链接发布平台
  • 短视频投放方案seo分析报告怎么写
  • 网页制作网站发布教学设计高端网站建设公司排行
  • asp程序制作网站网站建设网络营销
  • 做网站建网站个人开发app去哪里接广告
  • 专做sm的网站百度经验官网入口
  • 搜索引擎怎么收录网站潍坊网站开发公司
  • 买高端品牌网站seo网站优化是什么
  • 华夏名网网站管理助手手机百度账号登录入口
  • 苏州比较好的建筑公司seo排名点击器
  • 网站的备案要求吗新手怎么做销售
  • 做论坛推广的网站西安关键词seo公司
  • 营销网站建站开发免费访问国外网站的app
  • 上海市网站网络seo推广培训
  • 哈尔滨建站系统营销培训视频课程免费
  • 广州网站建设哪里买互联网营销师培训教材
  • 网站开发切换电脑版与手机版seo外链推广工具下载
  • 备案上个人网站和企业网站的区别网站优化排名推荐
  • 北京建筑公司有哪些seo网站推广全程实例
  • 网站返回首页按钮刷赞业务推广网站
  • 微餐饮建站费用网络服务器有哪些
  • php网站搭建教程自助发外链网站