文档章节

Java 程序执行内存分析

涂涂tutu
 涂涂tutu
发布于 2017/07/25 10:36
字数 353
阅读 14
收藏 0

工作两年了很少看源码,最近开始研究Java底层源码,深入了解Java,所以就把自己了解的共享出来,欢迎大家指正,接受批评。

  Java代码运行时,内存分为两块:栈和堆:

  ”栈“存放局部变量,自动分配连续空间,后进先出。

      ”堆“存放new出来的对象(对象属性),而”堆“分配的空间是不连续的。

     ”堆“里面又开辟出来一块空间为”方法区(也是堆)“,方法区存放类的代码信息,静态变量,常量池。  看图:

栈里面存放的是new出来对象的名字(p,p2),两个名字保存的是对象在堆里面具体存放的地址,每new出来一个对象在堆里面都会为对像创造一个模板(id,name,age,hello),对象的属性保存的是方法区里面代码,常量池,静态变量的地址,方法区里面保存的是整个类的具体信息,同一个对象不管new出来多少,方法区里面的对象具体信息只有一个,每new出来一个对象都会在方法区寻找对象具体信息是否已经存在,如果存在直接调用,没存在就生成.

新手第一次发布,请指正。

© 著作权归作者所有

共有 人打赏支持
涂涂tutu
粉丝 0
博文 8
码字总数 2060
作品 0
程序员
常用Java性能测试工具的分析与对比

虽然市场上的 Java Profiler 工具有不少,但是基本功能大多相似,本节首先对这些基本功能进行介绍。 遥测(Telemetry):遥测是一种用来查看应用程序运行行为的最简单的方法。通常会有多个视...

lanmeimei
2014/03/18
0
0
Java执行Runtime.exec(shell)报Cannot allocate memory

在Linux下用java的Runtime.getRuntime().exec(cmd)方式,执行shell脚本时,遇到“Cannot allocate memory”的错误。 网上查询资料整理如下: Cannot allocate memory 在Linux上调试一个比较复...

山哥
2014/06/05
0
0
java虚拟机中常见名词概念-深入理解jvm

一:java虚拟机的体系结构图: jvm :中文名称叫Java虚拟机,它是由软件技术模拟出计算机运行的一个虚拟的计算机。我们都知道Java的程序需要经过编译后,产生.Class文件,JVM才能识别并运行它...

Swen_9826
08/08
0
0
成为Java GC专家(5)—Java性能调优原则

这是“成为Java GC专家”系列的第五篇文章。在第一篇深入浅出Java垃圾回收机制中,我们已经学习了不同的GC算法流程、GC的工作原理、新生代(Young Generation)和老年代(Old Generation)的...

stefanzhlg
2014/12/05
0
1
java内存分配和String类型的深度解析

一、引题 在java语言的所有数据类型中,String类型是比较特殊的一种类型,同时也是面试的时候经常被问到的一个知识点,本文结合java内存分配深度分析关于String的许多令人迷惑的问题。下面是...

萧十一郎君
2013/10/19
0
30

没有更多内容

加载失败,请刷新页面

加载更多

下一页

qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0
20180818 上课截图

小丑鱼00
今天
1
0
Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x 先上一张图: 图1 SecurityContextHolderStrategy的三个......

汉斯-冯-拉特
今天
1
0
LNMP架构(Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl)

Nginx负载均衡 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时...

蛋黄_Yolks
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部