了解规则引擎 | 青训营笔记

39 阅读2分钟

这是我参与[第五届青训营]伴学笔记创作活动的第8天

认识规则引擎

什么是规则引擎?

规则引擎能够将业务和代码进行解耦,提高业务效率,降低开发成本

规则引擎的组成部分

  • 数据输入
  • 规则理解
  • 规则执行

规则引擎的应用场景

  • 风控对抗
  • 活动策略运营
  • 数据分析与清洗

编译原理基本概念

为什么要从规则引擎讲到编译原理呢?

这是因为规则引擎本质是一套语法,我们要去解析用这套语法写的表达式,用解析出来的内容来执行表达式,这就是编译和执行。

什么是编译?

这是我参与 编译可以理解成翻译,将源代码转成目标代码,比如高级语言转换成机器语言(程序员能够的理解的语言转成机器人能够听懂的语言)

【注意】如果在操作系统上执行需要转成机器码 ,但是如果在虚拟机中,那目标代码就可以不是汇编代码,而是一种解释器能够理解的中间代码

编译的过程?

编译一般分为哪几个步骤?

预处理、编译、汇编以及链接

解释性语言和编译性语言的区别?

编译性语言就是一次性转换完成,c,c++,go 使用的工具是编译器

解释性语言就是一行解释一行执行,比如java,python,javascript 用的工具是解释器或者虚拟机

java语言是既有编译又有解释的语言,编译是转成字节码文件,再放到虚拟机里执行

python解释器和java虚拟机有什么区别?

  • “虚拟机”对二进制字节码进行解释,而“解释器”是对程序文本进行解释。
  • “Java 虚拟机”这个术语在 Java 社区中具有历史意义并且非常成熟,“Python 解释器”这个术语在 Python 社区中具有历史意义并且非常成熟。