还有多少人搞不懂堆内存和栈内存的区别?
要回答这个问题,我们首先需要知道什么是堆内存,什么是栈内存,它们的分配和回收有什么特点?先介绍下栈内存:栈内存是为线程留出的临时空间,每个线程都有一个固定大小的栈空间,而且栈空间存储的数据只能由当前线程访问,所以它是线程安全的。
万字长文:细谈Linux、JDK、Netty中NIO与零拷贝
一、先理解内核空间与用户空间Linux 按照特权等级,把进程的运行空间分为内核空间和用户空间,分别对应着下图中, CPU 特权等级分为4个,Linux 使用 Ring 0 和 Ring 3。
想理解Java的IO,不要从操作系统开始说起的都是耍流氓
Linux是一个将所有的外部设备都看作是文件来操作的操作系统,在它看来:everything is a file,那么我们就把对于外部设备的操作都看作是对文件进行操作。
Java开发工具之Eclipse——5分钟快速入门
Eclipse是功能强大Java集成开发工具。它可以极大地提升我们的开发效率。可以自动编译,检查错误。在公司中,使用的就是Eclipse进行开发。Eclipse的下载、安装、卸载下载 http://www.eclipse.
JVM成神路之GC分代篇:分代GC器、CMS收集器及YoungGC、FullGC
本篇则重点会对于分代收集器的实现进行全面详解,其中会涵盖串行收集器、并行收集器、三色标记、SATB算法、GC执行过程、并发标记、CMS收集器等知识,本篇则偏重于分析GC机制的落地实现,也就是垃圾收集器。
从进程角度分析JVM内存分布的特点
JVM(下面JVM都是指代HotSpot)本质上是运行在操作系统上的一个C++程序,本文会从这个角度来构建对于JVM内存的完整视角,以HotSpot这个JVM实现运行在Linux操作系统上进行分析,在分析的过程中会解释清楚一些不太好理解的概念,诸如堆外内存,NIO可以避免nati