`
wxlgzxx_1988
  • 浏览: 69132 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java程序开发中的简单内存分析

阅读更多

       在Java开发过程中,对内存进行分析是十分重要的一步,分析好内存对以后分析逻辑性错误的程序非常重要。

 

       首先内存总体分为了4个部分,包括 stack segment  、heap segment、code segment 、data segment ;其中我们程序中用关键字new出来的东西都是存放在heap segment;

 

       程序中的局部变量存放在stack segment,这些局部变量是在具体方法执行结束之后,系统自动释放内存资源(而heap segment中的资源需要java垃圾回收机制来处理);

 

       程序中的方法,是内存中的code segment中的,而且是多个对象 共享一个代码空间区域;static静态变量,需要放在内存中的data segment中,下面是一个例子程序的内存分析:

 

class Demo{

    private int firistNum;

    private int secondNum;

    public static int temp  =  3;

    public Demo(int firstNum,int secondNum){

        this.firstNum = firstNum; 

        this.secondNum = secondNum;

     }

}

public class Test{

    Public static void main(String [] args){

        Demo test = new Demo(3,4);     
    }

}

 

下面是内存空间分配的过程:

第二步执行过程

这是整个main方法执行过程中的内存空间分配,分析好内存对以后分析逻辑性错误的程序非常重要。


 

分享到:
评论

相关推荐

    MAT解析hprof内存溢出分析工具OutOfMemoryError-java程序开发

    Java开发过程中,遇到`OutOfMemoryError`是一种常见的挑战,它表明程序在运行时耗尽了内存资源。MAT(Memory Analyzer Tool)是IBM提供的一款强大的Java内存分析工具,它专为解决此类问题而设计,帮助开发者深入理解...

    Java外挂开发之内存修改程序(含源码)类似CE

    欢迎下载研究交流,使用步骤:打开进程->输入搜索的数据->开始搜索->改变游戏中的数据->搜索变化->内存修改! 解压后,包含三个文件: 第一个文件是源码,直接用Eclipse导入即可,导入后记得修改Build Path 第二个是...

    LINUX类主机JAVA应用程序占用CPU、内存过高分析手段

    当用户量过大,或服务器性能不足以支持大用户量,但同时又得不到扩容的情况下,进行性能分析,并对系统、...目前大多数运维产品都基于JAVA语言开发,读过本文分享的在linux环境下对JAVA的性能分析手段会让你受益匪浅。

    jProfiler7 java内存分析 linux版本

    - 内存分析是识别和解决Java应用程序中的内存泄漏、过度对象创建和内存消耗过高问题的关键步骤。 - jProfiler7提供了详细的内存分配和存活周期视图,帮助开发者定位内存占用大的对象和可能导致问题的代码片段。 2...

    JAVA内存分析 - V1.0.0.zip

    Java内存分析是Java开发中非常重要的一个环节,它关乎到应用程序的性能和稳定性。"JAVA内存分析 - V1.0.0.zip" 提供了一套工具来帮助开发者深入理解并优化Java应用程序的内存使用情况。这个压缩包包含了两个关键文件...

    Java版简易计算器程序设计

    ### Java版简易计算器程序设计知识点解析 #### 一、项目概述 本项目为一个简易计算器的设计与实现,采用Java语言开发。该计算器具备基本的算术运算功能,并且集成了记忆存储功能,能够满足日常计算的基本需求。项目...

    Java+内存分析工具+MAT

    Java内存分析是一个关键的优化步骤,特别是在开发大型的、高性能的应用程序时。MAT(Memory Analyzer Tool)是由IBM开发的一款强大的Java堆内存分析器,它的全名是Eclipse Memory Analyzer。这款工具是开源的,完全...

    java内存分析-内存泄露问题.rar

    Java内存分析是一个重要的主题,尤其是在开发复杂且性能要求高的应用程序时。内存泄露是Java程序员需要密切关注的问题,因为它们可能导致系统性能下降,甚至可能导致系统崩溃。本文将深入探讨Java内存分析和内存泄露...

    基于Java+chromium的桌面程序开发框架.zip

    在“基于Java+chromium的桌面程序开发框架”中,可能包含以下几个关键组件: 1. **JCEF (Java Chromium Embedded Framework)**:这是一个将Chromium嵌入到Java应用的桥梁,它允许Java程序调用Chromium的API,实现...

    Java程序设计技巧与开发实例

    本资源“Java程序设计技巧与开发实例”深入探讨了Java编程中的关键技术和实用策略,旨在帮助开发者提升编程效率和代码质量。 首先,Java的设计原则包括“Write Once, Run Anywhere”(一次编写,到处运行),这得益...

    Java程序设计基础

    JVM是Java程序运行的基础,它解析并执行跨平台的字节码。垃圾收集机制自动管理内存,释放不再使用的资源,减轻了程序员的工作负担。代码安全性检测则确保Java代码在执行时遵循安全规则,防止恶意操作。 Java程序...

    java程序设计课件

    Java程序设计是计算机科学中的一个重要领域,主要涉及使用Java编程语言进行软件开发。Java是一种广泛应用于服务器端、桌面应用、移动应用(尤其是Android平台)的高级编程语言。天津大学计算机系提供的这门java程序...

    Mac OS java内存分析工具MAT

    在Java应用程序开发中,内存管理是至关重要的,特别是对于大型、长期运行的应用程序,内存泄漏可能导致性能下降甚至系统崩溃。为了有效地诊断和解决这些问题,开发人员需要借助内存分析工具。Mac OS平台上的Eclipse ...

    Java程序开发教学课件:02Java概述.pptx

    Java程序开发教学课件主要介绍了Java语言的基本概况,包括其发展历程、特点、与C++的对比、运行环境、开发环境以及编程规范。Java语言自1991年诞生以来,经历了从“Green”项目到Java的转变,伴随着互联网的崛起而...

    Java程序的开发环境与程序开发

    - **JavaProf**:性能分析工具,帮助开发者了解Java程序运行时的资源消耗情况,如类和方法的调用次数、时间和数据类型的内存使用情况。 - **JavaAppletViewer**:专用的Applet浏览器,用于测试和运行嵌入网页的Java...

    JAVA与XML程序开发

    本文将深入探讨Java与XML的结合使用,以及在程序开发中的应用。 首先,Java是一种面向对象的编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)开发。它以其“一次编写,到处运行”的特性闻名,具有...

    Java 内存模型

    Java内存模型是Java虚拟机规范中定义的一部分,它规定了Java程序中变量的读写行为,以及线程之间的交互规则。理解Java内存模型对于编写正确、高效的多线程程序至关重要。在Java 5之前,Java内存模型的描述比较模糊,...

    基于Java的内存泄露分析及定位

    Java内存管理是一个关键的议题,尤其对于开发大型和长期运行的应用程序来说,内存泄漏可能导致性能下降,甚至引发严重的系统故障。内存泄漏通常发生在程序错误地管理内存,导致某些不再使用的对象无法被垃圾收集器...

    测量Java应用程序的CPU和内存占用率

    在Java应用程序的性能优化过程中,了解应用程序的CPU和内存使用情况至关重要。这可以帮助开发人员识别潜在的性能瓶颈,优化资源分配,确保程序高效运行。Java标准库虽然提供了诸如堆栈大小的测量方法,但并不直接...

    百宝箱业务应用程序开发规范-JAVA分册

    ### 百宝箱业务应用程序开发规范—JAVA分册 #### 一、概述 《百宝箱业务应用程序开发规范—JAVA分册》是中国移动通信集团针对Java业务开发制定的一套详细指导文档,旨在规范和标准化Java应用程序在移动终端上的...

Global site tag (gtag.js) - Google Analytics