zoukankan      html  css  js  c++  java
  • 内存机制

    1.不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址。

    2.Java中对象是采用new或者反射的方法创建的

    3.GC为了能够正确释放对象,会监控每个对象的运行状况,对他们的申请、引用、被引用、赋值等状况进行监控。

    赋值,内存是可以赋值的,对应于object.setValue("1")

    4.Java会使用有向图的方法进行管理内存,实时监控对象是否可以达到,如果不可到达,则就将其回收

    5.像HashMap、Vector等的使用最容易出现内存泄露,这些静态变量的生命周期和应用程序一致,他们所引用的所有的对象Object也不能被释放,因为他们也将一直被Vector等引用着。

    6.Java中的内存泄露当然是指:存在无用但是垃圾回收器无法回收的对象。垃圾回收器无法回收,垃圾回收器无法回收。

    垃圾回收器无法回收,垃圾回收器无法回收。

    7.方法区内存溢出(outOfMemoryError:permgem space)

           在jvm规范中,方法区主要存放的是类信息、常量、静态变量等。
           所以如果程序加载的类过多,或者使用反射、gclib等这种动态代理生成类的技术,就可能导致该区发生内存溢出,一般该区发生内存溢出时的错误信息为:

    1
    outOfMemoryError:permgem space
  • 相关阅读:
    IDEA 翻译插件网络错误
    win10 商店无法访问网络
    java 将中缀表达式转换成后缀表达式(逆波兰表达式)
    队列(Queue)
    单向链表
    Linux学习笔记2--------用户和组
    Linux学习笔记1-----------打包压缩,Vim
    如何修改主机名
    Linux的rpm软件包和yum软件包和wget
    Fiddler抓取电脑,手机https数据
  • 原文地址:https://www.cnblogs.com/panxuejun/p/5883264.html
Copyright © 2011-2022 走看看