标签:volatile

Java

Java 并发编程之 ReentrantLock 源码分析

xiaoli.wang 发布于 2020-07-26

我是一个优秀的人,但也有缺点,比我优秀的人有很多很多。连自己都认输,何谈你的对手,与你一样优秀,甚至比你优秀的人。战胜自己,就是最大的超越。 在Java5.0之前,协调对共享对象的访问可以使用的机制只有synchronized和volatile。我们知道synchronized关...

阅读(302)评论(0)赞 (0)

Java

超硬核Java工程师学习指南,真正的从入门到精通,众多粉丝亲测已拿offer!

1

Harries 发布于 2020-07-26

最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线...

阅读(324)评论(0)赞 (0)

Java

Java8线程池ThreadPoolExecutor底层原理及其源码解析

2

changyuan.xu 发布于 2020-07-26

小侃一下 日常开发中, 或许不会直接new线程或线程池, 但这些线程相关的基础或思想是非常重要的, 参考 林迪效应 ; 就算没有直接用到, 可能间接也用到了类似的思想或原理, 例如tomcat, jetty, 数据库连接池, MQ; 本文不会对线程的基础知识进行介绍, 所以最好已...

阅读(339)评论(0)赞 (0)

Java

Unsafe介绍及CAS原理解析

1

hellas 发布于 2020-07-26

0.Unsafe介绍 JavaDoc说, Unsafe提供了一组用于执行底层的,不安全操作的方法。那么具体有哪些方法呢,我画了一张图。 可以看到Unsafe中提供了CAS,内存操作,线程调度,本机信息,Class相关方法,查看和设置某个对象或字段,内存分配和释放相关操作,内存地址...

阅读(54)评论(0)赞 (0)

Java

Java垃圾回收详解

14

Harries 发布于 2020-07-25

1.GC介绍 什么是垃圾回收(GC)? 垃圾回收,顾名思义,便是将已经分配出去的,但却不再使用的内存回收回来,以便能够再次分配。 在 Java 虚拟机的语境下, 垃圾 指的是死亡的对象所占据的堆空间。 Java 虚拟机中的垃圾回收器采用 可达性分析 来探索所有存活的对象。它从一系...

阅读(52)评论(0)赞 (0)

Java

JVM-运行时数据区—方法区

9

xiaoli.wang 发布于 2020-07-25

在jdk7及以前,习惯上把方法区称为永久代。jdk8开始,使用元空间取代了永久代。 本质上,方法区和永久代并不等价。仅是对hotSpot而言的。《java虚拟机规范》对如何实现方法区,不做统一要求。例如:BEA JRockit/IBM J9中不存在永久代的概念。 现在看来,当年使...

阅读(25)评论(0)赞 (0)

Spring

苦苦面试了半年,上个月凭借着这份面试题,我一举拿下了阿里,字节跳动和京东的offer!

9

xirruiqiang 发布于 2020-07-24

前言 最近收到很多粉丝的私信,有工作几年的,也有即将面临毕业的学生党。都是来跟我说金九银十马上到了,自己想去冲击面试一波大厂,问我有没有相关的面试题分享。听到后我也是赶紧为大家整理了一份,话不多说满满的干货都在下面了,友情提示,文章篇幅齐全,全是干货慢慢观看!!! Redis 什...

阅读(42)评论(0)赞 (0)

Java

不会吧,你连Java 多线程线程安全都还没搞明白,难怪你面试总不过

xubiao.zhuang 发布于 2020-07-24

什么是线程安全? 当一个线程在同一时刻共享同一个全局变量或静态变量时,可能会受到其他线程的干扰,导致数据有问题,这种现象就叫线程安全问题。 为什么有线程安全问题? 当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题,但是做读操作...

阅读(40)评论(0)赞 (0)

Java

Java软引用、弱引用、虚引用原理

1

changyuan.xu 发布于 2020-07-23

在Java中总共有4中核心的引用类型——强引用、软引用、弱引用、虚引用。一般情况下我们往往用到强引用比较多,很少会遇到场景用到其他三种引用,所以对其原理的掌握就更加是一纸空白。此次,恰遇机会就正好研究一下这四种引用的原理,以解己惑。 关于强引用,因为日常使用,大家基本都比较清楚,...

阅读(26)评论(0)赞 (0)

Java

