java内存管理总结
编译好的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内存管理总结的更多相关文章
- Java 内存管理
java 内存管理机制 JAVA 内存管理总结 java 是如何管理内存的 Java 的内存管理就是对象的分配和释放问题.(两部分) 分配 :内存的分配是由程序完成的,程序员需要通过关键字 new 为 ...
- 简单的例子 关于Java内存管理的讲解
我想做的是,逐行读取文件,然后用该行的电影名去获取电影信息.因为源文件较大,readlines()不能完全读取所有电影名,所以我们逐行读取. 就这段代码,我想要在位置二处使用base64,然后结果呢? ...
- java内存管理机制
JAVA 内存管理总结 1. java是如何管理内存的 Java的内存管理就是对象的分配和释放问题.(两部分) 分配 :内存的分配是由程序完成的,程序员需要通过关键字new 为每个对象申请内存空间 ( ...
- Java内存管理的9个小技巧
Java内存管理的9个小技巧很多人都说“Java完了,只等着衰亡吧!”,为什么呢?最简单的的例子就是Java做的系统时非常占内存!一听到这样的话,一定会有不少人站出来为Java辩护,并举出一堆的性能测 ...
- 关于Java内存管理的几个小技巧
这里将介绍几则Java内存管理的小技巧,让你让你从Java入门开始告别陋习,为Java程序提速.有不少人都说"Java完了,只等着衰亡吧!",为什么呢?最简单的的例子就是Java做 ...
- java内存管理(堆、栈、方法区)
java内存管理 简介 首先我们要了解我们为什么要学习java虚拟机的内存管理,不是java的gc垃圾回收机制都帮我们释放了内存了吗?但是在写程序的过程中却也往往因为不懂内存管理而造成了一些不容易察觉 ...
- Java内存管理及对Java对象管理
Java内存管理及对Java对象管理 1Java内存管理 1.1Java中的堆和栈 通常来说,人们会将Java内存氛围栈内存(Stack)和堆内存(Heap). 栈内存用来保存基本类型的变量和对象的引 ...
- 揭开Java内存管理的面纱
前言 相对于C.C++这些高性能语言,Java有着让此类程序员羡慕的功能:内存自动管理.似乎这样,Java程序员不用再关心内存,也不用去了解相关知识.但结果真的是这样吗?特别对于我们这种Android ...
- java基础(一):谈谈java内存管理与垃圾回收机制
看了很多java内存管理的文章或者博客,写的要么笼统,要么划分的不正确,且很多文章都千篇一律.例如部分地方将jvm笼统的分为堆.栈.程序计数器,这么分太过于笼统,无法清晰的阐述java的内存管理模型: ...
- Java内存管理的进一步理解-模拟过程图解
Java内存管理的进一步理解-模拟过程图解--转载 java的内存管理分为: 1.堆内存:2.栈内存:3.方法区:4.本地方法区 /* 1:方法区 方法区存放装载的类数据信息包括: ...
随机推荐
- JS各种算法小例子
<!DOCTYPE html><html><head> <title>js</title> <meta charset=& ...
- rbx1 package 下载安装过程
学习INSTALLING THE ROS-BY-EXAMPLE CODE,是书中第五章的内容,如果我们按照上一篇教程执行过了,就可以直接进入第五章,安装一个叫rbx1的包.这个包里面包括了本书中用到的 ...
- 易学PHP——PHP基础知识
PHP 语言标记 因为 PHP 是兼容当时的主流语言,所以 PHP 有四种标记方式: <?php PHP 代码 ?>.这是 PHP 最为正宗的语言标记,称为标准风格标记.XML 风格标记等 ...
- ftp 服务器搭建和添加用户和目录
安装: yum install -y vsftpd 修改配置: vsftpd.conf 修改:anonymous_enable=YES 改为:anonymous_enable=NO 启动/停止/重启 ...
- 【Thinking in Java】Java Callable的使用
Callable<>和Runable类似,都是用于Java的并发执行. 唯一的区别是,Runable的run方法的返回是void,而Callable的call方法是有返回值的. call方 ...
- Build Android Webrtc Libjingle Library On Ubuntu
Our team is developing an app to help people solve problem face to face. We choose webrtc protocol a ...
- 文本框如果不输入任何内容提交过后是一个空字符串还是null
1.在表单不填就提交的情况下,text类型和textarea类型的表单域,提交到服务端为空 2.checkbox.readio.select等表单域在为不填情况下不会提交到服务器,也就是说服务器接收不 ...
- 创建Xml文件与修改Xml文件
/// <summary> /// 修改节点 /// </summary> /// <param name="user">UserSafe 实体 ...
- [Leetcode][JAVA] Binary Tree Level Order Traversal
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...
- ios申请真机调试( xcode 5)详细解析
已经有开发证书的直接跳过第一步 第一步:申请"开发证书" 进入苹果开发者99美元账号: 选择:Certificates, Identifiers & Profiles 关于 ...