03 2022 档案
摘要:先从一个示例说起。该示例实现了迭代器模式的数组,可添加、可遍历数组内部的元素。而且还可以判断是否已到了数组末尾。 首先定义了一个接口,本质上是一个迭代器: //迭代器接口 public interface Selector { //判断是否到了数组末尾 boolean end(); //获取当前索引
阅读全文
摘要:所要运行的 py 文件在子目录中,并且该文件引用了另一个子目录中的 py 模块。类似这样: 原因 在运行环境下, a.py 找不到 b.py 所以抛出 ModuleNotFoundError。 解决 把父文件夹的所在路径加入运行环境,代码如下: import os import sys dirnam
阅读全文
摘要:1 什么是静态工厂方法 Java 静态工厂方法是在方法前加上 public static,让这个方法变为公开、静态的方法。该方法返回该类的一个实例,就好像一个工厂生产出一个产品。所以称之为静态工厂方法。在 Boolean.java 中有一个静态工厂方法示例: public static Boolea
阅读全文
摘要:Openfire 是一个基于 XMPP 协议的 IM 服务框架。这里我们来说一说如何安装它。 1 下载 zip 安装包 首先下载 Openfire 安装包,下载路径为:http://www.igniterealtime.org/projects/openfire/ 这里以 zip 安装包为例,数据库
阅读全文
摘要:@ 1 示例模式 RocketMQ 事务消息示例包含一个生产者、消费者、NameServer 以及 Broker 服务,它们之间的关系如下: RocketMQ架构上主要分为四部分[^1]: Producer:消息发布的角色,支持分布式集群方式部署。Producer通过MQ的负载均衡模块选择相应的Br
阅读全文
摘要:@ 2PC 的传统方案是在数据库层面实现的,为了减少不必要的对接成本,国际开放标准组织 Open Group 定义了分布式事务处理模型 DTP(Distributed Transaction Processing Reference Model)。 AP (Application Program):
阅读全文