摘要: 1.异步任务 通常情况下,java执行代码都是同步处理的,在一些需要异步的场景则需要使用多线程的方式,编码难度增大。 总的来说,通过@Async注解可以达到异步处理方法的目的。如下实例: AsyncService.java @Service public class AsyncService { / 阅读全文
posted @ 2021-12-15 15:49 lavendor 阅读(44) 评论(0) 推荐(0)
摘要: 本线程相关知识皆是基于jdk1.8版本。文章偶尔会提到之前版本,并且比较不一致的地方。 1.JVM线程 1.1 线程内存模型 java天生就是多线程的,多个线程共享堆和方法区,单个线程里面又有自己私有的虚拟机栈、本地方法栈和程序计数器。 虚拟机栈 每个java方法在执行的时候都会创建一个栈帧,用来存 阅读全文
posted @ 2021-12-07 11:34 lavendor 阅读(141) 评论(0) 推荐(0)
摘要: 1.JVM内存模型 JVM内存模型根据jdk版本不同,有部分变化,主要是jdk1.8之后,方法区移至直接内存中的元空间处。对比图如下所示: 由上图可以看出来,版本之间的变化主要是共享线程区中的 方法区 的位置,jdk8之后转移到直接内存,而不是原先的共享线程区中。 线程私有的 虚拟机栈、本地方法栈、 阅读全文
posted @ 2021-11-26 13:51 lavendor 阅读(3852) 评论(0) 推荐(1)