
java基础
文章平均质量分 56
星沁城
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
什么是JSR-133的happens-before规则
线程中的每个操作都先行发生于对此线程的终止检测,我们可以通过Thread.join()方法结束、Thread.isAlive()的返回值检测到线程已经终止执行。:如果线程A执行操作ThreadB.start()(启动线程B),那么A线程的ThreadB.start()操作先行发生于线程B中的任意操作。:对象的interrupt()方法的调用先行发生于被中断线程的代码监测中断事件的发生。:在一个线程内,按照控制流顺序,书写在前面的操作先行发生于书写在后面的操作。原创 2024-12-18 11:38:21 · 314 阅读 · 0 评论 -
synchronized与volatile关键字的区别
时,编译器和运行时都会注意到这个变量可能会被多个线程同时访问,因此每次读取变量时都会从主内存中读取,而不是从线程的本地缓存中读取。它通过锁定对象来确保同一时间只有一个线程可以执行同步代码块,从而避免了并发问题。确实可以解决可见性问题。当一个线程修改了某个变量后,其他线程可以立即看到这个修改。它只能保证对变量的读写操作是原子的,但不能保证复合操作(如。会确保对共享变量的修改对其他线程是可见的。主要解决可见性问题,但不保证原子性。可以解决可见性和原子性问题。或其他同步机制来保证。原创 2024-12-18 11:37:19 · 416 阅读 · 0 评论 -
SpringBoot原理(起步依赖和自动装配)
这个类中重写了selectImports方法将" META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports "这个文件中记录的全类名加载到string[]中然后由springboot进行自动装配。",这个方法返回一个string数组,这个数组中如果添加了对象的全类名,那么这个对象就会被springboot自动装配。的一个子类,在ImportSelector类中有一个十分重要的方法"原创 2024-12-18 11:34:38 · 428 阅读 · 0 评论 -
JVM的垃圾回收机制
(默认的大小分配是8:1:1),其中,Survivor区间中,某一时刻只有其中一个是被使用的,另外一个留做垃圾收集时复制对象用,在Eden区间变满的时候, GC就会将存活的对象移到空闲的Survivor区间中,根据JVM的策略,在经过几次垃圾收集后,任然存活的对象将被移动到老年代。这时因为并发标记与重新标记阶段都是从灰色对象开始遍历,而C没有与任何一个灰色对象连接,所以C不会被标记,会被当成垃圾回收,这时候问题就很严重了,应为A还引用了C呢,在业务层面需要C对象,这必然会导致严重的事故。原创 2024-12-18 11:32:28 · 1837 阅读 · 0 评论