IO读写基本原理 作品
为了避免用户进程直接操作内核,保证内核安全,操作系统将内存(虚拟内存)划分为两部分:一部分是内核空间(Kernel-Space),另一部分是用户空间(User-Space)。在Linux系统中,内核模块运行在内核空间,对应的进程处于内核态;用户程序运行在用户空间,对应的进程处于用户态。
JVM探索-6.JVM日志与G1简要参数
如果启动JVM的时候我们没有指定参数,则可以通过设置Java -XX:+Print CommandLineFlags这个参数让JVM打印出那些已经被用户或者JVM设置过的详细的XX参数的名称和值。
JVM探索-5.内存分配与管理 作品
JVM作为内存分配的管理器,一定涉及如何与内存交互。那么JVM是如何管理内存的?实际上内存管理的算法很多,简单来说JVM从操作系统申请一块内存,然后根据不同的GC算法进行管理。
JVM探索-4.对象头 作品
如何实现Java的多态调用,最直观的想法是把Java对象映射成C++对象或者封装成C++对象,比如增加一个额外的对象头,里面指向一个对象,而这个对象存储了Java代码的地址。
JVM探索-3.卡表和位图 作品
卡表(CardTable)在CMS中是最常见的概念之一,G1中不仅保留了这个概念,还引入了RSet。
JVM探索-2.G1垃圾回收器基础概念 作品
通常我们所说的GC是指垃圾回收,但是在JVM的实现中GC更为准确的意思是指内存管理器,它有两个职能,第一是内存的分配管理,第二是垃圾回收。这两者是一个事物的两个方面,每一种垃圾回收策略都和内存的分配策略息息相关,脱离内存的分配去谈垃圾回收是没有任何意义的。 分区 分区(Heap Region,HR)或称堆分区,...
JVM探索-2.G1垃圾回收器
G1垃圾回收器为什么名字叫作Garbage First呢?G1是一个并行回收器,它将堆内存分割为许多不相关的区间,每个区间可以术语老年代或者年轻代,并且每个年龄代区间可以是物理上不连续的。
JVM探索-1.JVM垃圾回收器及术语 作品
并行指两个或者多个事件在同一时刻发生,在现代计算机中通常指多台处理器上同时处理多个任务。 并发 指两个或多个事件在同一时间间隔内发生,在现代计算机中一台处理器“同时”处理多个任务,那么这些任务只能交替运行,从处理器的角度上看任务只能串行执行,从用户的角度看这些任务“并行”执行,实际上是处理器根据一定的策略不断...