上一页 1 ··· 9 10 11 12 13
摘要: 1、缓存一致性问题 由于存储设备与处理器的运算速度差距很大,计算机系统在内存与处理器之间增加了一层高速缓存,将运算需要的数据复制到缓存中,让运算能快速进行。 有了高速缓存的存在以后,每个CPU的处理过程是, 先将计算需要用到的数据缓存在CPU高速缓存中,在CPU 进行计算时,直接从高速缓存中读取数据 阅读全文
posted @ 2020-04-24 16:27 jingyi_up 阅读(217) 评论(0) 推荐(0) 编辑
摘要: jdk1.6之后对synchronized进行了优化,为了减少获得锁和释放锁带来的性能消耗,引入了偏向锁和轻量级锁,协调线程安全性和性能的平衡。这种优化主要解决上下文频繁切换,由于Java层面的线程与操作系统的原生线程有映射关系,如果要将一个线程进行阻塞或唤起都需要操作系统的协助,这就需要从用户态切 阅读全文
posted @ 2020-04-23 16:37 jingyi_up 阅读(213) 评论(0) 推荐(1) 编辑
摘要: 1、多线程的实现 * 继承Thread类创建线程,Thread本质上是实现了Runnable接口的一个实例。 * 实现Runnable接口,主要避免java单继承问题,如果一个类已经extends另一个类,就无法再继承Thread,但可以实现Runnable接口来创建线程。 * 实现Callable 阅读全文
posted @ 2020-04-23 11:13 jingyi_up 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 1、JVM参数 分为标准参数和非标准参数。标准参数如:-version,-help。非标准参数有-X和-XX,其中-XX使用最多,主要用于JVM调优和Debug。 * Boolean类型,格式:-XX:[+-]<name>,+或-表示启用或禁用name属性。 如:-XX:+UseG1GC 表示启用G 阅读全文
posted @ 2020-04-22 16:57 jingyi_up 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 1、可回收对象(垃圾)的判定 (1)引用计数法 对于某个对象而言,只要应用程序中持有该对象的引用,就说明该对象不是垃圾,如果一个对象没有任何只针对其引用,它就是垃圾。 弊端:如果AB相互持有引用,会导致永远不能被回收。 (2)可达性分析 通过GC Root的对象,开始向下寻找,看某个对象是否可达 。 阅读全文
posted @ 2020-04-21 21:46 jingyi_up 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 1、虚拟机栈和栈帧 (1)每个线程对应一个虚拟机栈,线程中方法的调用则对应栈中栈帧的入栈和出栈。 栈帧:每个栈帧对应一个被调用的方法,可以理解为一个方法的运行空间。每个栈帧中包括局部变量表(Local Variables)、操作数栈(Operand Stack)、指向运行时常量池的引用(A refe 阅读全文
posted @ 2020-04-20 16:58 jingyi_up 阅读(28) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13