标签: JVM

Java面试题(8)- 虚拟机

Java面试题(8)- 虚拟机

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:说说JVM的内存结构;如何监控和诊断JVM堆内和堆外内存使用;如何查看JVM的内存使用情况;常用的JVM配置和调优参数都有哪些;如何用Java分配一段连续的1G的内存空间;Java为什么存在内存泄露呢;内存溢出是怎么回事,请举例说明;如何避免内存溢出呢;JVM为什么需要GC;JVM如何确定垃圾,垃圾回收算法有哪几种; GC收集器有哪些。

彻底理解协程

彻底理解协程

协程不是操作系统的底层特性,系统感知不到它的存在。它运行在线程里面,通过分时复用线程的方式运行,不会增加线程的数量。协程也有上下文切换,但是不会切换到内核态去,比线程切换的开销要小很多。每个协程的体积比线程要小得多,一个线程可以容纳数量相当可观的协程。在IO密集型的任务中有着大量的阻塞等待过程,协程采用协作式调度,在IO阻塞的时候让出CPU,当IO就绪后再主动占用CPU,牺牲任务执行的公平性换取吞吐量。