JAVA改造if为规则执行器
more >>Synchronized是Java中的关键字,是一种同步锁,其最主要的使用场景是在多线程并发编程时实现线程同步。
但,Synchronized默认是非公平锁。这意味着如果多个线程同时请求锁,哪个线程能够获得锁是由操作系统的调度算法决定的。
Synchronized默认没有阻塞超时时间,需要注意内部程序的设计。
本文主要讲了synchronized的修饰对象以及使用方法。
more >>实际业务开发过程中,业务逻辑可能非常复杂,核心业务 + N 个子业务。如果都放到一块儿去做,代码可能会很长,耦合度不断攀升,维护起来也麻烦,甚至头疼。还有一些业务场景不需要在一次请求中同步完成,比如邮件发送、短信发送等。
MQ 确实可以解决这个问题,但 MQ 重啊,非必要不提升架构复杂度。针对这些问题,我们了解一下 Spring Event。
more >>spring batch是spring提供的一个数据处理框架。企业域中的许多应用程序需要批量处理才能在关键任务环境中执行业务操作。这些业务运营包括:
Spring Batch是一个轻量级,全面的批处理框架,旨在开发对企业系统日常运营至关重要的强大批处理应用程序。Spring Batch构建了人们期望的Spring Framework特性(生产力,基于POJO的开发方法和一般易用性),同时使开发人员可以在必要时轻松访问和利用更高级的企业服务。Spring Batch不是一个schuedling的框架。
Spring Batch提供了可重用的功能,这些功能对于处理大量的数据至关重要,包括记录/跟踪,事务管理,作业处理统计,作业重启,跳过和资源管理。它还提供更高级的技术服务和功能,通过优化和分区技术实现极高容量和高性能的批处理作业。
Spring Batch可用于两种简单的用例(例如将文件读入数据库或运行存储过程)以及复杂的大量用例(例如在数据库之间移动大量数据,转换它等等)。大批量批处理作业可以高度可扩展的方式利用该框架来处理大量信息。
more >>1 | CREATE TABLE `orders` ( |
1 | alter table orders AUTO_INCREMENT=10000; |
解决方法
使用 IdWorker 实现。
IdWorker 这个类是 MyBatis Plus 雪花算法的实现,直接调用其方法获取,它内部是单例实现的。
或者使用 SnowFlakeUtil 实现,需要添加 **hutool-all**
依赖。
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true