摘要:前言 上篇文章我们从硬件级别探索,对可见性和有序性的认识上升了一个高度,却迟迟没有介绍原子性的解决方案。 今天我们就来聊一聊原子性的解决方案,锁。 引入锁机制,除了可以保证原子性,同时也可以保证可见性和有序性。 相信小伙伴们对于synchronized互斥锁一定很熟悉,但是你懂它的实现原理吗,今天就 阅读全文
posted @ 2020-11-30 13:42 H.U.C-王子 阅读(240) 评论(0) 推荐(0) 编辑
摘要:前言 今天王子要分享的内容是关于Oracle的一个实战内容,Oracle的数据泵。 网上有很多关于此的内容,但很多都是复制粘贴别人的,导致很多小伙伴想要使用的时候不能直接上手,所以这篇文章一定能让你更清晰的理解数据泵。 开始之前王子先介绍一下自己的环境,这里使用的是比较常用的WIN10系统,Orac 阅读全文
posted @ 2020-11-24 11:39 H.U.C-王子 阅读(172) 评论(0) 推荐(0) 编辑
摘要:前言 王子之前的文章对于并发编程中的可见性问题已经有了一个初步的介绍,总结出来就是CPU的缓存会导致可见性问题。 这样的解释其实是没有问题的,但这里说的“缓存”其实一个笼统的概念,缓存其实指的是寄存器、高速缓存和写缓冲器。 今天我们就从硬件的级别再来探索一下出现可见性问题的原因,让小伙伴们有一个更深 阅读全文
posted @ 2020-11-20 12:00 H.U.C-王子 阅读(173) 评论(0) 推荐(0) 编辑
摘要:前言 上一篇文章王子给大家介绍了并发编程中比较关心的三个核心问题,可见性、有序性和原子性。 今天我们继续来探索并发编程的内容,聊一聊JAVA的内存模型和Happens-Before规则。 JAVA内存模型 这里的JAVA内存模型指的不是我们JVM专栏中提到的内存分布模型,而是针对并发编程的,小伙伴们 阅读全文
posted @ 2020-11-18 09:17 H.U.C-王子 阅读(106) 评论(0) 推荐(0) 编辑
摘要:前言 今天开始,王子准备开始一个新的专栏:并发编程专栏。 并发编程无论在哪门语言里,都属于高级篇,面试中也尝尝会被问到。想要深入理解并发编程机制确实不是一件容易的事,因为它涉及到计算机底层和操作系统的相关知识,如果对这部分知识不是很清楚可能会导致理解困难。 在这个专栏里,王子会尽量以白话和图片的方式 阅读全文
posted @ 2020-11-16 09:55 H.U.C-王子 阅读(197) 评论(0) 推荐(1) 编辑
摘要:前言 在之前的MQ专题中,我们已经解决了消息中间件的一大难题,消息丢失问题。 但MQ在实际应用中不是说保证消息不丢失就万无一失了,它还有两个令人头疼的问题:重复消费和乱序。 今天我们就来聊一聊这两个常见的问题,看看RocketMQ是如何解决这两个问题的。 为什么会重复消费 首先我们来聊一聊重复消费的 阅读全文
posted @ 2020-11-13 11:43 H.U.C-王子 阅读(234) 评论(0) 推荐(0) 编辑
摘要:前言 王子在之前的JVM文章中已经大体上把一些原理性问题说清楚了,今天主要是介绍一些实际进行JVM调优工作的工具和命令,不会深入讲解,因为网上资料很多,篇幅可能不长,但都是实用的内容,小伙伴们有不清楚的可以自行查找资料。 jstat命令 jstat命令可以查看到很多的jvm信息,详细内容可以自行百度 阅读全文
posted @ 2020-11-11 09:52 H.U.C-王子 阅读(235) 评论(0) 推荐(2) 编辑
摘要:前言 最近王子因为个人原因有些忙碌,导致文章更新比较慢,希望大家理解,之后也会持续和小伙伴们一起共同分享技术干货。 上篇JVM的文章中我们对ParNew和CMS垃圾回收器已经有了一个比较透彻的认识,感兴趣的小伙伴可以去回看一下探索ParNew和CMS垃圾回收器。 今天我们继续探索垃圾回收器G1的原理 阅读全文
posted @ 2020-11-04 16:58 H.U.C-王子 阅读(175) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-11-03 09:25 H.U.C-王子 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-10-30 14:31 H.U.C-王子 阅读(0) 评论(0) 推荐(0) 编辑