摘要: MyBatis 初始化过程就是生成一些必须的对象放到 Spring 容器中。问题是这个过程到底生成了哪些对象?当遇到 MyBatis 初始化失败时,如何正确找到分析问题的切入点?本文将针对这些问题进行介绍。 本文基于 MyBatis 3 和 Spring,假设读者已经知道如何使用 Maven 和 M 阅读全文
posted @ 2021-03-03 09:13 指尖上的代码go 阅读(194) 评论(0) 推荐(0)
摘要: 一、AQS 是什么?为什么需要 AQS ? 试想有这么一种场景:有四个线程由于业务需求需要同时占用某资源,但该资源在同一个时刻只能被其中唯一线程所独占。那么此时应该如何标识该资源已经被独占,同时剩余无法获取该资源的线程又该何去何从呢? 这里就涉及到了关于共享资源的竞争与同步关系。对于不同的开发者来说 阅读全文
posted @ 2021-03-03 09:07 指尖上的代码go 阅读(157) 评论(0) 推荐(0)
摘要: 一、事务 事务是由一组SQL语句组成的逻辑处理单元,是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。事务具有以下4个属性,通常简称为事务的ACID属性: 原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行 阅读全文
posted @ 2021-03-03 09:06 指尖上的代码go 阅读(181) 评论(0) 推荐(0)
摘要: 在AWS云上,我们运行并部署容器化应用程序到我们的PaaS管道。像我们这样在Docker中运行Java应用程序的人,可能已经遇到过 JVM在容器中运行时无法准确检测可用内存的问题 。jvm没有准确地检测Docker容器中可用的内存,而是查看机器的可用内存。这可能导致在容器内运行的应用程序在尝试使用超 阅读全文
posted @ 2021-03-03 09:05 指尖上的代码go 阅读(346) 评论(0) 推荐(0)
摘要: 1.正则表达式匹配${key} \$\{([a-z]+)\} 能够匹配字符串中以${key}形式的文本(其中key为小写应为字母) .*\$\{([a-z]+)\}.* 可以用来检测文本中是否有${key}形式的文本 解释如下: . 匹配除换行符 \n 之外的任何单字符 * 匹配前面的子表达式零次或 阅读全文
posted @ 2021-03-03 09:04 指尖上的代码go 阅读(560) 评论(0) 推荐(0)