Java并发编程实战 02Java如何解决可见性和有序性问题

Java并发编程系列:02Java如何解决可见性和有序性问题

摘要

在上一篇文章Java并发编程实战 01并发Bug的源头当中,讲到了CPU缓存导致可见性、线程切换导致了原子性、编译优化导致了有序性问题。那么这篇文章就先解决其中的可见性和有序性问题,引出了今天的主角:Java内存模型(面试并发的时候会经常考核到)

阅读更多

优雅的使用BeanUtils对List集合的操作

摘要

我们在Entity、Bo、Vo层数据间可能经常转换数据,Entity对应的是持久层数据结构(一般是数据库表的映射模型)、Bo对应的是业务层操作的数据结构、Vo就是Controller和客户端交互的数据结构。

阅读更多

SpringBoot上传文件到七牛云

准备工作

maven

pom.xml添加七牛云的sdk依赖

1
2
3
4
5
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
<version>7.2.27</version>
</dependency>
阅读更多

一看就懂的快速排序

概念

快速排序属于交换排序,主要步骤是使用基准元素进行比较,把小于基准元素的移动到一边,大于基准元素的移动到另一边。从而把数组分成两部分,然后再从这两部分中选取出基准元素,重复上面的步骤。过程如下:

阅读更多

Java移位运算符

简述

Java有三种移位运算符,分别为:

  1. 左移运算符 <<
  2. 右移运算符 >>
  3. 无符号右移运算符 >>>
阅读更多