首页 文章 精选 留言 我的

精选列表

搜索[Agent运行时],共10004篇文章
优秀的个人博客,低调大师

Java程序运行时内存分析

Java程序运行在Java虚拟机中,JVM把他管理的内存分为三个区域:栈Stack、堆Heap、方法区Method Area 栈描述的是方法执行的内存模块,每个方法的调用都会创建一个栈帧(存储局部变量、操作数、方法出口等)JVM为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数、局部变量),栈属于线程私有、不能实现线程中的共享,连续空间,速度快。 堆用于存储创建好的对象和数组,JVM只有一个堆,被所有线程共享堆是一个不连续的内存空间。分配灵活,速度慢,new执行完就放进堆。 方法区又叫静态区JVM只有一个方法区,被所有线程共享,方法区实际也是堆,只是用于存储类、常量相关的信息,用来存放程序中永远不变或唯一的内容(类信息【class对象】、代码、静态变量、字符串常量。 package 内存分析; public class Person { int age; String name; Person(int age,String name){ this.age = age; this.name = name; } public static void main(String[] args) { int i = 20;//一 String name = "张三";//二 Person p1 = new Person(i,name);//三 Person p2 = p1;//四 Person p3 = new Person(30,"李四");//五 System.out.println("p1的个人信息:"+p1.age+","+p1.name);//六 System.out.println("p2的个人信息:"+p2.age+","+p2.name);//七 System.out.println("p3的个人信息:"+p3.age+","+p3.name);//八 } } 第一步:JVM从硬盘中读取Person.class类文件,通过类加载器把类Person转载到内存中,在方法区中存放了Person原型。 第二步:在方法区中找到main方法,在栈中创建一个main方法栈帧,并开始执行main函数 第三步: 执行代码第一行,因为i是main方法中的局部变量,所以存放在main栈帧;执行代码第二行,定义一个String引用name,指向存放在静态区中的字符串常量“张三”;第三行,new一个Person对象,并调用了构造方法Person(int,String)进行初始化,定义一个引用p1,并在p1中存放了该对象的地址。具体的执行过程如下:首先执行=右边的new Person,通过new在堆中申请了一块内存,存放新建的对象数据,包含对象属性及地址,调用构造函数会在栈中创建一个Person栈帧。一个方法的形参是这个方法中的局部变量,所以i和name存放在person栈帧中,代码执行结束后,会撤销Person方法栈帧。表达式new person的值返回一个地址值,并赋值给了p1。第五行类似于第三行。 初学Java,请各位前辈多多指教!文章若有侵权,麻烦马上联系我哦

资源下载

更多资源
Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册