随笔 - 16
文章 - 0
评论 - 3
阅读 -
19469
随笔分类 - java
java 编程
使用RestTemplate 接收请求返回值中的泛型
摘要:#### 现有一个请求返回值的格式为: ``` { "success": true, "message": "", "code": 200, "result": { "returnCode": "03AD", "returnMsg": "AD3", "qrcode": "https://xxxxxx
阅读全文
Java8 函数式编程stream流
摘要:
## 开篇介绍 Java 8 中新增的特性旨在帮助程序员写出更好的代码,其中对核心类库的改进是很关键的一部分,也是本章的主要内容。对核心类库的改进主要包括集合类的 API 和新引入的流(Stream),流使程序员得以站在更高的抽象层次上对集合进行操作。下面将介绍stream流的用法。 ## 1.初始
阅读全文

java 线程等待和唤醒方法
摘要:### java线程状态变迁图  从图中可以看出Java 线程等待方法是将线程从Runnable状态转换为Waiti
阅读全文
Variable 'xxxx' is accessed from within inner class, needs to be final or effectively final-Lambda 表达式的变量与作用域
摘要:#### 问题的原因 问题代码: ``` public static void main(String[] args) { Integer sum = 0; Integer count = 0; List list = new ArrayList(Arrays.asList(1,2,3,4,5));
阅读全文
happens-before 原则
摘要:#### happens-before 简述 从 JDK 5 开始,Java 使用新的 JSR-133 内存模型。JSR-133 使用 happens-before 的概念来阐述操作之间的**内存可见性**。在 JMM 中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须要存在 h
阅读全文
java cas是如何保证原子性的
摘要:#### 汇编指令CMPXCHG * 在了解CAS之前我们先看看汇编指令CMPXCHG,CMPXCHG的完整名称是Compare and Exchange,CMPXCHG汇编指令的使用方法如下: `cmpxchg dest,src` 将AL、AX、EAX或RAX寄存器中的值与第一个操作数dest(目
阅读全文
java volatile是如何保证可见性的?
摘要:### lock前缀指令干的事。 volatile 修饰的变量在进行写操作时会多出一条如下的汇编指令: `lock addl $0x0,(%esp)` volatile就是靠这个lock前缀指令去实现可见性的,当对volatile修饰的共享变量进行写操作时,lock前缀的指令在多核处理器下会引发两件
阅读全文