http://blog.csdn.net/chensheng913/relatedarticles/78313.aspx 计算java对象暂用的内存的代码
http://tieba.baidu.com/f?kz=613503399 java内存的思考与总结
http://blog.csdn.net/copyright/archive/2003/05/22/15966.aspx 你知道数据大小吗?
http://hi.baidu.com/jb%5F0111/blog/item/ebb10795a71fdd0c7af48045.html java内存的思考与总结等相关文章
http://blog.csdn.net/hemingwang0902/archive/2009/04/08/4054549.aspx java获得CPU使用率,系统内存,虚拟机内存等情况(不用JNI)
关于内存的总结:是一个同事提出的问题,java如何计算内存呢?我开始没有去想. 结果自己想起来还很复杂. http://blog.csdn.net/copyright/archive/2003/05/22/15966.aspx 经过以下文章,再加上我自己的验证,对java的内存有以下了解: java给类分配空间都是以object类为基础的.而object类占8个byte. 所有类中的变量都是以引用来计算大小的,不管是什么类型,只占4个byte. 如果自己写一个类 class A { } 该类中如果没有定义变量的话,不分配给A对象空间.还是只分配object的空间.所以该对象所占空间大小为8byte. class A { int a ; } Int类型为4个字节,但是在堆中分配空间最小为8byte,所以A a = new A() 后,a对象所占空间大小为16字节. 所以如果继承类中没有引用对象和变量,最多都是8byte.如果有变量的或者引用的话,在堆内存中只分配变量引用的空间,把各个类变量引用的空间加起来.而类引用占4个字节,类占8个字节. class A { int a ; } class B extends A { int a ; } A a = new B(); a对象的大小为 16byte . object的空间 8byte+int a *2 * 4 的大小 = 16 class C { } Class D{ C c = new C(); } D d = new D(); d对象的大小为 16byte . object的空间 8byte+C c+ new C()的大小 = 24 对象的大小另算只要对象中没变量,则只计算object.,引用的大小一律都是4byte.
发表评论
-
JFreechart 学习笔记 二
2009-07-20 13:55 1287比较难懂的英文词 domain axis : 域轴 ran ... -
JFreechart 学习笔记 一
2009-07-20 13:53 23941.挑选图表工具 常用的 ... -
Struts中ActionError学习
2009-05-16 09:09 895http://hi.baidu.com/mapleelf/bl ... -
spring学习笔记(十六)-声明式事务的例子
2009-03-27 14:47 1333事务的传播特性1.声明 ... -
spring学习笔记(十五)-编程式事务例子
2009-03-27 14:45 1242声明式事务 编程式事务调试日志,还有记录日志 自己手动写事务 ... -
spring学习笔记(十四)
2009-03-26 01:17 750如果不实现接口,必须使用cglib库的支持才行. spr ... -
spring学习笔记(十三)
2009-03-26 01:14 814如果目标对象实现了接口,默认情况下采用jdk动态代理机制实现a ... -
spring学习笔记(十二)
2009-03-26 01:06 750spring 对AOP的支持 从JoinPoint得到相关 ... -
spring学习笔记(十一)
2009-03-26 00:58 744spring对AOP的支持 采用在配置文件中配置的形式 ... -
spring学习笔记(十)
2009-03-26 00:53 637spring对AOP的支持 spring采用对AOP的支持 ... -
spring学习笔记(九)
2009-03-25 01:14 642http://www.shineblog.com/user5/ ... -
spring学习笔记(八)
2009-03-25 01:06 787轻量级最显著的特点:没有侵入性 控制反转: 用spring来 ... -
spring学习笔记(七)
2009-03-25 01:00 780今天学习了为什么要使用代理类,和静态代理类. pac ... -
spring学习笔记(六)
2009-03-24 11:57 697spring 自动装配 可以简化配置熟 两种都在beans标 ... -
spring学习笔记(五)
2009-03-24 10:52 659beans标签的属性 可以设置是配置文件初始化的时候是全部初始 ... -
spring学习笔记(四)
2009-03-24 10:12 640学习简化Spring的配置文件,对于多个有相同属性的对象,抽象 ... -
spring学习笔记(三)
2009-03-24 08:31 844spring 讲对象的创建和依赖关系交给spring(IOC容 ... -
spring学习笔记(3.20)
2009-03-22 01:58 776用Spring来代替自己创建 ... -
spring学习笔记(3.20)
2009-03-22 01:43 759通过自己写例子理解工厂模式 测试工厂类,了解AOP,IOC机制 ...
相关推荐
主要关于java虚拟机的运行时数据区域,参考了周志明的深入理解java虚拟机,还涉及到了native方法、垃圾回收机制等等。
本篇文章将详细探讨jProfiler7在Java内存分析上的核心功能、使用方法以及在Linux环境中的配置和应用。 1. **内存分析概述** - 内存分析是识别和解决Java应用程序中的内存泄漏、过度对象创建和内存消耗过高问题的...
在这个“Java高手关于Java的文章合集”中,我们可以期待深入探讨Java和J2EE的相关技术、最佳实践以及实用技巧。 1. **Java基础知识**:文章可能涵盖Java语法基础,包括变量、数据类型、控制流、类与对象、继承、...
在《关于static的小结(Java内存溢出)》这篇文章中,作者主要探讨了与Java中的`static`关键字相关的知识点,以及如何可能导致内存溢出的情况。下面我们将深入分析这些内容。 #### Java中的`static`关键字 `static...
首先,我们要理解Java内存模型的基础。Java内存主要分为堆内存(Heap)和栈内存(Stack)。堆内存用于存储对象实例,而栈内存则用于存储方法调用时的局部变量和方法参数。除此之外,还有方法区(Method Area)、程序...
Java内存分配与垃圾回收是Java程序性能优化的关键领域。在Java平台上,程序的运行主要依赖于JVM(Java虚拟机),而JVM的核心组件之一就是内存管理。本篇将深入探讨Java内存分配策略以及垃圾回收机制,以帮助你更好地...
根据Java内存模型,我们可以得到如下计算公式来估算字符串的内存占用情况: \[ \text{字符串内存占用} = \text{String类头大小} + \text{字符数组占用空间} \] 其中,String类头大小固定为24字节。而字符数组占用...
本篇文章将详细解析三种常见的Java内存溢出类型:JVM PermGen space溢出、JVM heap space溢出以及Native Heap溢出,并提供相应的解决方案。 1. **JVM PermGen space溢出** - ** PermGen space** 是JVM内存模型中的...
Java技术文章集锦是一个丰富的资源库,包含了大量关于Java编程的知识点,对于正在学习或已经从事Java开发的人员来说,这是一个宝贵的参考资料。这个压缩包文件中的每一篇文章都可能涵盖了一个或多个Java技术主题,让...
Java内存泄露是一个重要的主题,它关乎程序的性能和稳定性。内存泄露是指程序中已经不再使用的对象,由于某些原因无法被垃圾收集器(Garbage Collector)回收,从而导致系统内存持续占用,随着时间推移可能导致系统...
5. **垃圾回收(GC)**:Java自动管理内存,通过垃圾回收机制回收不再使用的对象,避免内存泄露。 6. **Java虚拟机(JVM)**:JVM是Java平台的核心,负责解释和执行字节码,实现跨平台运行。JVM有多个版本,如...
本篇文章将深入探讨Java内存分配中的“最先适应法”、“最佳适应法”和“最坏适应法”,这些都是内存管理中的经典算法,适用于不同的场景和需求。 首先,我们来看“最先适应法”(First Fit)。这是一种简单的内存...
本篇文章将深入探讨Java对象在JVM内存中的布局,帮助我们理解JVM是如何存储和管理对象的。 首先,我们要知道JVM内存主要分为以下几个区域: 1. **堆内存(Heap)**:这是Java对象的主要存储区域,所有通过`new`...
- **语法特性**:Java是一种面向对象的编程语言,具有静态类型系统和自动内存管理。它的语法简洁且易于理解,同时支持封装、继承和多态等面向对象概念。 - **JVM(Java虚拟机)**:Java程序通过JVM运行,JVM负责...
这个名为“Java学习材料大全(499篇文章)”的压缩包显然包含了大量关于Java学习的资源,可能是教程、实战项目、技术文章、问题解答等多种形式。499篇文章的数量表明这是一个全面且深入的学习资料集合,覆盖了初学者到...
本篇文章将基于“经典之谈——Java内存分配”这一主题,结合“详谈Java的内存分配.pdf”文档,深入讲解Java内存的各个方面。 首先,Java内存分为几个主要区域,分别是:程序计数器(Program Counter Register)、...
本文旨在深入探讨Java内存管理的各个方面,特别是针对HotSpot虚拟机的内存管理策略和机制。 首先,Java虚拟机内存管理机制的核心是垃圾收集(Garbage Collection, GC),它能够自动识别不再被引用的对象,并释放...
根据给定文件的信息,我们可以提炼出六个主要的知识点,这些知识点对于Java初学者来说非常重要。 ### 一、学好框架 在Java开发中,框架(framework)是非常重要的组成部分,它可以帮助开发者快速构建应用程序,...