• java中内存的使用



    一个java运行起来执行代码,主要的内存消耗有这几块:

    1、堆

    2、栈 :栈是每个线程一个的,是以消耗的内存是内存大小*线程数,当线程数特多时候需要小心 。

    3、直接内存:主要是通道时候的缓存,在内存不足是也会报OutOfMemoryError错误,外带sun.misc.Unsafe.allocateMemory异常(这个我认为类似于C中的malloc的功能) 。

    4、socket的cache和buffer,这个也不在堆中分配,当无法分配时候,会报Too many open files 的错误。

    5、jni代码中,类库执行的代码内存,也不再堆中。

    6、虚拟机执行也要消耗一定的内存 。

  • 相关阅读:
    数组指针和指针数组的区别
    C++虚函数
    C++容器
    红黑树
    COM RTS/CTS, DTR/DSR
    linux和windows多线程的异同
    socket
    C++vector使用
    select函数详解
    linux下头文件
  • 原文地址:https://www.cnblogs.com/baiduligang/p/4247393.html
Copyright © 2020-2023  润新知