摘要:
CPU术语 缓存行(Cache line):缓存的最小单位 比较并交换(Compare and Swap):CAS操作需要输入两个数值,一个旧值,一个新值,在操作期间先比较旧值有没有发生变化,如果没有发生变化,才交换成新值,发生了变化则不交换 CPU流水线(CPU pipeline):在CPU中由5 阅读全文
摘要:
什么是线程: 操作系统调度的最小单元是线程,也叫轻量级进程,在一个进程里可以创建多个线程,这些线程都拥有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量 为什么使用多线程: 更多的处理器核心 更快的响应时间 更好的编程模型 线程优先级: 在Java线程中,通过一个整型成员变量prior 阅读全文
摘要:
资源限制是指在并发编程时,程序的执行速度受限于计算机硬件资源或软件资源。 如服务器带宽只有2Mb/s,某个资源的下载速度是1Mb/s,系统启动10给线程下载资源,下载速度不会变成10Mb/s,所以在进行并发编程时,要考虑这些资源的限制。硬件资源限制有带宽的上传/现在速度、硬盘读写速度和CPU的处理速 阅读全文
摘要:
上面7种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用。虚拟机所处的区域,则标识它是属于新生代收集器还是老年代收集器。 Serial收集器: Serial收集器是最基本、发展历史最悠久的收集器,曾经(JDK1.3.1前)是虚拟机新生代收集器的唯一选择。它是一个单线程的收集 阅读全文
摘要:
开头的数字代表了GC发生的时间,也就是从java虚拟机启动以来经过的秒数 GC日志开头的[GC和[FULL GC说明了这次垃圾收集的停顿类型,而不是用来区分新生代GC还是老年代GC的。如果有FULL,说明这次GC是发生了Stop-The-World的。如果是调用了System.gc()触发的收集,则 阅读全文