使用CompletableFuture实现Java方法异步调用和回调

8635 31 7K
Java方法的异步调用最容易联想到使用线程,将需要异步执行的方法放在另外一个线程中执行:new Thread(() -> { //Do whatever}).start();如果想准确地等待并获.

Java Stream API groupingBy()介绍

18326 14 10K
groupingBy()是Stream API中最强大的收集器Collector之一,提供与SQL的GROUP BY子句类似的功能。使用形式如下:.collect(groupingBy(...)); .

Http缓存Last-Modified、ETag和Expires的Java终结解决之道

6 30857 19 5K
Last-Modified和Expires针对浏览器,而ETag则与客户端无关,所以可适合REST架构中。两者都应用在浏览器端的区别是:Expires日期到达前,浏览器不会再发出新的请求,除非用户按浏.

今天终于在一个大型项目中运用了DDD

25 24606 20
先说说之前几次DDD项目失败的案例,其实也不能算是失败,只是没有领会DDD的思想。之前的DDD是建立在数据层之上的,首先是每张数据表对应一个数据实体,每个数据实体由泛型的DAO管理,DAO又被数据上下.

DDD CQRS架构和传统架构的优缺点比较

13 14723 24
明天就是大年三十了,今天在家有空,想集中整理一下CQRS架构的特点以及相比传统架构的优缺点分析。先提前祝大家猴年新春快乐、万事如意、身体健康!最近几年,在DDD的领域,我们经常会看到CQRS架构的概念.

使用React,Vue和Single-spa构建微前端Micro Frontends

12592 16 9K
在过去的几周里,围绕微观前端进行了大量讨论(一些是负面的,一些是积极的)。在本教程中,我将分享我所学到的知识,并向您展示如何构建由React和Vue应用程序组成的微前端应用程序。要查看此应用程序的最终.

DDD案例:网上书店

27 18386 26
网上书店是采用DDD设计思想构建的一个应用系统示例,实现网上书店的常用功能:包括浏览书籍、挑选书籍、提交订单、查看订单、自动折扣、处理订单、取消订单等。未登录用户可以浏览和挑选书籍;已登录用户可以提交.

道德经-Jdon软件版

49 23047 24 2K
道德经是一门抽象的哲学,软件也讲究抽象,读读道德经,相当于练练自己的脑子,大有益处,我根据这几年个人感悟和Google里研究,将道德经进行解释一下,有兴趣者可以一起讨论,煮酒论道会英雄。全文25章PD.

DDD经验分享:花了三年时间才精炼出一个干净优雅的领域模型 - cakper

6 8057 21
上周,我提出了一个干净优雅的特定领域模型。这将使我们能够大大简化代码库,同时使业务规则更加灵活。花费了3年的时间才能达到这个a-ha时刻!.

chatgpt-vscode:在VSCode中使用ChatGPT的扩展插件

9463 5
这是一个 VSCode 扩展,允许您直接在 VSCode 中使用 ChatGPT。警告:现在,这更像是一个概念证明!在代码的上下文中使用ChatGPT  您可以单击代码块将其粘贴到编辑器中,或使用选定.

设计模式与系统阶段

8 9168 40 2K
我们经常碰到一个问题:母亲和老婆掉到水里,你先救哪个?这个问题很难回答,我们从GOF设计模式与系统的角度来解剖这个问题。GOF设计模式分三种类型:结构型、创建型和行为型,这三者类型其实对应着一个系统的.

Docker面试问题与解答

17397 11 6K
如今,公司不再一次性发布大量功能,而是试图通过一系列发布列车将小功能传输给客户。这具有许多优点,例如来自客户的快速反馈,更好的软件质量等,这反过来导致高的客户满意度。为实现这一目标,公司必须:增加部署.

Torch是什么?

24842 13
Torch是一个广泛支持机器学习算法的科学计算框架。易于使用且高效,主要得益于一个简单的和快速的脚本语言LuaJIT,和底层的C / CUDA实现:Torch | Github核心特征的总结:1. 一.

Domain Events异步应用

22 15772 33 6K
Domain Events领域事件定义见这里Domain Events – 救世主,领域事件可以实现领域业务模型与技术架构之间的松耦合,达到实现类似DCI架构同样效果。DCI是通过设定一个场景对象,让.

我和banq之间的恩怨---阎宏

153 44360 16 2K
我和banq之间的恩怨直到今日,让我感叹。我们之间最早的摩擦开始于他的一篇关于Abstract Factory的网上文章,中间放了一张我在yesky.com的插图。他本人以免费刊载的方式鼓励转载,因此.

如何实现DDD事件建模的详细步骤 - goeleven

6437 17 4K
为了分析现有的业务流程,我使用了一种称为事件建模的技术。这种建模技术主要集中于识别在业务流程中发生的有意义的业务事件。一旦识别出这些事件,它们便构成了设计过程的基础,该设计过程导致了DDD,CQRS和.

为什么解道访问速度这么快

28 11416 36
10年的时候就开始接触到j道了,我发现页面打开速度是相当的快,基本上1、2秒钟就搞定了,用起来有“很滑”的感觉,不知道J道的高明之处在哪,为什么打开页面速度如此的快?[该贴被admin于201.

通俗解释什么是响应式编程?

12097 22
响应式编程(Reactive Programming 或称反应式编程)是一种流行的编程方法,编写代码是基于对变化的反应。它的灵感来自于我们的日常生活,也即我们如何采取行动以及与他人沟通。我们在执行日常.

SeaTunnel用于海量数据的同步和转换

16049 4
SeaTunnel 是一个分布式、高性能的数据集成平台,用于海量数据(离线和实时)的同步和转换。SeaTunnel 原名 Waterdrop,2021 年 10 月 12 日起更名为 SeaTunne.

disruptor - 并发编程框架

22 29072 14 3K
disruptor - Concurrent Programming Framework 并发编程框架disruptor发布了Java的2.0版本(.Net版本见这里),disruptor是一个高性.

Camunda与Flowable比较: 两个优秀的流程和工作流自动化平台

6444 4 6K
这篇博客简要介绍了自动化工作流平台:Camunda 和 Flowable:Camunda 和 Flowable 是两个用于工作流和业务流程自动化的开源平台,它们为工作流、业务流程和规则的创建、管理和可.

CDI是什么?

16 34576 13 5K
CDI(Contexts And Dependency Injection)是JavaEE 6标准中一个规范,将依赖注入IOC/DI上升到容器级别, 它提供了Java EE平台上服务注入的组件管理核.

分布式事务Saga模式

1 15958 12 5K
两阶段提交2PC是分布式事务中最强大的事务类型之一,两段提交就是分两个阶段提交,第一阶段询问各个事务数据源是否准备好,第二阶段才真正将数据提交给事务数据源,当需要同时更新多个数据源实体时,例如确认订单.

Python中将List列表转换为字符串的三种方法

29901 3K
在 python 中将列表转换为字符串是一种常见的做法。将列表转换为字符串的一个最常见的用例是将列表的内容显示为字符串或进行字符串操作。在python中,有多种方法可以将列表转换为字符串。这些方法在比.

Kubernetes与OpenShift有什么区别? - DZone Cloud

21669 6 2K
OpenShift是由Red Hat开发的容器化软件解决方案。他们的主要产品是OpenShift容器平台,这是由Kubernetes管理的平台即服务(PaaS)。它是用Go和AngularJS编写的,.

NOSQL之旅---HBase

28 25111 17 4K
最近因为项目原因,研究了Cassandra,Hbase等几个NOSQL数据库,最终决定采用HBase。在这里,我就向大家分享一下自己对HBase的理解。 在说HBase之前,我想再唠叨几.

不变性immutablity设计

16 10386 37 2K
不变性是统领业务分析和高性能架构重要法门,通过业务上不变性分析设计,可以实现代码运行的并发高性能和高扩展性。不可变性是一种抽象,它并不在自然界中存在,世界是可变的,持续不断变化。所以数据结构是可变的,.

Spring Boot的五种部署方式

13783 10 10K
可以使用各种方法将Spring Boot应用程序部署到生产系统中。在本文中,我们将通过以下5种方法逐步部署Spring Boot应用程序:在Java Archive(JAR)中作为独立应用程序进行部署.

Spring 3.1 终于加入了Cache支持

56 25178 15
Cache一般是对数据的缓存,数据库思维情形下,认为Cache只要和数据库在一起就可以,因此,过去Spring版本是没有缓存支持,因为他们认为Hibernate或JPA等ORM二级缓存支持就可以了。是.

为什么RESTful微服务和异步编程是一种趋势?

1 20229 14
从Gilt迁移到Scala以及Paypali迁移到Node.js,我认为原因有两个,这两个代表了现在和未来的一种趋势:1. Node.js和Play框架倡导的微服务。微服务这种架构使得维护拓展方便,打.