草庐IT

一篇读懂 Android 开发中模块化、组件化、插件化和热修复

前言网上关于“Android开发"的文章很多,我本人学习Android开发的过程也借鉴了网上先辈们的文章;但大多数文章都从底层的细枝末节开始讲述,由下而上给人一种这门技术“博大精深”望而生畏的感觉;而我写这篇文章的初衷就是由上而下,希望别人在阅读的过程中能够觉得“模块化、组件化、插件化、热修复原来是这样的啊!”的感觉模块化模块:最初的目的是将同一类型的代码整合在一起;所以模块的功能相对复杂,但都同属于一个业务;不同模块之间也会存在依赖关系;但大部分都是业务性的互相跳转,从地位上来说它们都是平级的特点:分属同一功能/业务的代码进行隔离(分装)成独立的模块,可以独立运行;以页面、功能或其他不同粒度

一篇读懂Java工厂设计模式

概述本文将解释Java中的工厂设计模式:工厂方法和抽象工厂,并用实际例子来说明如何实现该模式。工厂方法模式比如为一家汽车制造商开发一款应用程序。起初,该客户制造的车辆仅使用燃油发动机。因此,为了遵循单一责任原则(SRP)和开闭原则(OCP),我们使用工厂方法设计模式。工厂方法模式通过将产品的构造代码与使用该产品的代码分离来解耦合。首先,在我们的示例应用程序中,定义了MotorVehicle接口。这个接口只有一个方法build(),用于制造特定的机动车辆:publicinterfaceMotorVehicle{voidbuild();}下一步是实现MotorVehicle接口的具体类。我们创造了

一篇读懂分布式数据库的健康评估

​前阵子和一个做数据库服务的朋友交流,他们承接了某个企业的国产分布式数据库的运维工作,安排了一个该数据库的认证工程师驻场做服务,不过从半年的工作情况来看,效果并不好。作为分布式数据库的运维,平时小问题也不需要DBA介入,分布式数据库的故障自愈能力能够很好的屏蔽这些小问题,并且能够在短时间内完成自愈。如果真的出了大问题,DBA面对数十个节点的分布式数据库环境又束手无策,很难定位问题,这种情况让他们感到很困惑。实际上这个问题还是挺复杂的,涉及到分布式数据库这种典型的分布式系统与集中式数据库之间在架构与功能上的巨大差异。在传统的数据库运维上,我们习惯于查看一些指标,例如CPU负载,锁超时,活跃会话数

一篇读懂分布式数据库的健康评估

​前阵子和一个做数据库服务的朋友交流,他们承接了某个企业的国产分布式数据库的运维工作,安排了一个该数据库的认证工程师驻场做服务,不过从半年的工作情况来看,效果并不好。作为分布式数据库的运维,平时小问题也不需要DBA介入,分布式数据库的故障自愈能力能够很好的屏蔽这些小问题,并且能够在短时间内完成自愈。如果真的出了大问题,DBA面对数十个节点的分布式数据库环境又束手无策,很难定位问题,这种情况让他们感到很困惑。实际上这个问题还是挺复杂的,涉及到分布式数据库这种典型的分布式系统与集中式数据库之间在架构与功能上的巨大差异。在传统的数据库运维上,我们习惯于查看一些指标,例如CPU负载,锁超时,活跃会话数