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 关闭页面事件
主页面调用:<script src="<%=ResolveUrl("../JS/QuitJS.js") %>" type="text ...
- text-shadow文字阴影属性用法
text-shadow:offset-x:阴影水平移动,负值时向左偏移 text-shadow:offset-y:阴影垂直移动,负值时向上移动 text-shadow:radio-bluer:阴影到实 ...
- Lnux 16.04 VM下安装与汉化
参考linux-公社: http://www.linuxidc.com/Linux/2016-04/130520.htm U盘安装linux16.04 http://www.linuxidc.com ...
- RedHat Enterprise Linux 7关闭防火墙方法
systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起 在之前的版本中关闭防火墙等服务的命令是 service iptables stop ...
- React Native填坑之旅--Navigation篇
React Native的导航有两种,一种是iOS和Android通用的叫做Navigator,一种是支持iOS的叫做NavigatorIOS.我们这里只讨论通用的Navigator.会了Naviga ...
- 《转》python线程池
线程池的概念是什么? 在IBM文档库中这样的一段描写:“在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源.在Java中更是 如此,虚拟机将试图跟踪每一个对象 ...
- Last non-zero Digit in N!(阶乘最后非0位)
Last non-zero Digit in N! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Jav ...
- iOS进阶_动画的多种实现方式
一.UIView动画 //UIView动画有开始beginAnimation,有结束commitAnimation //第一步:开始UIView动画 [UIView beginAnimat ...
- H264与RTP
http://blog.163.com/laorenyuhai126@126/blog/static/1935077920111218152989/
- ubuntu安装octave的小坑
出现了以下情况: After this operation, 163 MB of additional disk space will be used.Do you want to continue? ...