自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 mysql 查询两门以上不及格学生名字及其平均成绩

mysql 查询两门以上不及格学生名字及其平均成绩

2022-06-21 10:51:53 5846

原创 Drools7工作内存facts

调用insert()方法插入数据大家是都知道的,插入drools的数据对象会储存在 工作内存中,通常每次插入一个新的数据对象,drools引擎就会返回一个新的FactHandle对象实例,但是相同的数据对象仅会在工作内存中保留一个,当插入“相同”数据时,不会再插入新的实例,但会返回之前的FactHandle对象。 本文将分享drools7判断 数据对象之间相等的两种模式:identity 和 equality。两种模式下判断数据对象“相同”的策略完全不同。 ...

2021-09-17 18:57:54 656 2

原创 Drools 7 规则引擎简介

一、什么是drools 规则引擎?drools规则引擎是用来存储我们业务中一些评估和处理数据的业务规则或决策表。其基本用途就是以这些规则和决策表集合为依据,推理、检测、过滤业务数据并执行对数据进行处理或执行相关操作。二、Drools引擎的核心组件▶Rules:所有的业务规则和决策表都叫做规则。所有的规则都由规则条件校验(LHS 或conditions)和逻辑处理(RHS 或 actions)两部分组成;▶Facts:业务数据或者称之为“事实”。所...

2021-09-08 17:20:08 692

原创 button标签重复提交的原因

form表单中使用<button> 有可能会在造成表单重复提交的问题,原因是 <button> 的type属性是有默认值的。IE浏览器默认值是 "button" 即 <button type = "button">按钮</button> ;而其他浏览器默认值是"submit" 即<button type = "submit">按钮</button>;众所周知,...

2021-09-02 15:10:42 461

原创 java Set集合接口

Set接口实现了Collection接口中的方法,并增加了禁止重复元素的限制。1. HashSet、TreeSet、LinkedHashSet三个类均实现了Set接口:HashSet:通过散列表(实际是一个HashMap 实例对象)实现了set,迭代顺序是无序的,性能最好;TreeSet:通过红黑树实现了接口,其中的元素必须实现Comparable接口从而实现其值的排序,性能最差;LinkedHashSet:它继承了HashSet类,并使用一个链表记录插入顺序(重复插入不记录插入顺序),链表

2021-03-13 17:09:42 100

原创 go切片的长度和容量

go的切片是有指针、长度和容量三部分组成的。它本质是对底层数组的引用,本身不存储数据;也就是说一个切片的声明必定会对应一个底层数组。示例://示例1: //声明一个数组aa:=[5]int{1,2,3,4}//a[:]等价于a[0:4]创建一个数组a 的切片s, 数组a就是 切片s的底层数组s := a[:] //示例2://会先分配一个数组作为切片s的底层数组,然后返回一个引用该数组的切片s:=[]int{1,2,3,4} //nil切片长度为0,容量为0,没有底层数组var

2021-03-05 11:56:36 376

原创 Drools 7 规则引擎执行控制之rule units对规则的协调执行

单独写一下rule units吧,rule units也是执行控制中的一部分,这一块儿的内容比较丰富也挺有意思。一、简述rule units 需要实现RuleUnit接口,它由运行时数据(date sources of facts),globals,DRL rules 和function组成。可以将一组rules 划分为更小的 rule units,然后逐个执行rule units。rule units之间可以互相调用,因为每个rule units 可以有一个或一个以上的rule,算是变相的支持了规

2020-12-02 12:01:45 1214

原创 Drools 7 中function调用global报错问题

