`
tedeyang
  • 浏览: 326060 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jvm线程的stack

    博客分类:
  • JAVA
阅读更多

今天知道了一个线程创建时会给stack分配1M内存(而且是jvm之外的native内存,看Thread的源码,都是native调用),据说jdk1.4时代这个值是256k。

很恐怖的数据,呵呵,这个可以用jvm参数 -Xss1024来调节。

推算一下,这个stack设大了可能会造成OOM,设小了会使线程溢出。

 

另外,顺手记一下GC的四种模式,单线程,多线程并发,多线程低停顿,多线程递增低停顿。

当然还有更多,参考http://www.oracle.com/technetwork/java/faq-140837.html

 

想起来2年多前有台weblogic的GC很疯狂,束手无策。呵呵,现在总算比以前懂得多了点了。

 

[2010-10-24]有以下要点是JVM性能调优的核心立足点:

 

内存分布 YoungGen OldGen Perm survivor,newRatio,

-XX各项参数

GC策略 引用计数器,跟踪收集,标记清除,标记整理,

4种引用类型,强,软,弱,幻

Stack Dump

1
0
分享到:
评论
1 楼 406657836 2013-06-18  
今天知道了一个线程创建时会给stack分配1M内存?一个线程默认是暂用512k的虚拟机栈吧,应该是算到jvm进程中的内存吧?

相关推荐

    JVM Thread Stack线程栈分析

    JVM Thread Stack线程栈分析

    vmmap 观察jvm内存 监控jvm jvm线程

    本文将详细讲解如何利用`vmmap`监控JVM,理解其核心概念,以及分析JVM线程。 首先,`vmmap`是Apple提供的命令行工具,用于显示进程的虚拟内存映射。通过这个工具,我们可以查看JVM进程中的堆、栈、元空间、代码缓存...

    JVM+多线程.pdf

    每当方法执行时,JVM就会在栈中创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。 - **方法区(Method Area)**:用于存储已被虚拟机加载的类信息、常量、静态变量等数据。...

    JVM堆栈性能分析

    Thread Dump 是非常有用 Java应用问题的工具。每一个 Java 虚拟机 都有及时生成所有线程在某...照,及JVM 中所有 Java线程的堆栈跟踪信息,堆栈信息一般包含完整的类名 及所执行的方法,如果可能的话还有源代码的行数。

    jvm支持最大线程数简单测试

    jvm支持的最大线程数是受多种因素影响的,包括java堆内存大小、Thread的Stack内存大小、系统最大可创建的线程数量等。通过调整这些参数,可以影响jvm支持的最大线程数。 2. 影响jvm支持最大线程数的因素 影响jvm...

    Java八股文之JVM与多线程

    JVM内存模型主要包括以下几个区域:堆内存(Heap)、栈内存(Stack)、方法区(Method Area)、程序计数器(PC Register)和本地方法栈(Native Method Stack)。堆内存是所有线程共享的区域,用于存储对象实例。栈...

    java进阶提高学习教程-13JVM与多线程.pptx

    - **JAVA内存结构**:JVM内存主要分为堆内存(Heap)、栈内存(Stack)、方法区(Method Area)、本地方法栈(Native Method Stack)和程序计数器(PC Register)。其中,堆内存存储对象实例,栈内存存储基本类型和...

    Java面试JVM+多线程重点突破.zip

    Java面试中的JVM(Java虚拟机)和多线程是两个关键的知识领域,对于求职者来说,掌握这两点能够显著提升面试成功率。JVM是Java程序的运行平台,它负责解释执行字节码,实现跨平台运行。多线程则是Java编程中实现并发...

    JVM面试题、多线程面试题

    1. **JVM内存模型**:理解堆内存(Heap)、栈内存(Stack)、方法区(Method Area)、本地方法栈(Native Method Stack)以及程序计数器(PC Register)的作用。 2. **类加载机制**:了解加载(Loading)、验证...

    深入理解jvm虚拟机

    JVM在执行多线程时,通过线程调度器对线程进行调度。同时提供了synchronized关键字和java.util.concurrent包来实现线程之间的同步和协作。 为了深入学习和理解JVM的原理,可以参考诸如《深入理解Java虚拟机》这样的...

    jvm 内存分析文档

    - **JVM栈(JVM Stack)**:线程私有,每个线程创建时都会创建对应的JVM栈。栈中存储局部变量(包括基本类型和对象引用)、方法参数、Stack Frame。当变量超出作用域,JVM会自动释放栈内存。栈内存分配快速,但大小...

    多线程、JVM复习及面试100题

    JVM内存主要分为堆内存(Heap)、栈内存(Stack)、方法区(Method Area)、本地方法栈(Native Method Stack)和程序计数器(PC Register)。了解这些区域的作用以及它们之间的关系对于理解JVM工作原理非常关键。...

    jvm的基础知识总结

    JVM的基础知识涵盖了其内存模型、垃圾回收机制、线程模型等多个方面,下面将详细总结这些基础知识。 ### JVM内存模型 JVM内存模型主要可以分为线程共享区域和线程私有区域。 **线程共享区域** 1. 堆(Heap):...

    JVM Diagnostics Guide 1.4.2

    2. **内存模型**:详细讲解JVM内存结构,如堆内存(Heap)、栈内存(Stack)、方法区(Method Area)、本地方法栈(Native Method Stack)和程序计数器(PC Register)等,以及它们各自的作用和相互关系。...

    2023最新JVM+多线程面试真题

    - **Stack Overflow Error**:栈溢出,通常由递归深度过大或线程栈大小(Xss)设置过小引起。 - **PermGen Space**(仅在JDK 1.7及更早版本):持久代空间不足,可能因大量类、常量或动态加载导致。 - **Direct ...

    gp-jvm-visualvm

    Java虚拟机(JVM)是Java程序运行的核心,它负责解析字节码、管理内存、执行线程以及优化代码。当我们谈论“gp-jvm-visualvm”时,我们是在讨论一个用于深入理解和分析JVM行为的工具集。这个压缩包文件包含了对JVM...

    狂神说JVM探究.rar

    - JVM如何处理运行时异常,如栈展开(Stack Unwinding)过程。 这些知识点覆盖了JVM的基础到进阶内容,适合初学者和有一定经验的开发者深入理解Java运行机制。通过学习这份资料,读者可以系统地掌握JVM的工作原理...

Global site tag (gtag.js) - Google Analytics