zoukankan      html  css  js  c++  java
  • Java类加载机制内存回收和分配

    Java内存机制
    Java内存分为若干个区域:程序计数器,Java虚拟机栈(存储临时变量表,操作数栈,动态链接,方法入口),对应着栈的出栈入栈过程,本地方法栈(调用本地方法),Java堆(内存最大的一块,所有线程共享的区域,在虚拟机启动时创建,此内存区的唯一目的是存放对象实例,包括数组,Java堆是垃圾管理器管理的的主要区域,分为新生代,老年代,永生代)、方法区(跟Java堆一样,也是所有线程共享的区域,用来加载类信息,常量、静态变量、及时编译的代码数据,也是垃圾搜集器同一管理)、运行时常量池(用于存放编译期生成的各种字面常量和符号引用,Java并不要求所有常量在编译期才产生,例如字符串);

    程序计数器、虚拟机栈、本地方法栈区域是随着线程而生而亡,不需要过多考虑内存回收。而Java堆和方法区确定算法:

    1、引用计数算法:python FlashPlayer、Squirrel:存在循环引用

    2. 可达性分析算法(GC roots)是否到达

    3. 垃圾搜集算法:标记清除算法,标记整理算法、复制算法

    虚拟机类加载机制

    Java类的加载、连接初始化、都是在程序运行期间完成的、可以增加灵活性、依赖运行期动态加载、和动态连接

  • 相关阅读:
    xpath的几个常用规则
    xpath定位不到原因浅析
    这一代人得学习
    scrapy之Request对象
    cookie字段属性解析
    selenium中get_cookies()和add_cookie()的用法
    python中生成器generator
    swagger demo code
    ctrip-apollo
    eclipse 快捷键使用日志
  • 原文地址:https://www.cnblogs.com/csxf/p/3608481.html
Copyright © 2011-2022 走看看