JVM内存管理之java中需要使用内存的组件
2017-01-09 21:03
204 查看
一:Java堆
java堆是存储java对象的内存区域,JVM在启动时向操作系统申请堆的大小,也可以通过-Xmx 和-Xms两个选项来控制堆的大小,但是使用这两个选项后堆的大小就会固定,不能在向操作系统重新申请内存了二:线程
线程是JVM运行实际程序的实体,但是线程需要内存空间来存储一些必要的数据。每当一个线程被创建时,JVM会为他创建一个堆栈,通常在256KB-756KB之间。如果线程的数量过多,一:线程占用的内存用量可能会很大,二:CPU的效率可能会很低,还会导致较差的性能和更高的内存占用率。
三:类和类加载器
类和类加载器本身需要存储空间,他们存储在java堆中的永久代(PermGen);JVM在加载类时时按需加载的。
四:NIO
NIO是一种基于通道和缓冲区的方式来执行IO操作。NIO并不使用Java堆中的内存,而是直接申请操作系统的内存,这种方式避免了在java堆和本机堆之间复制数据,从而提高了java的IO操作效率。相关文章推荐
- JVM内存管理--计算机内存和Java内存组件
- JVM内存管理--计算机内存和Java内存组件
- JVM内存管理:深入Java内存区域与OOM
- JVM内存管理:深入Java内存区域与OOM
- 深入Java核心_JVM内存分配&内存使用查看
- JVM内存管理:深入Java内存区域与OOM
- 如何配置来增加eclipse下运行java程序的jvm使用内存
- JVM内存管理:深入Java内存区域与OOM
- JVM内存管理:深入Java内存区域与OOM
- java web start使用jvm参数,设置内存使用
- JVM内存管理:深入Java内存区域与OOM
- JVM内存管理:深入Java内存区域与OOM
- JAVA 内存详解 (理解 JVM 如何使用 Windows 和 Linux 上的本机内存)
- JVM内存管理:深入Java内存区域与OOM
- JVM内存管理:深入Java内存区域与OOM
- 使用Java自带的VisualVM监控远程主机JVM内存使用情况
- com.microsoft.sqlserver.jdbc.SQLServerException: 系统内存不足。请对大型 ResultSet 使用服务器端游标: Java heap space。ResultSet 大小:417,666,054。JVM 总内
- JVM内存管理:深入Java内存区域与OOM、深入垃圾收集器与内存分配策略
- Java 程序查看JVM内存使用
- JVM内存管理:深入Java内存区域与OOM