`
shixin42
  • 浏览: 55212 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java堆栈

    博客分类:
  • java
 
阅读更多
java的堆和栈都是用来在RAM中存放数据的地方,RAM - random access memory

java的栈(stack)一般都是用来存储原始数据类型的,因为这些类型的值大小和生命周期是可知的,栈的读取速度都比较快。栈的特点是任何字面值实际都只存一份,然后可以有不同的引用来指向它。

java的堆(heap)比栈要慢,是用来存取类对象的。

理解JVM的内存分配和GC主要应该了解JVM堆的数据结构和garbage collector类型。
以及如何评测我们的程序在GC上遇到了瓶颈和如何去解决。

JVM heap是分为三代的young, old, permanent
young中又划分为eden, survivor,space
不同生命周期的对象分别存放在不同的代中,每一次gc,minor gc或者major gc都会把garbage回收,并把存活的对象copy到下一个代中。

理解四种garbage collector, 每种collector的回收算法都不相同,适用于不同的场景。

请参考上一篇博客:
http://shixin42.iteye.com/blog/1680805

java官方文档:
http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#ergonomics
http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
分享到:
评论

相关推荐

    java堆栈信息dump文件

    java堆栈信息dump文件

    打印JAVA堆栈的方法

    在深入探讨打印Java堆栈的方法之前,我们先来理解一下什么是Java堆栈以及为何需要打印它。Java堆栈是Java虚拟机(JVM)的一部分,主要用于存储方法调用的局部变量、操作数栈、动态链接信息和返回地址等。当一个方法...

    java堆栈详解 PDF 下载

    本文将深入探讨Java堆栈的概念、工作原理以及它们在程序执行中的角色。 1. 堆(Heap) - 堆是Java内存模型中的主要部分,主要用于存储对象实例。所有的类实例和数组都在堆中分配内存。 - 堆内存是动态分配的,...

    Java堆栈内存分析笔记

    Java堆栈内存分析是Java编程中的重要概念,它关乎程序的性能优化和内存泄漏的预防。堆和栈是Java内存管理的两个主要区域,它们各自承担着不同的职责。本笔记将深入探讨这两个区域的工作原理以及如何进行有效的分析。...

    Java堆栈分析服务器

    Java堆栈分析是Java应用程序性能调优的重要环节,特别是在服务器环境中,当CPU资源占用过高或者出现内存泄露等问题时,分析Java堆栈能够帮助我们找出问题的根源。在本例中,我们将通过一系列步骤来理解如何进行Java...

    java 堆栈的演示程序

    Java堆栈是一个重要的内存区域,它是Java虚拟机(JVM)的一部分,主要负责管理方法的执行。在这个"java 堆栈的演示程序"中,我们可能会深入理解堆栈的工作原理以及它在运行jsp程序时的角色。源代码设计将帮助我们...

    java堆栈的区别 -- 详解

    ### Java堆栈的区别详解 #### 一、预备知识—程序的内存分配 程序在运行时,根据不同的数据类型和用途,会被分配到不同的内存区域。这些区域包括: 1. **栈区(Stack)**:这部分内存由编译器自动管理,主要用于...

    java堆栈详解.pdf

    Java 把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的 一些基本类型的变量和对象的引用变量都是在函数 的栈内存中分配。当在一段代码块中定义一个变量时,java 就在栈中 为这个变量分配内存空间...

    Java数组堆栈

    描述: 文章介绍了使用Java编程语言实现了基于数组的Java堆栈,并实现了一些基本的堆栈方法。 标签: Java 数组 堆栈 Java数组堆栈的实现 Java数组堆栈的实现是通过创建一个名为ArrayStack的类,该类提供了堆栈的...

    java堆栈的应用--中缀表达式转换成后缀表达式和计算

    Java堆栈在计算机科学中是一种数据结构,它遵循“后进先出”(LIFO)的原则,常用于处理需要逆序处理元素的问题。在本项目中,“java堆栈的应用--中缀表达式转换成后缀表达式和计算”具体涉及到了两个主要知识点:...

    react-Reactmaterialui拥有一个纯Java堆栈

    标题 "react-Reactmaterialui拥有一个纯Java堆栈" 提及了两个主要概念:React和Material-UI,以及它们在Java环境中的应用。React是Facebook开发的一个JavaScript库,用于构建用户界面,尤其适合构建单页应用程序。...

    java dump堆栈分析工具

    java dump 堆栈 dumpAnalyzer 分析,在日常工作中,经常会遇到,系统跑着跑着就会出现性能问题,CPU居高不下。这个时候我们就需要对系统的堆栈信息进行分析。这里就介绍如何使用IBM内存检测工具(dumpAnalyzer)。

    用 Java 实现堆栈

    Java作为一种广泛使用的编程语言,提供了多种方式来实现堆栈,包括使用数组、链表以及内置的java.util.Stack类。下面我们将详细讨论如何在Java中实现堆栈,并探讨其相关知识。 首先,我们可以通过自定义一个类来...

    java的堆栈,很详细的资料

    "Java 堆栈详细资料" Java 堆栈是 Java 中的一种基本数据结构,它是 JVM(Java Virtual Machine)为每个新创建的线程分配的。堆栈以帧为单位保存线程的状态,JVM 对堆栈只进行两种操作:以帧为单位的压栈和出栈操作...

    java线程堆栈分析工具jca457.jar

    java线程堆栈分析工具jca466.jar;堆内存分析工具Memory Analyzer;分析内存泄露产生的javacore文件,以便于定位blocked线程

    堆栈实现的java计算器

    本项目“堆栈实现的Java计算器”是数据结构课程设计的一个实例,旨在利用堆栈来实现一个能够处理基本算术运算的计算器。通过这个项目,我们可以学习到如何将理论知识应用到实际编程中,特别是如何使用堆栈解决计算...

    JAVA 堆栈内存分析

    如何调优JVM - 优化Java 虚拟机(大全+ 实例) 堆设置 -Xmx3550m :设置JVM 最大堆内存为3550M 。 -Xms3550m :设置JVM 初始堆内存为3550M。此值可以设置与-Xmx 相同,以避免每次垃 圾回收完成后JVM 重新分配内存。 ...

    java堆栈类使用实例(java中stack的使用方法)

    在Java编程语言中,Stack是一个内置的类,它位于java.util包下,专门用于实现堆栈数据结构。堆栈遵循“后进先出”(LIFO,Last In First Out)的原则,即最后压入栈的元素最先被弹出。这个类是Vector类的子类,因此...

    java 堆栈计算器

    堆栈实现的java 计算器 + - * / % ()

Global site tag (gtag.js) - Google Analytics