JVM 垃圾回收
垃圾回收器 什么是垃圾对象? 没有任何引用的对象。 如何发现垃圾对象? 1、 reference count 引用计数 * 每引用一次给计数器+1,减少一次引用进行-1。 * 无法解决的问题,循环引用。A引用B,B引用C,C引用A,但是AB...
垃圾回收器 什么是垃圾对象? 没有任何引用的对象。 如何发现垃圾对象? 1、 reference count 引用计数 * 每引用一次给计数器+1,减少一次引用进行-1。 * 无法解决的问题,循环引用。A引用B,B引用C,C引用A,但是AB...
Java内存模型 基础知识。 存储器的结构(摘自深入理解计算机基础第三版P421) 寄存器中的内存最小速度最快,硬盘容量最大,速度最小,cup的第三级缓存是共享内存。 对于一个在同一行的数据XY,会被同时加载进CPU,这个现象叫cache ...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
类的加载过程 1、 loading 加载 通过双亲委派机制进行加载。主要出于安全的考虑。父加载器不是加载器的加载器,也不是父类加载的加载器。 2、 linking 链接 1. verification 验证 2. preparation 准...
Java中的类型引用 强软弱虚 强引用 栈内存指向了堆内存 public class MGCTest { public static void main(String[] args) { M m = new M(); m = null; S...
什么是cas? cas:compare and swap 比较然后交换,它在没有锁的状态下可以保证多线程的对值得更新。我们可以看一下在jdk中对cas的应用: /** * Atomically increments by one the c...
条件装配 从Spring Framework 3.1开始,允许在Bean装配时增加前置条件判断。 啥是条件装配 在bean装配前的条件判断。比如@Profile(是在spring3.1中引入),@Contditional(spring4.0...
了解spring boot的自动装配先了解spring framework的手动装配。 spring framework手动装配 spring 模式注解装配 1、 定义:一种用于生命在应用中扮演“组件”角色的注解。比如:@controlle...
1、最初级的缓存不一致问题以及解决方案 第一种情况先删缓存在删数据库 在多线程环境下,当一个线程把缓存删掉之后,另一个线程都缓存,都不到缓存就会直接读库,读到数据后就会更新缓存,先前的线程呢,才更新数据库,会造成缓存脏读的情况,很容易产生缓...
用缓存,主要是俩用途,高性能和高并发 1)高性能 假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作mysql,半天查出来一个结果,耗时600ms。但是这个结果可能接下来几个小时都不会变了,或者变了也可以不用立即反馈给用户...
Fork-Join框架 Fork和Join是java 1.7提供的用于定型执行的框架,将大任务切分成若干个小任务执行,小任务执行结果汇总成大任务的框架。从字面上理解就是Fork把大任务切分成若干个小任务Join就是把小任务合并得到大任务结果...