- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 Jvm系列-深入理解类加载过程
文章目录类加载器主要流程:类的使用方式:什么情况是主动使用:被动使用:举例:主动使用/被动使用:案例一案例二案例三 类加载器主要流程: 加载>连接(校验,准备,解析)>初始化>使用>卸载 类的使用方式: 主动使用 被动使用 所有的java 虚拟机实现必须是在Java程序首次主动使用类、接口的时候才初始化它们; 换句话...
2019-09-10 09:43:48 78
转载 MarkDown语法
斜体和粗体 代码: *斜体*或_斜体_**粗体*****加粗斜体***~~删除线~~ 显示效果: 这是一段斜体这是一段粗体这是一段加粗斜体这是一段删除线 2. 分级标题 第一种写法: 这是一个一级标题============================这是一个二级标题-------------------------------------------------- 第二种写...
2019-08-29 14:56:21 290
原创 Java并发系列-深入理解volatile
在并发场景中我们经常会看到volatile的身影,它到底能解决哪些问题? 文章目录volatile关键字的语义:首先我们先验证可见性:如何解决缓存一致性问题?验证有序性: volatile关键字的语义: 一旦一个共享变量被其修饰之后: 可见性:一个线程对这个变量的修改对其他线程可见,会立马得到最新值 有序性:被volatile修饰的变量会加入内存屏障 首先我们先验证可见性: 执行如下代码: pub...
2019-08-29 14:19:09 85
原创 Java并发系列-从消费者生产者模型理解wait/notify
wait/notify实现生产者消费者 线程的协作机制wait/notify,线程除了有竞争关系,他们还存在着协作,下面我们就用实际案例来描述下他们的协作关系 生产者/消费者模型的特性 消费者、生产者是通过一个缓冲区进行通信的,这个缓冲区可以是阻塞队列; 生产者在队列满的时候停止生产; 消费者在队列空的时候停止消费; 生产者/消费者模型可以...
2019-08-06 09:25:12 82
原创 Java并发系列-深入Jvm理解Thread启动流程
Thread启动流程前言Java中的线程Jvm中定义的线程 前言 近期整理笔记想开个专题,准备从并发入手。并发这块又从哪里入手,一开始想的是AQS,偶然间看到自己之前编译调试openjdk的时候整理的一些笔记,又有了新的想法,决定先从最基础的开始,并发这块脱离不了线程,那么我们就结合jdk,hotspot探究一下线程的来龙去脉。 线程的定义:程序运行的最小单元,被包含在进程中。 Java中的线程 ...
2019-07-31 09:08:30 269
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人