编译好的java程序需要运行在jvm中。

程序,无论是代码还是数据,都需要存储在内存中。JVM为java提供并管理所需要的内存空间。

JVM内存分为堆、栈、方法区。

对象存储在堆中。

This lives in the general random-access memory(RAM)area,but has direct support from the processor via its stack pointer.The stack pointer is moved down to create new memory and moved up to release that memory.This is an extremely fast and efficient way to allocate storage,second only to registers.The Java system must know,while it is creating the program,the exact lifetime of all the items that are sorted on the stack.This constraint places limits on the flexibility of your programs,so while some Java storage exits on the stack-in particular,object references-Java objects themselves are not placed on the stack.

---<Thinking in java>

栈用于存放方法中的局部变量

This is a general-purpose pool of memory(also in the RAM area) where all Java objects live.The nice thing about the heap is that,unlike the stack,the compiler doesn't need to know how long that storage must stay on the heap.Thus,there's a great deal of flexibility in using storage on the heap.Whenever you need an object,you simply write the code to create it by using new ,and the storage is allocated on the heap when that code is executed.Of course there's a price you pay for this flexibility:It may take more time to allocate and clean up heap storage than stack storage (if you even could create objects on the stack in Java,as you can in C++)

---<Thinking in java>

方法区用于存放类的信息。Java程序运行时首先通过类加载器载入类文件的字节码信息,经过解析后将其装入方法区。类的各种信息(包括方法)都在方法区存储。

java内存管理总结的更多相关文章

  1. Java 内存管理

    java 内存管理机制 JAVA 内存管理总结 java 是如何管理内存的 Java 的内存管理就是对象的分配和释放问题.(两部分) 分配 :内存的分配是由程序完成的,程序员需要通过关键字 new 为 ...

  2. 简单的例子 关于Java内存管理的讲解

    我想做的是,逐行读取文件,然后用该行的电影名去获取电影信息.因为源文件较大,readlines()不能完全读取所有电影名,所以我们逐行读取. 就这段代码,我想要在位置二处使用base64,然后结果呢? ...

  3. java内存管理机制

    JAVA 内存管理总结 1. java是如何管理内存的 Java的内存管理就是对象的分配和释放问题.(两部分) 分配 :内存的分配是由程序完成的,程序员需要通过关键字new 为每个对象申请内存空间 ( ...

  4. Java内存管理的9个小技巧

    Java内存管理的9个小技巧很多人都说“Java完了,只等着衰亡吧!”,为什么呢?最简单的的例子就是Java做的系统时非常占内存!一听到这样的话,一定会有不少人站出来为Java辩护,并举出一堆的性能测 ...

  5. 关于Java内存管理的几个小技巧

    这里将介绍几则Java内存管理的小技巧,让你让你从Java入门开始告别陋习,为Java程序提速.有不少人都说"Java完了,只等着衰亡吧!",为什么呢?最简单的的例子就是Java做 ...

  6. java内存管理(堆、栈、方法区)

    java内存管理 简介 首先我们要了解我们为什么要学习java虚拟机的内存管理,不是java的gc垃圾回收机制都帮我们释放了内存了吗?但是在写程序的过程中却也往往因为不懂内存管理而造成了一些不容易察觉 ...

  7. Java内存管理及对Java对象管理

    Java内存管理及对Java对象管理 1Java内存管理 1.1Java中的堆和栈 通常来说,人们会将Java内存氛围栈内存(Stack)和堆内存(Heap). 栈内存用来保存基本类型的变量和对象的引 ...

  8. 揭开Java内存管理的面纱

    前言 相对于C.C++这些高性能语言,Java有着让此类程序员羡慕的功能:内存自动管理.似乎这样,Java程序员不用再关心内存,也不用去了解相关知识.但结果真的是这样吗?特别对于我们这种Android ...

  9. java基础(一):谈谈java内存管理与垃圾回收机制

    看了很多java内存管理的文章或者博客,写的要么笼统,要么划分的不正确,且很多文章都千篇一律.例如部分地方将jvm笼统的分为堆.栈.程序计数器,这么分太过于笼统,无法清晰的阐述java的内存管理模型: ...

  10. Java内存管理的进一步理解-模拟过程图解

    Java内存管理的进一步理解-模拟过程图解--转载 java的内存管理分为: 1.堆内存:2.栈内存:3.方法区:4.本地方法区 /* 1:方法区      方法区存放装载的类数据信息包括:      ...

随机推荐

  1. Gray Code

    Gray Code The gray code is a binary numeral system where two successive values differ in only one bi ...

  2. div 指令

    div 指令 div 是除法指令,后面跟的是除数,被除数默认在 ax, 或者 dx.ax 组成的存储单元中. 除数可以有 8 位和 16 位两种,存储于一个 reg 或内存单元中,也就是说不可以 di ...

  3. FibonacciSequence

    import java.util.Scanner; public class Fibonacci { public static void main(String[] args) { int n; f ...

  4. CRC 冗余校验计算

    (1)设G(x)为r阶,则在信息位末尾加r个0形成新信息 r=原信息位数 - 1

  5. http协议性能相关的技术要点

    1.http协议介绍 HTTP是一种请求/响应式的协议,基于TCP协议来进行数据传输. HTTPS是HTTP协议和安全套借口层(SSL)的结合,即安全增强版的HTTP. HTTP请求由三部分组成:请求 ...

  6. 解决 IE 6/7 中console对象兼容性问题

    话不多说,直接上代码 (function (){ //创建空console对象,避免JS报错 if(!window.console) window.console = {}; var console ...

  7. Android中Handler 、Thread和Runnable之间的关系

    在多线程编程的时候,我们经常会用到Handler,Thread和Runnable这三个类,我们来看看这三个类之间是怎么样的关系? 首先说明Android的CPU分配的最小单元是线程,Handler一般 ...

  8. 版本控制--github相关

    安装 Git 后,你应该做一些只需做一次的事情:系统设置——这样的设置在每台电脑上只需做一次: $ git config --global user.name "Your Name" ...

  9. Bootstrap的安装

    在了解了HTML和CSS.JS之后,我咨询了之前做过这一块的学长,得知了Bootstrap的存在. Bootstrap (Web前端CSS框架) Bootstrap,来自 Twitter,是目前很受欢 ...

  10. HTML5中的 Canvas

    什么是Canvas? Canvas元素是HTML5的一部分,允许脚本语言动态渲染位图像.Canvas由一个可绘制地区HTML代码中的属性定义决定高度和宽度.JavaScript代码可以访问该地区,通过 ...