`
mawb
  • 浏览: 14194 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

JVM管理内存

阅读更多

package jvm;

/** JVM管理内存F */
public class JVMOfRAM {

 /** 类中有方法,属性,对象他们在内存中是怎么被JVM分配的? */

 /**
  * 数据:放在堆和栈里面 堆:放的对象:new 类名(参数);
  *  栈:放的是方法和变量,主方法和调用的方法,基本类型变量和引用变量。
  * 代码区:存放方法的代码
  */

 public static void m1(int a, int b) {
  int temp = a;
  a = b;
  b = temp;
 }

 public static void m2(int a) {
  a = a + 1;
 }

 public static void m3(User p) {
  p.setAge(35);
 }

 public static void m4(User a, User b) {
  User temp = a;
  a = b;
  b = temp;
 }

 public static void main(String[] args) {
  int a = 10;

  int b = 20;

  int c = 30;

  System.out.println("****main of a,b,c****start********");
  System.out.println("a=  " + a);
  System.out.println("b=  " + b);
  System.out.println("c=  " + c);

  System.out.println("***m1(a,b)a,b进行交换方法**********");

  m1(a, b);
  System.out.println("a=  " + a);
  System.out.println("b=  " + b);

  System.out.println("*****m2(c) c的值加1*********");
  m2(c);
  System.out.println("c=  " + c);

  System.out.println("******m3(u)**u.setAge(35);*******");
  User u = new User();//User 类中的属性age初始化为10;
  System.out.println("User 类中的属性age初始化为:"+u.getAge());
  m3(u);
  System.out.println("u.getAge()=  " + u.getAge());
  

  System.out.println("*****m4(u1,u2)****u1和u2进行交换****");
  User u1 = new User();
  User u2 = new User();
  u1.setAge(100);
  u2.setAge(50);
  m4(u1, u2);
  System.out.println("u1.getAge()=  " + u1.getAge());
  System.out.println("u2.getAge()=  " + u2.getAge());
  System.out.println("*******main of*****end***************");

 }
 
 /*****main of a,b,c****start********
 a=  10
 b=  20
 c=  30
 ***m1(a,b)a,b进行交换方法**********
 a=  10
 b=  20
 *****m2(c) c的值加1*********
 c=  30
 ******m3(u)**u.setAge(35);*******
 User 类中的属性age初始化为:10
 u.getAge()=  35
 *****m4(u1,u2)****u1和u2进行交换****
 u1.getAge()=  100
 u2.getAge()=  50
 *****************end****************/
}

package jvm;

public class User {
 private int age = 10;

 public int getAge() {
  return age;
 }

 public void setAge(int age) {
  this.age = age;
 }

}

 

上面是一个简单的例子,上面的结果自己画画内存空间图就知道了

分享到:
评论

相关推荐

    JVM管理内存就像公司入职与裁员

    JVM内存管理,平时大家估计都不是很在意,一直到快跳槽了,快面试了,大家可能会看看,也可能直接忽略不计了。JVM内存管理是虚拟机的事情,和开发人员有什么关系。这种想法一直在我们开发人员的潜意识中存在:“内存...

    JVM-内存管理 2012-12.pdf

    JVM内存管理是Java平台的一个重要特性,其内存空间的分配和回收机制对Java应用程序的性能和稳定性有着至关重要的影响。 首先,JVM内存管理涉及的内存空间主要分为方法区(Method Area)、堆(Heap)、本地方法栈...

    JVM内存管理白皮书

    在这份由Sun Microsystems公司出版的《JVM内存管理白皮书》中,我们可以找到关于Java虚拟机(JVM)内存管理的详细介绍和深入分析。这份文档对于想要深入了解JVM工作原理的读者来说是一份宝贵的学习资料。在这份...

    Sun JVM原理与内存管理

    ### Sun JVM原理与内存管理 #### 一、Sun JDK 1.6 GC (Garbage Collector) Sun JDK 1.6 的垃圾收集器(GC)是其内存管理的关键组成部分,它负责自动地回收不再使用的对象所占用的内存。本文将详细介绍Sun JDK 1.6 GC...

    JVM 内存管理之道

    JVM 内存管理之道 JVM垃圾回收机制 JVM GC组合 JVM 内存监控工具

    java虚拟机jvm及Tomcat中的jvm有关内存的设置与调优

    1. **堆内存(Heap)**:这是JVM管理的最大块内存区域,用于存储所有对象实例以及数组。堆内存又分为年轻代(Young Generation)和老年代(Old Generation),年轻代进一步细分为Eden区和两个Survivor区(S0、S1)。 2. **...

    JVM性能调优-JVM内存整理及GC回收

    其次,垃圾回收是JVM管理内存的重要机制。它的目标是自动识别并释放不再使用的对象所占用的内存空间,以避免内存耗尽。垃圾回收算法主要包括分代收集(Young Generation、Tenured Generation 和 Perm Generation)、...

    JVM内存空间分配笔记

    Java堆是Java虚拟机所管理的内存中最大的一块,它是所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的是存放对象实例,几乎所有的对象实例都在这里分配内存。 - **特点**: - 线程共享。 - ...

    jvm内存管理,pdf

    ### JVM内存管理详解 #### 一、引言 在探讨JVM内存管理之前,我们先来看一下为何要深入了解这一主题。对于深入掌握Java的人来说,内存管理是不可或缺的一部分。随着技术的发展,内存管理变得越来越自动化,但这也...

    jvm 内存分析文档

    垃圾回收是JVM自动管理内存的关键特性,主要目标是回收不再使用的对象所占用的内存空间。根据对象存活的生命周期,GC分为不同的代际策略,例如分代收集。GC算法包括:标记-清除、复制、标记-整理和分代收集等。 ###...

    java获得jvm内存大小

    在Java编程语言中,了解和控制JVM(Java虚拟机)的内存管理是至关重要的,尤其是在性能调优、资源管理和避免内存泄漏等方面。本文将深入探讨如何在Java中获取JVM内存大小,包括堆内存的总量、最大值以及剩余空间,并...

    idea插件JVM内存工具JProfiler11

    总结来说,Idea插件JProfiler11是Java开发者的得力助手,它将复杂的JVM内存管理和性能优化变得简单易行。熟练掌握JProfiler11的使用,不仅可以提高Java应用的性能,也能提升开发者的专业技能。在日常开发中,适时...

    JVM性能调优-JVM内存整理及GC回收.pdf

    接着,垃圾回收是JVM管理内存的重要机制。基本的垃圾回收算法有几种: 1. 引用计数法:简单但无法处理循环引用的问题。 2. 标记-清除:分两步,标记所有可达对象,然后清除未标记的对象,会产生内存碎片。 3. 复制...

    jvm内存监控工具使用

    JVM 的内存管理是性能优化的关键,尤其是在高并发环境下,合理的内存配置和监控显得尤为重要。本文将深入探讨 VisualVM 及其集成的一系列命令行工具,包括 jps、jstat、jmap、jinfo、jstack 和 JConsole,帮助读者...

    JVM内存参数详解以及配置调优

    在这个资源中,我们将详细讨论 JVM 内存参数的配置和调优,包括 JVM 的结构、内存管理、垃圾回收、堆和非堆内存、内存分配和限制等方面。 JVM 结构 JVM 的结构主要由六个部分组成:JVM API、JVM 内部组件、平台...

    mat(mac)---jvm内存分析工具

    MAT,全称Memory Analyzer Tool,是IBM开发的一款强大的Java虚拟机(JVM)内存分析工具,尤其适用于Mac OS X平台。这款工具可以帮助开发者诊断和解决Java应用中的内存泄漏问题,提高应用性能。MAT通过深入分析堆转储...

    jvm内存分析工具mat

    在JVM内存管理中,内存泄漏是一种常见的性能问题,可能导致应用运行缓慢,甚至崩溃。MAT通过解析JVM生成的hprof文件(内存快照),可以深入分析堆内存的各个部分,包括对象分配、存活状态、引用关系等,帮助定位问题...

    JVM调优与内存管理总结

    Java虚拟机(JVM)调优与内存管理是优化Java应用程序性能的关键环节。JVM内存主要分为新生代、老年代和持久代,每个区域都有其特定的垃圾回收策略。 1. 引用计数法(Reference Counting):这是一种简单的垃圾回收...

    jvm的内存结构图的ppt模型分析.zip

    总结来说,"jvm的内存结构图的ppt模型分析"会帮助我们深入了解JVM如何管理内存,从而优化代码,提高程序性能,并有效避免内存泄漏和溢出等问题。通过学习这个模型,开发者可以更好地调试和调整Java应用程序,提升...

Global site tag (gtag.js) - Google Analytics