`
deepfuture
  • 浏览: 4400310 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80073
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70040
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103345
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:285781
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15011
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67553
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32147
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45986
社区版块
存档分类
最新评论

NET中EE垃圾回收原理

阅读更多

1、EE是执行引擎,EE拥有对象主要是两种途径:

1)NEW方式
2)静态变量
2、对象可能拥有其它对象,这是树图的开始,CLR以树图为基础进行搜索,记录对象的引用。程序拥有的所有静态变量或者栈上的所有变量为最初的树集。
3、垃圾收集模块决定要开始收集时,调用EE,请求停止所有线程,从而可以检查线程堆栈。
1)EE办理后,栈冻结,垃圾收集器通知EE开始遍历所有的栈和静态变量,然后返回最初的树集。EE中有个遍历模块负责这件事。
2)然后,CLR每次用一个树调用垃圾收集器模块。垃圾收集器收到树后,将遍历生成的静态数据,这些数据告诉我们对象实例的哪个偏移量对应着对其他对象的引用。
3)挨个检查所有的引用位置,对每个位置进行递归检查。当退出递归过程时,树图中由这个根出发能够到达的树都被检查过了,这个根能到达的所有地方都被标记了。
4、具体的工作代码不用递归编写,而是用检查栈的方式。栈空意味着这个根能到达的所有对象均已经到达。
5、检查完并标记完程序能到达的每个对象后,我们能一个个对象地检查内存,如果没有被标记,则是垃圾,特定时候,决定垃圾是否被压缩。
6、完全的垃圾收集操作,我们检查所有的根能到达的所有对象,有办法只收集最近分配的对象,称为第0代收集,同时找到一个办法,保证较老的对象引用了这些新对象可以被我们知道,这些特殊的引用位置有办法很快找到,不用遍历查找所有对象
分享到:
评论

相关推荐

    Java的垃圾回收机制实例分析

    一、垃圾回收机制的原理 当程序创建对象、数组等引用类型实体时,系统都会在堆内存中为之分配一块内存区,对象就保存在这块内存区中。当这块内存不再被任何引用变量引用时,这块内存就变成了垃圾,等待垃圾回收机制...

    【中文】JEE性能问题解决,PRO JAVA EE 5 Performance Management and Optimization

    本文主要关注的是内存溢出错误,这是Java应用中最常见的问题之一,可能导致应用服务器崩溃、性能下降或无尽的垃圾回收循环。 内存溢出错误(OutOfMemoryError)通常是由于内存泄漏导致的。当程序试图创建新对象,但...

    JAVA_EE架构师_需要具备的知识

    - 掌握垃圾回收机制。 **20. 安全性** - 学习Java安全模型,包括类加载、字节码验证等。 - 掌握不同的安全/认证API,如JAAS、JCE等。 **21. Web服务器管理** - 掌握Tomcat、Resin等Web服务器的配置与管理。 -...

    Java+EE技术面试题

    - **垃圾回收(GC)**:理解内存模型,知道如何分析和调优垃圾回收。 - **JVM**:理解类加载机制,堆内存结构,方法区等。 - **反射**:掌握Class类的使用,动态创建对象,修改私有属性等。 - **设计模式**:如...

    JAVA基础资料

    总的来说,Java基础涵盖了语言语法、面向对象概念、异常处理、IO流、集合框架、多线程、网络编程等多个方面,学习Java不仅需要理解语言特性,还要熟悉JVM的工作原理和垃圾回收机制,以及如何利用IDE或命令行工具进行...

    Weblogic技术原理介绍.pptx

    了解JVM的内存配置、垃圾回收策略等,能有效优化服务器性能。 WebLogic Console 是管理域的图形用户界面,管理员可以通过它来监控和管理服务器状态,部署应用,配置安全设置,调整服务器参数等。掌握其使用方法对于...

    java及java EE面试大全

    - Java语言特性,如封装、继承、多态、异常处理、垃圾回收机制等。 - **Java内存模型**:包括堆、栈、方法区、本地方法栈和程序计数器等。 - **集合框架**:List、Set、Map接口及其实现类的理解和使用,如...

    JAVA EE架构师 需要具备的知识.doc

    9. **安全与认证**:了解JVM的工作原理,包括类加载器、反射和垃圾回收。掌握安全模型,如JAAS、JCE、JSSE和JGSS,以及数字签名和加密技术。 10. **Web服务器和应用服务器**:熟悉如何配置和管理Web服务器(如...

    第04章 大促高并发系统下JVM如何调优指导03.pdf

    - `-XX:ParallelGCThreads`:设置并行垃圾回收线程数,优化垃圾回收性能。 在进行调优时,应结合实际情况,如硬件资源、业务负载和预期并发量,逐步调整这些参数,通过压力测试来验证优化效果。同时,监控JVM的运行...

    java程序员面试宝典+java EE面试题

    - **垃圾回收(GC)**:理解Java如何自动管理内存,包括GC的工作原理、GC策略和GC日志分析。 - **堆和栈内存**:理解对象在堆中的存储以及局部变量在栈中的分配。 3. **集合框架**: - **List、Set、Queue和Map...

    Java_EE软件工程师就业求职手册

    - **构造函数与生命周期管理**:讲解构造函数的作用、执行过程,以及super和this关键字的正确使用,同时探讨对象的生命周期和垃圾回收机制。 #### 多线程与并发控制 - **多线程机制**:解释Java中多线程的基本概念...

    Java知识表格,java ee,java web

    - **垃圾回收机制**:介绍JAVA自动管理内存的机制。 ##### 7. 面向对象基础(02) - **封装性**:探讨类如何隐藏其内部细节,并提供公共接口来与外界交互。 - **构造方法**:构造方法的定义、使用场景,以及如何...

    深入Java Web心脏:Servlet工作原理全解析

    - **垃圾回收**:Servlet实例最终被垃圾回收器回收。 ##### 2. 创建Servlet 创建Servlet有两种常见方式:实现`javax.servlet.Servlet`接口或者继承`javax.servlet.http.HttpServlet`类。下面是一个简单的示例,...

    记一次 .NET 某物管后台服务 卡死分析.doc

    .NET 后台服务卡死分析通常涉及到多个方面,如垃圾回收(Garbage Collection, GC)、线程同步、系统调用...解决这个问题需要对代码进行仔细审查,优化锁的使用,并可能需要调整GC策略以避免在关键操作中触发垃圾回收。

    java 编程思想 第五版 word版

    13. **垃圾回收机制**:Java的自动内存管理是通过垃圾回收实现的,书中会讲解垃圾回收的工作原理和性能优化策略。 以上只是《Java编程思想》第五版可能涵盖的部分知识点,实际内容会更为丰富,包括设计模式、并发...

    JAVA_EE架构师_需要具备的知识.docx

    2. **JVM机制**:理解JVM的工作原理,包括类加载器、类反射、垃圾回收等。 3. **安全机制**:掌握Java沙盒安全模型、代码签名、数字签名、加密等技术。 4. **数据库交互**:理解对象关系映射(O/R Mapping)的概念及其...

    JavaSE面试题及其参考答案.doc

    垃圾回收机制的原理是: 1. 标记垃圾对象 2. 回收垃圾对象 JavaSE 是 Java 语言的核心部分,包括了基本语法、数据类型、运算符、流程控制、数组、面向对象等知识点。JavaSE 是 Java 语言的基础,理解 JavaSE 是...

    java总结java总结java总结

    - **垃圾回收机制**:Java自带了自动垃圾回收功能,能够自动释放不再使用的内存空间,简化了程序员的工作。 ### Java 的版本 - **Java SE (J2SE)**:即标准版,是用于开发桌面应用程序的标准平台。 - **Java EE ...

Global site tag (gtag.js) - Google Analytics