摘要: 深入理解Java并发框架AQS系列(一):线程深入理解Java并发框架AQS系列(二):AQS框架简介及锁概念 一、概述 1.1、前言 重剑无锋,大巧不工 读j.u.c包下的源码,永远无法绕开的经典并发框架AQS,其设计之精妙堪比一件艺术品,令众多学者毫不吝惜溢美之词。近期准备出一系列关于AQS的文章,系统的来讲... 阅读原文
2021-03-14 06:00:17 阅读(864) 评论(0)
摘要: 1.下载Typora 下载: https://www.typora.io/ 2.Typora编辑器写的md文档上传博客园 1.下载dotnet软件 链接:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install 安装: 2.打开cm... 阅读原文
2021-03-14 00:24:05 阅读(873) 评论(0)
摘要:   说明: 自定义一个接口,动态生成代理类并执行 核心代码为 java提供 Proxy 的api: public static Object newProxyInstance(ClassLoader loader, Class<?&g... 阅读原文
2021-03-13 22:38:02 阅读(892) 评论(0)
摘要: 以下关于配置的学习在Mybatis官网可以找到,如下图: 1、核心配置文件 mybatis-config.xml Mybatis的配置文件包含了会深深影响Mybatis行为的设置和属性信息 configuration(配置) properties(属性) settings(设置) typeAliases... 阅读原文
2021-03-13 20:58:37 阅读(877) 评论(0)
摘要: 以下关于配置的学习在Mybatis官网可以找到,如下图: 1、核心配置文件 mybatis-config.xml Mybatis的配置文件包含了会深深影响Mybatis行为的设置和属性信息 configuration(配置) properties(属性) settings(设置) typeAliases... 阅读原文
2021-03-13 20:58:24 阅读(876) 评论(0)
摘要: 一切从SpringApplication.run()开始,最终返回一个ConfigurableApplicationContext 构造了一个SpringApplication对象,然后调用它的run方法。下面看下构造方法都做了什么 1、推断Web应用类型(WebApplicationType),本例中是SERV... 阅读原文
2021-03-13 19:37:11 阅读(908) 评论(0)
摘要: 本文从代码审查过程中发现的一个 ArrayList 相关的「线程安全」问题出发,来剖析和理解线程安全。 案例分析 前两天在代码 Review 的过程中,看到有小伙伴用了类似以下的写法: List<String> resultList = new ArrayList<>(); paramLis... 阅读原文
2021-03-13 16:09:03 阅读(827) 评论(0)
摘要: 本文部分摘自《Java 并发编程的艺术》 概述 任意一个 Java 对象,都拥有一个监视器方法,主要包括 wait()、wait(long timeout)、notify() 以及 notifyAll() 方法,这些方法与 synchronized 同步关键字配合,可以实现等待 - 通知模式。Condition ... 阅读原文
2021-03-13 15:50:03 阅读(878) 评论(0)
摘要: = 赋值运算符,赋值运算符本身也有值,值为所赋值的值 连续的赋值运算符从右向左依次赋值 byte +int 结果是int byte+byte 依然是int   ,编译器优化,类型提升,不然byte +byte 有可能超过byte的最大范围   b1 +=  2   相当于  b1=(byte)(b1+2) ia ==... 阅读原文
2021-03-13 14:52:04 阅读(826) 评论(0)
摘要: 官网:www.fhadmin.org -----------------------springboot框架 vue.js 前后分离--------------   1.【 点击进入】 【框架平台】springboot 框架 vue.js 前后分离 时尚风格   2.【 点击进入】 【框架平台】springboot ... 阅读原文
2021-03-13 11:35:01 阅读(863) 评论(0)