规则引擎-01-drools 框架入门
Drools
Drools is a rule engine, DMN engine and complex event processing (CEP) engine for Java.
适用于Java™和JVM平台的开源规则引擎,DMN引擎和复杂事件处理(CEP)引擎。
Drools是一个业务规则管理系统,具有基于前向链接和后向链接推理的规则引擎,可以快速,可靠地评估业务规则和进行...
2020-05-26 08:05:35 |
Engine
规则引擎-00-入门
规则引擎
规则引擎起源于基于规则的专家系统,而基于规则的专家系统又是专家系统的其中一个分支。
专家系统属于人工智能的范畴,它模仿人类的推理方式,使用试探性的方法进行推理,并使用人类能理解的术语解释和证明它的推理结论。
利用它就可以在应用系统中分离商业决策者的商业决策逻辑和应用开发者的技术决策,并把这些商业决策放在中心数据库或其他统一的地方,让它们能在运行时可以动态地管理和修改,从而为企...
2020-05-26 08:05:35 |
Engine
配置增量加载设计方案
背景
我们经常需要去实现各种配置的加载,有时候需要处理一些变化。
最简单的策略就是定期全量加载,不过如果配置较多,可能会产生 GC,对实时链路影响较大。
trade-off
配置的定期加载是【频率】与【耗时】之间的一个权衡。
实际业务中,我们都希望配置变更,立刻生效。但是实现上有些困难。
可行的方案主要有:
(1)mq 通知,内存同步更新
(2)存储到 redis 等共享的三...
2020-05-26 08:05:35 |
Design
FrontJS 前端监控
快你一步捕捉 Bug
FrontJS 提供准确、实时、完整的程序错误、资源加载、网络请求信息及网站性能监测报告,帮助开发者快速追踪网站故障,及时修复问题,维护网站质量,指导改善用户体验。
个人收获
如果只是简单使用这个工具,实际上个人的技术收获是比较少的。
从侧面可以看出,监控是可以做到这么简单的。
前端的监控也是非常强的一种需求,值得我们学习这种模式。
参考资料
FrontJ...
2020-05-14 05:49:13 |
Monitor
java UUID 源码学习
UUID
我们平时在使用 UUID 的时候觉得非常简单,甚至很多人觉得这没什么技术含量。
那么深入思考一层,UUID 的实现原理是什么?
源码
类声明
public final class UUID implements java.io.Serializable, Comparable<UUID> {
/**
* Explicit serialVer...
2020-05-14 05:49:13 |
Java
C语言学习笔记-31-命令行参数
命令行参数
执行程序时,可以从命令行传值给 C 程序。
这些值被称为命令行参数,它们对程序很重要,特别是当您想从外部控制程序,而不是在代码内对这些值进行硬编码时,就显得尤为重要了。
命令行参数是使用 main() 函数参数来处理的,其中,argc 是指传入参数的个数,argv[] 是一个指针数组,指向传递给程序的每个参数。
例子
下面是一个简单的实例,检查命令行是否有提供参数,并根...
2020-05-08 11:23:59 |
C
C语言学习笔记-30-内存管理
C 内存管理
本章将讲解 C 中的动态内存管理。C 语言为内存的分配和管理提供了几个函数。这些函数可以在 头文件中找到。
函数
描述
void *calloc(int num, int size);
在内存中动态地分配 num 个长度为 size 的连续空间,并将每一个字节都初始化为 0。所以它的结果...
2020-05-08 11:23:59 |
C
C语言学习笔记-29-可变参数
C 可变参数
有时,您可能会碰到这样的情况,您希望函数带有可变数量的参数,而不是预定义数量的参数。
C 语言为这种情况提供了一个解决方案,它允许您定义一个函数,能根据具体的需求接受可变数量的参数。
实例
下面的实例演示了这种函数的定义。
int func(int, ... )
{
.
.
.
}
int main()
{
func(2, 2, 3);
...
2020-05-08 11:23:59 |
C