在技术群里遇到网友问到一个function 调用global报错的问题,这里写个程序复现一下先。1.定义一个service 一会儿作为global set到drools kiesessionpackage com.helloworld.Service;public class TestService { public void testGlobal(String str){ System.out.println("java application print:"+st

2020-11-27 15:17:02 1916 2

原创 Drools 7 用OOPath遍历嵌套类型的实体对象

Drools 7 基于XPath的OOPath用于简化对象或者内层嵌套的对象属性的遍历。这个话题很拗口,简单点讲就是一种带有筛选条件的访问实体或实体内部嵌套的实体及其属性的方式

2020-11-20 10:41:10 1151

原创 drools 7 规则引擎执行控制(Excution control)之规则冲突策略

一、Fact存储形式1.drools 引擎组件主要如下: •Rules - 业务规则或者决策表,包含规则条件和业务数据处理逻辑 •Fact -业务数据实例,Drools引擎将这些数据与规则条件匹配,以执行适用的规则。 •Production memory - 用于储存规则 •Working memory - 用于存储业务数据和规则匹配实例(activation instance) •agenda - 匹配实例(activation instance)注册和排序...

2020-11-11 16:22:42 1482

原创 Drools7 KIE session pool

drools 支持创建KIE session pool用于性能提升。1.KIE session pool的创建KieServices ks = KieServices.Factory.get();KieContainer kc = ks.getKieClasspathContainer();//1.从KieContainer创建初始量为10个session的池KieContainerSessionsPool pool = kc.newKieSessionsPool(10);//2.从池中获

2020-11-07 14:41:06 2049 2

原创 双栈算术表达式求值算法

问题:java 解析并计算字符串表达式 “(1+2)*(3+8/(2*2))”分析:1.运算的优先级规则如何表达 可以使用括号代替优先级规则表示,优先级高的用括号括起来,优先计算括号内的表达式。2.计算符号和计算因子的存储和操作 计算符号和计算因子分别存在两个栈(后进先出)中,忽略左括号,当遇到右括号时,弹出一个计算符号和两个计算因子。同时为了方便写程序表达式整体也加到一组括号中,所以字符串表达式更改为:“((1+2)*(3+(8/(2*2))))”代码如下://...

2020-08-01 15:58:56 210

原创 Drools7 Map集合的遍历(遍历map的键值对)

本文将分享几个遍历map集合的方法。 最近遇到个蛋疼的事情,《Drools7中Map类型数据源操作》一文中提到“本文介绍了Map类的数据源在drools的condition部分遍历的方法。”,然后示例中写的是从工作内存中带有条件的遍历Map类型实例,有人质疑这文章与大纲不符,示例不是写的遍历。什么叫遍历,在我看来遍历直白点不就是循环查询嘛,循环查询集合叫遍历,加了个条件筛选,循环查询内存就不是遍历?抬杠! 进入正题!!!说明一下:以下drl部分代码使用设置为java类型...

2020-05-20 17:22:46 4116

原创 java项目访问drools工作内存中的数据(fact)

本文将分享几种从drools外部访问drools工作内存中数据的方法。实体类如下://客户public class Customer { private Integer id; private String name; private String level; private double discount;//折扣率 private bool...

2020-04-22 18:21:43 1384

原创 drools7 DRL规则语言之二(package、import、function)

本文将简介package、import组件,会较多的介绍function组件。一、package和import 这么大的标题,其实没什么可介绍的。本来也没想写这两部分,但是为了完整,还是凑了两句。 package 实际就是一个符合java命名规范的域名,多个drl文件可重复使用,namespace跟drl文件的保存路径并没有关系,可任意定义,但是位置必须...

2020-04-06 18:54:00 2490

原创 drools7 DRL规则语言之一(概述)

DRL即Drools Rule Language的简写,以后缀为.drl的文件的形式存在。每个DRL文件中可以存放一个或多个业务规则(rule),每个业务规则最少要包含规则条件部分(when)和业务处理部分(then),每个rule可简单的理解为java中的if语句块,复杂的业务规则可拆分为单个独立的简单的rule,用这样的一组rule来描述完整的业务规则逻辑。可以使用IDEA配置...

2020-04-06 14:52:46 835

原创 drools7 rule的优化写法,规则继承或扩展

本文将介绍drools7中规则的继承。官方文档对应章节标题为 “conditional named consequences”,这里之所以称之为“继承”是因为在编写rule时会用到“extends ”,这样翻译其实是有一定问题的,翻译为扩展更准确些。本文将结合官方文档中的案例进行阐述。 通常每个rule只会写一个then,当多个rule仅其中某一个条件不一致时,就会写很多重复的代码...

2019-12-09 21:24:29 2332 1

原创 drools 7 日期时间段校验

本文分享一个drools校验日期区间内时间段的校验方法。 案例如下:电商品台新增一个促销活动,2019年10月份,限时每天10点至13点,下单9折活动。 首先可以用 date-effective 和 date-expires 两个属性限制日期区间为2019-10-01 至 2019-10-31,但是每天10点至11点该怎样限制呢?下面给出我的想法,算是抛砖引玉。1...

2019-10-23 13:25:40 2228

原创 Drools7中的万能函数accumulate

本文将介绍一下Drools7中accumulate的用法及其在遍历List时的一些问题,同时也会分享几个使用场景。 虽然 accumulate 虽然只是Drools中的一个关键字,但是它的功能很强大,在实际开发中我用于统计、多个List集合交叉校验、数据预处理、甚至是运行调试。但是个人感觉有些细节很难把握到,例如:循环;所以这篇文章写得比较啰嗦,既然要搞清楚它,那就请按捺住浮躁的...

2019-06-26 16:03:56 5459 2

转载 方差增量算法(java)

本文转载了一篇关于方差增量算法的文章,代码实现转换成 java。原文地址如下:https://www.cnblogs.com/yoyaprogrammer/p/delta_variance.html,感谢作者的分享。 原文中关于公式推导写的很清晰了,这里只把原文中的代码实现转换成 java 代码。1.entity 数组沉淀因子类,其中封装了数组增量方法,public ...

2019-06-21 16:51:51 1615 2

原创 Drools 7 遍历List集合

本文将分享几种Drools7中对List类型数据的遍历方法。1.场景一:遍历工作内存中的一个List集合,且工作内存中只有一个List时。entity:public class Animal { private Integer id; private String name; public Animal(Integer id, String name) {...

2019-06-18 17:28:58 12924 2

原创 Drools7 中Map类型数据源操作

本文介绍了Map类的数据源在drools的condition部分遍历的方法。1.entitypublic class SimpleEntity { private Integer id; private Date date; public Integer getId() { return id; } public void setId(Integer id) { t...

2018-10-31 15:46:15 7452 13

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除