解读 Java 内存模型

6

yeseng 发布于 2020-07-23

伟人之所以伟大,是因为他与别人共处逆境时,别人失去了信心,他却下决心实现自己的目标。 Java内存模型(Java Memory Model)定义了Java的线程在访问内存时会发生什么。这里针对以下几个要点进行解析: 重排序 可见性 synchronized volitile fi...

阅读(37)评论(0)赞 (0)

Java

难难难难难!对象的创建七连问

12

puefu.he 发布于 2020-07-22

难难难难难!对象的创建七连问 关于 Object o = new Object() 请解释一下对象的创建过程?(半初始化) 加问 DCL 与 volatile 问题?(指令重排) 对象在内存中的存储布局?(对象与数组的存储不同) 对象头具体包括什么?(markword class...

阅读(55)评论(0)赞 (0)

Java

备战金九银十面试季,每天一个面试小技巧(五锁机制篇)

2

yeseng 发布于 2020-07-22

前言: hello大家好我是搬砖,没错又是我,又来给大家分享面试题来了。身为一个面试题狂魔,每天不是在刷题的路上就是在找题的路上。今天在刷B站的时候忽然发现一个锁机制的问题,仔细回想一下还没有做一下总结,今天就来给大家总结一下,希望对你们有用。 锁的原因都是由并发问题发生的,在此...

阅读(29)评论(0)赞 (0)

Java

Netty 源码分析之 四 Promise 与 Future: 双子星的秘密

1

Harries 发布于 2020-07-21

永顺大牛写的系列教程 《源码之下无秘密 ── 做最好的 Netty 源码分析教程》 是目前我读过最好的netty源码分析文章。但不知道什么原因,作者在写到第三章的时候停更了。因此,我想尝试凭着个人的理解,续写后边几个章节。 写在最前 永顺前辈已经写完章节有如下: Netty 源码...

阅读(66)评论(0)赞 (0)

Java

三、Apache Dubbo学习整理—扩展点加载机制(1)

1

yeseng 发布于 2020-07-21

这篇比较枯燥,先记录下来。等着理解更深后,会使用通俗易懂的语言进行描述。 复制代码 一、背景描述 dubbo是一个扩展性特别强的框架,基于JAVA的SPI思路改良后的Dubbo SPI,使接口和实现完全解耦。提供注册中心,通信协议,序列化等的扩展方式。而且自身在设计过程中针对不同...

阅读(35)评论(0)赞 (0)

Java

拥抱Java 8并行流吧,速度飞起!

3

xiaoli.he 发布于 2020-07-21

前言 在 Java7 之前,如果想要并行处理一个集合,我们需要以下几步:  手动分成几部分   为每部分创建线程  在适当的时候合并。并且还需要关注多个线程之间共享变量的修改问题。 而 Java8 为我们提供了并行流,可以一键开启并行模式。...

阅读(29)评论(0)赞 (0)

Java

java安全编码指南之:对象构建

darida 发布于 2020-07-20

程序员肯定是不缺对象的,因为随时都可以构建一个,对象多了肯定会出现点安全问题,一起来看看在java的对象构建中怎么保证对象的安全性吧。 构造函数的异常 考虑下面的一个例子: public class SensitiveOperation { public SensitiveOpe...

阅读(36)评论(0)赞 (0)

Java

写的很好!细数 Java 线程池的原理

2

xirruiqiang 发布于 2020-07-20

点击上方  IT牧场 ,选择  置顶或者星标 技术干货每日送达! 来源:http://39sd.cn/077D6 今天我们就来详细讲解一下Java的线程池,首先我们从最核心的ThreadPoolExecutor类中的方法讲起,然后再讲述它的实现原理,接着给出了...

阅读(56)评论(0)赞 (0)

Java

JAVA 面试很难吗?Oracle 工程师教你轻松搞定BAT!

5

xubiao.zhuang 发布于 2020-07-20

我自己的故事 作为一个 Java 程序员, 平时总是陷在业务开发里,每天噼里啪啦忙敲着代码,上到系统开发,下到 Bug 修改,感觉自己无所不能。然而偶尔的一次聚会,听说和自己一起出道的同学早已经 年薪 50 万, 而自己却囊中羞涩。于是也想看看新机会,找个新平台,好好发展。 但是...

阅读(36)评论(0)赞 (0)