这是我参与[第五届青训营]伴学笔记创作活动的第8天
认识规则引擎
什么是规则引擎?
规则引擎能够将业务和代码进行解耦,提高业务效率,降低开发成本
规则引擎的组成部分
- 数据输入
- 规则理解
- 规则执行
规则引擎的应用场景
- 风控对抗
- 活动策略运营
- 数据分析与清洗
编译原理基本概念
为什么要从规则引擎讲到编译原理呢?
这是因为规则引擎本质是一套语法,我们要去解析用这套语法写的表达式,用解析出来的内容来执行表达式,这就是编译和执行。
什么是编译?
这是我参与 编译可以理解成翻译,将源代码转成目标代码,比如高级语言转换成机器语言(程序员能够的理解的语言转成机器人能够听懂的语言)
【注意】如果在操作系统上执行需要转成机器码 ,但是如果在虚拟机中,那目标代码就可以不是汇编代码,而是一种解释器能够理解的中间代码
编译的过程?
编译一般分为哪几个步骤?
预处理、编译、汇编以及链接
解释性语言和编译性语言的区别?
编译性语言就是一次性转换完成,c,c++,go 使用的工具是编译器
解释性语言就是一行解释一行执行,比如java,python,javascript 用的工具是解释器或者虚拟机
java语言是既有编译又有解释的语言,编译是转成字节码文件,再放到虚拟机里执行
python解释器和java虚拟机有什么区别?
- “虚拟机”对二进制字节码进行解释,而“解释器”是对程序文本进行解释。
- “Java 虚拟机”这个术语在 Java 社区中具有历史意义并且非常成熟,“Python 解释器”这个术语在 Python 社区中具有历史意义并且非常成熟。