`
wxlgzxx_1988
  • 浏览: 66318 次
  • 性别: 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方法执行过程中的内存空间分配,分析好内存对以后分析逻辑性错误的程序非常重要。


 

分享到:
评论

相关推荐

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

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

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

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

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

    Java内存分析工具MAT(Memory Analyzer Tool) 可以解析内存的消耗,定位具体的类,定位问题

    java程序自我监视内存使用

    这是一个比较新的东西 不是在新意上 而是以前没什么人做过 这个想法不错,对于开发java程序的人来说很有参考价值

    Java项目:酒店预订小程序(java+SpringBoot+微信小程序开发uniapp+html+mysql)

    SpringBoot + MyBatis + Html +css + js + 微信小程序开发uniapp+ + JavaScript + JQuery + Ajax + maven等等 使用说明 1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. ...

    详细介绍Java的内存管理与内存泄露

    详细介绍Java的内存管理与内存泄露 作为Internet最流行的编程语言之一...这里与大家分享我们在开发过程中遇到的Java内存泄漏的检测和处理解决过程. 本文先介绍Java的内存管理,以及导致Java内存泄露的原因。 ........

    Java 虚拟机学习笔记:Java 内存区域,垃圾收集,内存分配与回收策略,JVM 调优,文件结构,类加载机制,Java 程序

    由于Java的高性能和稳定性,许多大型企业和互联网公司选择使用Java开发核心业务系统和高并发的Web应用程序。 此外,Java还具有丰富的类库和广泛的社区支持,开发者可以利用这些资源快速构建应用程序。Java类库

    Java范例开发大全 (源程序)

     实例1 开发第一个Java程序 7  第2章 Java基础类型与运算符(教学视频:39分钟) 9  2.1 基础类型 9  实例2 自动提升 9  实例3 自动转换 10  实例4 常用基础类型之强制转换 11  2.2 运算符 12  实例5...

    Java范例开发大全(全书源程序)

    实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 关系运算符 13 实例7 逻辑...

    Java开发详解.zip

    010201_【第2章:简单Java程序】_简单Java程序笔记.pdf 010301_【第3章:Java基础程序设计】_Java数据类型笔记.pdf 010302_【第3章:Java基础程序设计】_运算符、表达式与语句笔记.pdf 010303_【第3章:Java基础程序...

    java实验报告之聊天程序的设计

    4.能在程序中熟练应用Java 多线程技术; 5.熟悉Java C/S程序的结构和工作原理; 6.能开发客户端应用程序; 7.会编写服务器端多线程应用程序。 8.熟悉Java 数据库连接方法,能在程序中读写数据库。 二、实验内容 Java...

    介绍Java中的内存泄漏Java开发Java经验技巧共3页

    介绍Java中的内存泄漏Java开发Java经验技巧共3页.pdf.zip

    Java语言程序设计

    目录第1章 Java语言基础知识 1.1 Java语言与面向对象的程序设计 1.1.1 面向对象的程序设计思想 1.1.2 Java语言的特点 1.1.3 Java类库 1.2 Java程序概述 1.2.1 Java开发环境 1.2.2 Application举例 1.2.3 ...

    java内存监控工具jvisualvm

    监控工具VisualVM VisualVM 是Netbeans的profile子项目,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。...

    JDK1.8Java代码开发规范

    JDK1.8Java代码开发规范 1.利于代码工整、维护 2.避免系统、内存等问题发生 正规公司非常需要规范程序猿的代码标准

    Java开发技术大全(500个源代码).

    HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 示例描述:本章介绍开发Java的基础语法知识。 ...

    Java Web开发常见问题.docx

    内存溢出问题:在Java Web开发中,当应用程序处理大量数据或访问大量对象时,可能会出现内存溢出问题。这通常是由于内存泄漏或程序中使用了过多的内存资源导致的。 线程安全问题:在多线程环境下,Java Web应用程序...

    java范例开发大全

    实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 ...

Global site tag (gtag.js) - Google Analytics