首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏java一日一条

    InnoDB引擎算法和优化

    1 innodb存储引擎介绍 innodb存储引擎支持两种常见的索引:B+树索引和哈希索引。 innodb支持哈希索引是自适应的,innodb会根据表的使用情况自动生成哈希索引。 DROP PRIMARY KEY | DROP {INDEX|KEY} index_names DROP [ONLINE|OFFLINE] INDEX index_name ON tbl_name 算法 下面演示一个B+数结构,高度为2,每页可放4条记录,扇出(fan out)为5。 同时要考虑插入B+树的三种情况,每种情况都可能导致不同的插入算法。如下表所示: ? B+树插入的3种情况 我们实例分析B+树的插入,在图1的B+树中,我们需要插入28这个值。 旋转结果如图5所示,可以看到旋转操作使B+树减少了一次页的拆分操作,高度仍然为2. ? 图5 B+树的旋转操作 B+树的删除操作 B+树使用填充因子来控制数的删除变化。

    1K10发布于 2018-12-06
  • 来自专栏苏三说技术

    5 种规则引擎,真香!

    10"));     }          if (order.getUser().isVip()) {         discount = discount.add(new BigDecimal("5" 规则引擎通过分离规则逻辑解决这个问题: 规则外置存储(数据库/文件) 支持动态加载 声明式规则语法 独立执行环境 下面给大家分享5种常用的规则引擎,希望对你会有所帮助。 1.五大常用规则引擎 1.1 Drools:企业级规则引擎扛把子 官网:https://www.drools.org/ 适用场景: 金融风控规则(上百条复杂规则) 保险理赔计算 电商促销体系 实战:折扣规则配置 discountSession"); kSession.insert(user); kSession.insert(order); kSession.fireAllRules(); 优点: 完整的RETE算法实现 性能压测数据(单机1万次执行): 引擎 耗时 内存占用 特点 Drools 420ms 高 功能全面 Easy Rules 38ms 低 轻量易用 QLExpress 65ms 中 阿里系脚本引擎 Aviator

    2.2K22编辑于 2025-06-23
  • 来自专栏王念博客

    Thymeleaf HTML5模板引擎

    Thymeleaf的模板还可以用作工作原型,Thymeleaf会在运行期替换掉静态值。例如下面的html文件,当作为静态文件时,product name显示为Red Chair,当运行在容器中并提供product这个对象时,product name的值会自动替换为product.description对应的值。

    2.9K20发布于 2019-07-25
  • 来自专栏程序员互动联盟

    【专业技术】引擎算法探究

    大于3维的空间我们想象不出来,但是算法是一样的。 如果我们有下面的数据 ? 那么通过用欧式距离公式可知: 《机器学习》与《python编程》的距离= ? def loadData(): return[[5, 3, 0, 2, 2], [4, 0, 0, 3, 3], [5, 0, 0, 1, 1], [1, 1, 1, 2 , 0], [2, 2, 2, 0, 0], [1, 1, 1, 0, 0], [5, 5, 5, 0, 0]] 推荐引擎 - 给用户推荐最喜欢的课程 目的:给定一个用户,程序返回 ''' 推荐引擎: 给用户推荐N个最喜欢的课程 input ds: 评价矩阵 userIdx: N: 最高推荐N个结果 simFunc estFunc ''' 而用户3对《Java编程》评价极高(5星),故判断《Struts开发框架》也应该得高分(对于用户3而言)。 局限 * 这个算法需要对整个数据集进行多次复杂的计算,如果数据量很大,则性能可能无法接受。

    90790发布于 2018-03-16
  • 来自专栏修也的进阶日记

    算法手记5

    12600编辑于 2025-03-17
  • 来自专栏Golang语言社区

    HTML5 游戏引擎深度测评

    最近看到网上一篇文章,标题叫做《 2016年 最火的 15 款 HTML5 游戏引擎 》。目前针对HTML5游戏的解决方案已经非常多,但谁好谁差却没有对比性资料。 通常我们都会认为它们是游戏引擎领域两类不同的产品。原文中提及的引擎确实是当下最为流行的HTML5游戏引擎。很多引擎属于2D、3D通吃类型,我们通过一个表格进行对比。 前面已经提及编程语言,游戏开发本身逻辑复杂,算法较多,Phaser提供对TypeScript的支持也是非常明知的。 架构方面,Phaser进行非常多的高度封装。 Egret 定位 Egret算是HTML5游戏引擎中的新起之秀,其定位已不单纯为HTML5游戏引擎。官方将其定位为“游戏解决方案”,同时也并未过多提及HTML5。 设计理念 由于Turbulenz引擎更多的为自己设计,更多的提供runtime支持,从严格意义上将,Turbulenz引擎不算是纯正的HTML5游戏引擎

    7K132发布于 2018-03-22
  • 来自专栏鱼皮客栈

    5 分钟,带你入门 FreeMarker 模板引擎

    所以建议大家直接使用已有的 模板引擎 技术,轻松实现模板编写和动态内容生成。什么是模板引擎?为什么需要它? 本项目中,我会以知名的、稳定的经典模板引擎 FreeMarker 为例,带大家掌握模板引擎的使用方法。 模板引擎的作用上面已经讲过了模板引擎的作用,这里就再用 FreeMarker 官网的一张图,强化下大家的理解。 label", "老鱼简历");menuItems.add(menuItem1);menuItems.add(menuItem2);dataModel.put("menuItems", menuItems);55、宏定义学过 C 语言和 C++ 的同学应该对 “宏” 这个词并不陌生。可以把 “宏” 理解为一个预定义的模板片段。支持给宏传入变量,来复用模板片段。其实类似于前端开发中组件复用的思想。

    3.6K10编辑于 2023-12-06
  • 来自专栏Golang语言社区

    HTML5游戏引擎深度测评

    最近看到网上一篇文章,标题叫做《2016年 最火的 15 款 HTML5 游戏引擎》。目前针对HTML5游戏的解决方案已经非常多,但谁好谁差却没有对比性资料。 通常我们都会认为它们是游戏引擎领域两类不同的产品。原文中提及的引擎确实是当下最为流行的HTML5游戏引擎。很多引擎属于2D、3D通吃类型,我们通过一个表格进行对比。 但绝大部分HTML5游戏引擎还是采用JavaScript语言。只有4款引擎选择支持TypeScript。 前面已经提及编程语言,游戏开发本身逻辑复杂,算法较多,Phaser提供对TypeScript的支持也是非常明知的。 架构方面,Phaser进行非常多的高度封装。 Egret定位 Egret算是HTML5游戏引擎中的新起之秀,其定位已不单纯为HTML5游戏引擎。官方将其定位为“游戏解决方案”,同时也并未过多提及HTML5

    9K91发布于 2018-03-27
  • 来自专栏知识兔下载

    Unreal Engine 5【UE5虚幻引擎】下载安装教程

    虚幻引擎是全球最先进的实时3D创作工具,可制作照片级逼真的视觉效果和沉浸式体验。虚幻引擎是一套完整的开发工具,面向任何使用实时技术工作的用户。 从设计可视化和电影式体验,到制作PC、主机、移动设备、VR和AR平台上的高品质游戏,虚幻引擎能为你提供起步、交付、成长和脱颖而出所需的一切。 虚幻引擎5某些渲染功能的系统要求和最低要求有所不同。 UE5功能 系统要求 Lumen全局光照和反射系统 软件光追:使用DirectX 11的显卡,并且支持Shader Model 5硬件光追:带有DirectX 12支持的Windows 10系统显卡必须是 3、点击“虚幻引擎”来安装ue5 4、点击右上角的“没有安装”右边的小倒三角形 5、然后勾选授权协议,点击接受 6、设置安装位置 7、等待安装中 8、安装完成,点击启动,然后就可以使用了。

    23.4K40编辑于 2023-01-31
  • 来自专栏罗西的思考

    PyTorch 分布式 Autograd (5) ---- 引擎(上)

    [源码解析] PyTorch 分布式 Autograd (5) ---- 引擎(上) 目录 [源码解析] PyTorch 分布式 Autograd (5) ---- 引擎(上) 0x00 摘要 0x01 1.1 引擎入口 引擎入口在 backward 函数中有调用,从 DistEngine::getInstance().execute 进入到引擎,由前文可知,这里是主动调用引擎。 0x05 计算依赖 我们回忆一下设计文档中的 FAST模式算法。该算法的关键假设是:当我们运行反向传播时,每个send函数的依赖为 1。换句话说,我们假设我们会从另一个节点通过 RPC 接收梯度。 本章就是对应了算法的前三项,这部分是和普通引擎最大区别之一。 5.1 总体过程 计算依赖分为两大部分,第一部分是做准备工作,第二部分是计算依赖关系,第三部分是根据依赖关系来得到需要计算哪些函数。 5.4.1 算法 现在让我们计算需要执行哪些函数。算法如下: 创建一个虚拟GraphRoot,它指向此上下文和原始GraphRoot的所有"发送"函数。

    74520编辑于 2021-12-06
  • 来自专栏Keegan小钢

    价值超5万的撮合引擎:开篇

    前言 自从有人在微信群里开价5万求购Golang版的撮合引擎之后,我就想自己开发一款,毕竟,以我的经验来说,开发个高性能的撮合引擎并没什么难度。 因此决定,干脆就以连载的方式,分享下我是如何设计与实现这款价值超5万的撮合引擎的。 本来,想发成掘金小册,收点稿费,毕竟这是个具有很大商业价值的软件,但问了掘金的人员,他们目前不接收这类主题。 撮合引擎是可以具有通用性的,一套具有通用性的撮合引擎实现理论上可以应用到任何撮合交易系统中,而无需做任何代码上的调整。 5.检查用户的资产账户情况,包括账户状态是否交易受限,是否有足够资金用于下单等。6.将详细的委托单数据持久化到数据库,并冻结用户账户中相应数量的资金。 其中,只有第7步是撮合引擎处理的。从单一职责原则来说,撮合引擎就应该只做一件事,那就是负责撮合订单。撮合之前的委托单持久化、冻结资金等,以及撮合之后生成K线数据等,都不应该属于撮合引擎的职责。

    1.9K52发布于 2019-11-20
  • 来自专栏java初学

    MD5算法

    简介   MD5消息摘要算法(MD5 Message-Digest Algorithm),是一种被广泛使用的加密算法。 该算法讲任意的输入处理之后,输出一个128位的数据指纹,理论上这个信息指纹是独一无二的,因此我们可以通过验证文件传输前后的MD5值是否一致来验证文件信息是否被篡改。 生成MD5的过程 MD5是以512位分组来处理输入的信息,每一个分组被划分为16个32位子分组,经过一系列处理之后,算法的输出变成了4个32位分组,将这4个分组组合,即得到一个128位的散列值,即MD5

    1.1K40发布于 2018-06-21
  • 来自专栏博文视点Broadview

    畅行HTML5游戏世界——Egret引擎

    2015年,HTML5游戏异常火爆,从最初的单机小游戏,到后来的中重度网络游戏如雨后春笋般涌现。随着市场需求的增多,越来越多的开发者投入到HTML5游戏开发行业中来。 在HTML5和移动游戏强大的发展趋势下,Egret引擎应运而生,Egret 引擎专注于移动设备上的HTML5 游戏开发,为HTML5 游戏开发者提供了无可比拟的快捷开发游戏的方式。 (由Egret引擎开发的游戏截图) Egret 引擎×特点 由于Egret 引擎专注游戏开发,因此下面就从游戏开发涉及的各方面来介绍引擎的特点。 跨平台 Egret 本身是用来开发HTML5 页面游戏的,但Egret 引擎早已考虑了广大开发者制作原生游戏的需求,因此提供了Android Support 和iOS Support,使得原本只能在HTML5 相 关 图 书 《Egret—HTML5游戏开发指南》 Egret精粹 白鹭引擎诚意之作 全面系统 海量案例 张鑫磊 等 著

    4K10发布于 2020-06-11
  • 来自专栏CSDN搜“看,未来”

    【C++】算法集锦(5):BFS算法

    文章目录 BFS算法框架 框架代码 简单题:二叉树的最小高度 拔高题:解开密码锁的最少次数 一波优化:双向BFS BFS算法框架 BFS算法和DFS算法属于图论算法的范畴,DFS在前面回溯中,可以去看一下 BFS算法用于寻找两点之间的最短路径。 碧如说:寻找树的最小高度(迭代法)、走迷宫、导航等问题。 这些问题看起来都会比较抽象,去做也是很抽象。 与其说算法框架难写,倒不如说是把实际问题转化为算法问题来的要难。 还记得我在图论算法那篇里面有讲过:学习图论算法,最难的是要有用图论算法的意识。等下看了例题就知道了。 int BFS(Node start,Node target){ /* 这是一个BFS算法的代码框架 return:返回从start到target的最短步数 start:起始点 target 好,关键的一步来了,怎么将这个暴力算法往图论算法的方向去引呢。 再看一下上面这个暴力算法,不难看出来,这就是一个节点下面拖八个子节点的八叉树,又是求最短距离,BFS。

    1K30发布于 2021-09-18
  • 规则引擎开发现在已经演化成算法引擎

    Together规则引擎的基本结构规则引擎就是个程序,它用专家的知识来解决问题,给出答案。它也叫基于规则的管理系统或者决策管理系统DRMS。推理算法就是规则引擎的大脑,它管理着一大堆规则和事实。 规则引擎推理算法原理Rete 算法:这是一种高效的模式匹配算法,广泛用于专家系统和规则引擎中。它通过构建一个网络结构,减少重复匹配的计算,提高处理大量规则和数据的效率。 Rete 算法及其衍生算法Rete-II、Rete-III、Rete-NT、Rete-OO,是为规则引擎推理算法而生,历史悠久,而且不断迭代演进。主流厂商的规则引擎大都采用Rete 算法及其衍生算法。 因此Rete 算法已经成为行业的事实标准。规则引擎适用场景规则引擎主要用于执行基于条件的业务规则判断和决策,而不是实现通用逻辑算法。 拒绝匹配拥抱算法Together规则引擎抛弃了传统规则引擎线性匹配的规则建模方式,但它包含了传统规则引擎

    38810编辑于 2025-09-04
  • 来自专栏java初学

    MD5算法

    简介   MD5消息摘要算法(MD5 Message-Digest Algorithm),是一种被广泛使用的加密算法。 该算法讲任意的输入处理之后,输出一个128位的数据指纹,理论上这个信息指纹是独一无二的,因此我们可以通过验证文件传输前后的MD5值是否一致来验证文件信息是否被篡改。 生成MD5的过程 MD5是以512位分组来处理输入的信息,每一个分组被划分为16个32位子分组,经过一系列处理之后,算法的输出变成了4个32位分组,将这4个分组组合,即得到一个128位的散列值,即MD5

    1.4K60发布于 2018-05-14
  • 来自专栏mukekeheart的iOS之旅

    md5算法

    md5算法 不可逆的:原文--》密文、用系统的API可以实现; 123456 ---密文 1987 ----密文;  算法步骤: 1、用每个byte去和11111111做与运算并且得到的是int类型的值 throws NoSuchAlgorithmException { 2 3 MessageDigest digest = MessageDigest.getInstance("md5" ); 4 5 String password = "123456"; 9 byte [] result = digest.digest(password.getBytes 37 System.out.println(buffer); 38 39 }   会抛出没有事先准备的算法异常NoSuchAlgorithmException; 4、网站验证算法是否正确 (www.cmd5.com)、加密再加密再演示 5、密码加盐,即byte相与的数不上标准的oxff,我们进行修改为oxfff或其他的 6、银行密码保存是进行了15~30次重复加密,破解非常复杂,不用担心安全性

    1.5K60发布于 2018-02-28
  • 来自专栏Hsinyan写字的地方

    Python算法实践Week5-排序算法

    第二轮比较:从第一个元素开始,对列表中前N-1个元素之间进行两两比较,使第二大的数字沉到最后 以此类推,N-1轮后,排序完毕 冒泡排序算法的实现 list = [77, 42, 35, 10, 22, 101, 5] for i in range(len(list) - 1): for j in range(len(list) - 1 - i): if list[j] > list ,就说明已经排好序了 # 改进 list = [77, 42, 35, 10, 22, 101, 5] for i in range(len(list) - 1): flag = True 算法主要时间消耗是比较的次数 冒泡算法共需比较N-1轮,总共比较次数为(N-1)+(N-2)+...+2+1=N(N-1)/2次 冒泡排序执行交换的次数不确定 冒泡排序是一种执行效率很低的排序算法 0x03 if a[j] > a[i]: a[j], a[i] = a[i], a[j] list = [77, 42, 35, 10, 22, 101, 5]

    43210编辑于 2022-06-19
  • 来自专栏二猫の家

    5.算法设计与分析__回溯算法

    回溯算法 1 回溯算法的理论基础 1.1 问题的解空间 1.2 回溯法的基本思想 1.3 子集树与排列树 2 装载问题 3 0-1背包问题 4 图的m着色问题 [5 n皇后问题](https://blog.csdn.net 遍历子集树的任何算法,其计算时间复杂度都是Ω(2n)。 算法6.3(1) 装载问题回溯算法的数据结构 算法6.3(2) 装载问题回溯算法的实现 算法6.3(3) 剩余集装箱的重量r初始化 3 0-1背包问题 给定一个物品集合s={1,2,3 算法6.5(1) 图的m着色问题回溯算法的数据结构 算法6.5(2) 图的m着色问题回溯算法的实现 //形参t是回溯的深度,从1开始 void BackTrack(int t ) {   int BackTrack(int t)的时间复杂度是: 5 n皇后问题 6 旅行商问题 7 流水作业调度问题 8 子集和问题 9 ZOJ1145-Dreisam Equations 10 ZOJ1157

    1.3K20编辑于 2022-11-30
  • 来自专栏Keegan小钢

    价值超5万的撮合引擎:MVP版本

    前言 开篇文章发出去之后,我的撮合引擎被一位超级大佬(曾担任上交所的首席架构师)定位为玩具,直接将我的撮合引擎和国家级撮合引擎作对比了。 如果我的撮合引擎达到上交所级别,那就不止值5万了,估计至少值500万了。不过,我的撮合引擎随着不断升级迭代,以后能达到国家级别也说不定。 我的撮合引擎第一个版本也是一个 MVP,只实现最基础的功能。所谓最基础的功能,即是说,如果移除了该功能,整个系统都无法完成工作。 汇总一下,我们的 MVP 版本要实现以下这些功能: 1.支持连续竞价的撮合方式;2.支持限价交易、支持撤单;3.支持下单和撤单结果的下发;4.采用内存撮合技术,在内存里维护交易委托账本;5.需要缓存数据 •CloseEngine:将指定交易对的撮合引擎关闭。•Dispatch:将不同交易对的委托单分发到相应的撮合引擎。 Engine 即是每个交易对的撮合引擎协程或线程了。

    1.3K20发布于 2019-11-20
领券