06 2024 档案
摘要:Balking模式用在一个线程发现另一个线程或本地线程在重复做某件相同的事,那么就让本地线程不用再做了直接结束返回。 class MonitorService{ private Thread t1; private boolean i; private boolean n=false; public
阅读全文
摘要:ReentrantLock 与synchronized相比有以下特点 可中断 可以设置为公平锁 支持多个条件变量 与sychronized一样的 支持可重入锁 可打断锁(避免死锁):使用lockInterruptibly()方法 public class TestReentrant { privat
阅读全文
摘要:interrupt()方法:配合isInterrupted()方法可以合理打断线程,让线程处理好事务后停止。 打算一个非阻塞状态的线程效果 public class test { public static void main(String[] args) { Runnable r=()->{ wh
阅读全文
摘要:public class TowPhaseTermination { Thread monitor; private volatile boolean stop; public void start() { monitor=new Thread(()->{ while (true){ if(stop
阅读全文
摘要:在idea使用http的方式拉取代码,并且同样是用http的方式提交的代码。导致出现这个问题,。所以提交和拉取代码最好还是用ssh的方式更为妥当。 只需要修改git上传代码的方式为ssh的方式即可(还需要在idea中登入github账号) 修改提交代码的方式-步骤如下 点击git在选择[Manage
阅读全文
摘要:分析出现错误的原因: 使用package标签加载映射sql文件,要求需要Mapper接口名称需要和映射文件相同,并且在同一个目录中。 由图可见,三个位置目录及名称都一致,但是运行还是报错。经过一番折磨,最后在windows系统文件中发现我在idea里建的多层文件夹其实是一个文件夹 在idea创建Di
阅读全文
摘要:jdk版本与当前MyBatisPlus版本不兼容 解决方法: 1. 升级MyBatisPlus的版本。 2. 或者使用以下方法 --add-opens java.base/java.lang.invoke=ALL-UNNAMED
阅读全文
摘要:模式的定义和特点: 适配器模式(Adapter)是一种将一个类的接口转换成客户希望的另外一个接口的设计模式,可以提高代码的复用性和灵活性。 结构与实现: 定义一个适配器类来实现业务接口,再继承现有组件库中已经存在的组件。 示例: 创建业务接口类: 点击查看代码 public interface In
阅读全文