欢迎大家关注我的公众号:程序那些事
本站记录了一个程序员的学习和成长经历。不吹水,不博眼球,只写有态度有内涵的技术类文章。 内容主要是java,区块链,Spring,架构,scala,go,JS,前端等方面,至于后面的大数据,人工智能等我有时间了再添加进去吧。 有需要和我讨论的朋友可以加我微信,想看什么方面或者什么问题解决方案的也可以私信给我,我会在能力范围内解答。 做一个真诚的程序员,和大家一起进步!

Category: JAVA

java并发Exchanger的使用

java并发Exchanger的使用

简介 Exchanger是java 5引入的并发类,Exchanger顾名思义就是用来做交换的。这里主要是两个线程之间交换持有的对象。当Exchanger在一个线程中调用exchange方法之后,会等...

java中functional interface的分类和使用

java中functional interface的分类和使用

简介 java 8引入了lambda表达式,lambda表达式实际上表示的就是一个匿名的function。 在java 8之前,如果需要使用到匿名function需要new一个类的实现,但是有了lam...

java 8 Streams简介

java 8 Streams简介

今天要讲的Stream指的是java.util.stream包中的诸多类。Stream可以方便的将之前的结合类以转换为Stream并以流式方式进行处理,大大的简化了我们的编程,Stream包中,最核心...

java内存模型(JMM)和happens-before

java内存模型(JMM)和happens-before

java内存模型(JMM)和happens-before 我们知道java程序是运行在JVM中的,而JVM就是构建在内存上的虚拟机,那么内存模型JMM是做什么用的呢? 我们考虑一个简单的赋值问题: i...

非阻塞算法(Lock-Free)的实现

非阻塞算法(Lock-Free)的实现

非阻塞算法(Lock-Free)的实现 上篇文章我们讲到了使用锁会带来的各种缺点,本文将会讲解如何使用非阻塞算法。非阻塞算法一般会使用CAS来协调线程的操作。 虽然非阻塞算法有诸多优点,但是在实现上要...

非阻塞同步机制和CAS

非阻塞同步机制和CAS

非阻塞同步机制和CAS 我们知道在java 5之前同步是通过Synchronized关键字来实现的,在java 5之后,java.util.concurrent包里面添加了很多性能更加强大的同步类。这...

由于不当的执行顺序导致的死锁

由于不当的执行顺序导致的死锁

由于不当的执行顺序导致的死锁 为了保证线程的安全,我们引入了加锁机制,但是如果不加限制的使用加锁,就有可能会导致顺序死锁(Lock-Ordering Deadlock)。上篇文章我们也提到了在线程词中...