摘要: 前文综合描述了 Varhandle 以及 Varhandle 能够做的事情,但是要了解并使用 Varhandle 并非是一件容易的事。总的来说,要想很好地使用 Varhandle ,必须先了解plain(普通方式)、opaque、release/acquire、volatile 的区别及使用。 结合 阅读全文
posted @ 2020-06-03 19:28 JFound 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 前面整理完 Unsafe ,不得不去了解下 java.lang.invoke.Varhandle 。如前面文章所说, Unsafe 是不建议开发者直接使用的,因为 Unsafe 所操作的并不属于Java标准,会容易带来一些安全性的问题。JDK9 之后,官方推荐使用 java.lang.invoke. 阅读全文
posted @ 2020-05-29 20:00 JFound 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 并发测试工具Jcstress使用教程 Jcstress 全称 Java Concurrency Stress,是一种并发压力测试工具,可以帮助研究JVM、java类库和硬件中并发的正确性。 Wiki地址:https://wiki.openjdk.java.net/display/CodeTools/ 阅读全文
posted @ 2020-05-27 19:03 JFound 阅读(758) 评论(0) 推荐(0) 编辑
摘要: 要想学好JUC,还得先了解 volatile 这个关键字。了解 volatile ,我们从一个例子开始吧。 本文不会很详细去说java内存模型,只是很简单地学习一下 一个例子 这个程序里面,新开一个线程, 初始化值为 , 线程里面是一个死循环,当 修改为 的时候,我们希望线程里面的死循环会结束,然后 阅读全文
posted @ 2020-05-25 08:15 JFound 阅读(191) 评论(0) 推荐(0) 编辑
摘要: JUC(java.util.concurrent)的开始,可以说是从Unsafe类开始。 Unsafe 简介 Unsafe在 下,顾名思义,这是一个不安全的类,因为Unsafe类所操作的并不属于Java标准,Java的一系列内存操作都是交给jvm的,而Unsafe类却能有像C语言的指针一样直接操作内 阅读全文
posted @ 2020-05-23 12:13 JFound 阅读(619) 评论(0) 推荐(2) 编辑
摘要: 什么是注解 Java官方文档上说,注解是元数据的一种形式,它提供不属于程序一部分的数据,注解对被注解的代码没有直接的影响。 准确上说,注解只不过是一种特殊的注释而已,如果没有解析它的代码,它可能连注释都不如。 主要用途 注解有很多种用途,其中包括: 提供编译器使用信息 编译器可以使用这些注解来检查错 阅读全文
posted @ 2020-05-22 23:58 JFound 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 描述 ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。 通常使用静态的变量来维护 ThreadLocal 如: 通常用来保存userId、TransactionId等。 s 阅读全文
posted @ 2020-05-21 08:12 JFound 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 最近在开发的时候,在mysql Innodb 引擎下,一条记录记录也能引起锁的事件。 场景描述 在项目压测的是,突然发现有类似以下的异常发生: 但代码里面明明只锁了一条记录,不存在多个资源的时候,死锁又是怎么来的呢。 例子 首先创建实验数据: sql DROP TABLE IF EXISTS ; C 阅读全文
posted @ 2020-05-20 08:06 JFound 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 我的事务为啥会失效? 在用Spring的时候,我们经常用过使用@Transactional声明式事务,但是有些时候,@Transactional声明的事务却是没有生效。 一个例子。 环境 数据库为innodb,代码为基于spring的一个demo。 Demo代码如下: 代码说明 代码中 声明式事务注 阅读全文
posted @ 2020-05-19 08:14 JFound 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 开篇 之前,在用spring编码调试的时候,有时候发现被自动注入的对象是原始类的对象,有时候是代理类的对象,那什么时候注入的原始类对象呢,有什么时候注入的是代理类的对象呢?心里就留下了这个疑问。后来再次看spring aop的时候变有了大胆的想法。 案例 先添加springboot依赖 添加测试的类 阅读全文
posted @ 2020-05-18 08:14 JFound 阅读(487) 评论(0) 推荐(0) 编辑