首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏用户3645619的专栏

    8)FlinkSQL自定义UDF

    Flink提供了自定义函数基础能力,在需要满足特殊业务场景需求时,根据自身需要按需定制自己UDF 下面将简单演示一个UDF定义和UDF使用过程: (1)定义一个UDF package com.udf 直接调用自定义udf 函数 // table.select(call(myFunction.class,$("id"))).execute().print(); 先注册在使用 tableEnv.createTemporarySystemFunction("MyLength",myFunction.class); //2.1 在使用注册定义函数 MyLength // table.select(call("MyLength",$("id"))).execute().print(); // 2.2 采用sql 方式进行使用自定义函数

    77730编辑于 2022-08-08
  • 来自专栏小工匠聊架构

    Java 8 - 自定义Collector

    我们已经看过了 Collector 接口中实现许多收集器,例如 toList 或 groupingBy 。这也意味着可以为 Collector 接口提供自己实现,从而自由地创建自定义归约操作。 我们可以很好地了解 Collector 接口是怎么定义,以及它方法所返回函数在内部是如何为collect 方法所用。 ---- Collector接口声明方法 首先让我们在下面的列表中看看 Collector 接口定义,它列出了接口签名以及声明五个方法。 ? T 是流中要收集项目的泛型。 现在,所有的子流都可以并行处理,即对每个子流应用【见顺序归约过程逻辑步骤】顺序归约算法。 最后,使用收集器 combiner 方法返回函数,将所有的部分结果两两合并。 >(); String[] arrs = new String[]{"Artisan", "Yang", "Hello", "Lambda", "Collector", "Java 8"

    67710发布于 2021-08-17
  • 来自专栏xingoo, 一个梦想做发明家的程序员

    【AngularJS】—— 8定义指令

    AngularJS支持用户自定义标签属性,在不需要使用DOM节点操作情况下,添加自定义内容。 前面提到AngularJS四大特性:   1 MVC   2 模块化   3 指令   4 双向数据绑定 下面将会介绍如下内容: 1 如何自定义指令   2 自定义指令使用    那么看看它都定义了哪些内容吧:   1 restrict:定义了标签使用方法,一共四种,分别是AECM   2 template:定义标签模板。 当想要在现有的html标签上扩展属性时,采用属性方式。   当想要自定义标签时,采用标签形式。   想要使用那种方式,必须要在定义directive中restrict里面声明对应字母。    ng-app="myApp"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-<em>8</em>"

    1.4K90发布于 2018-01-17
  • 来自专栏性能与架构

    MySQL8 Hash join 算法

    以前 MySQL join 算法只有 nested loop 这一种,在 MySQL8 中推出了一种新算法 hash join,比 nested loop 更加高效。 和构建阶段写入块文件思路相同,这样,构建阶段块文件和此处块文件就是一一对应关系了。 ? 在正常探测流程走完之后,开始处理这些块文件中内容了。 逐一加载构建阶段块文件到内存中,加载过程和正常构建过程一致,对块文件中每行数据进行 hash 计算,放入内存 hash table 中。 小结 hash join 算法先选一个小表,放入内存 hash table,然后扫描另一个表,与 hash table 匹配出结果数据。 当表太大,无法一次放入内存时,就分而治之,写入块文件,再对每个块文件走一遍正常时流程。 参考资料: https://mysqlserverteam.com/hash-join-in-mysql-8/

    1.5K30发布于 2019-11-28
  • 来自专栏OSChina

    springBoot 整合自定义雪花算法

    1 配置pom文件 # 雪花算法配置数据中心和机器编号,不同机器组合不能重复 snowflake: datacenterId: 1 machineId: 2 2 编写配置文件 SnowFlakeFactory.java java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.LockSupport; /** * 雪花算法 = 5; //机器标识占用位数 private final static long DATACENTER_BIT = 5;//数据中心占用位数 /** * 每一部分最大值 IllegalStateException("时钟在向后移动,当前时间是 " + currentMillis + " 毫秒,machineId映射 = " + machineIdLastTimeMap); } } 定义一个枚举 SnowFlakeController { @Autowired private SnowFlakeFactory snowFlakeFactory; /** * 雪花算法测试

    5.4K10发布于 2020-05-28
  • 来自专栏后端架构

    java8定义函数式接口

    前言在Java 8中,Lambda表达式可以用来代替只有一个抽象方法接口,这种接口称为函数式接口。 多种组合当涉及到Lambda表达式组合场景时,你可以使用Java 8函数式接口和Lambda表达式来实现更复杂功能。 接口默认方法和抽象方法在Java 8中接口支持默认方法实现,使得接口修改更加灵活,而不会破坏现有的实现。 抽象类可以定义构造函数来初始化状态,而接口中默认方法无法访问实例字段,因此无法初始化状态。 总结总的来说,函数式接口使得某些代码变得可读性更高,另外可以自定义组合,实现一个公共组合方法实现对应业务操作。

    52600编辑于 2024-02-17
  • 来自专栏捞月亮的小北

    8. 自定义映射resultMap

    在 Mybatis 中,resultType 和 resultMap 都用于定义查询结果映射关系。 它们使用场景如下: resultType resultType 用于指定返回结果数据类型,通常用于返回简单类型结果以及返回 vo 或 dto 等自定义类型结果。 resultMap resultMap 用于自定义查询结果映射规则,通常用于处理复杂查询结果,或者需要使用嵌套查询等复杂查询操作。 1. resultMap 处理字段和属性映射关系 ‍ 若字段名和实体类中属性名不一致,则可以通过 resultMap 设置自定义映射 ‍ <! -- resultMap:设置自定义映射 属性: id:表示自定义映射唯一标识 type:查询数据要映射实体类类型 子标签: id:设置主键映射关系

    79710编辑于 2023-12-01
  • 来自专栏乐行僧的博客

    8-快速排序算法

    思想: 使用划分函数讲待排序序列划分三个部分,[l, p-1] < e e [p+1, r] > e, 其中元素e位置已经确定,然后分别递归处理两个部分,直到整个区间全部处理完成。 一些关键点: 不稳定排序算法 初始状态待排序序列基本有序,快速排序时间复杂度为O(n^2),性能非常差 空间复杂度与递归树高度成正比,平均来看是O(log2n) 划分函数选择非常重要 优化,随机划分 ,当基本有序时采用插入排序,使用更好划分函数 代码: #include <stdio.h> #include <time.h> #include <stdlib.h> typedef int bool QuickSort(a, l, p - 1); QuickSort(a, p + 1, r); } int main() { int a[] = {3, 1, 2, 4, 7, 0, 5, 8,

    32130编辑于 2022-02-25
  • 来自专栏算法工程师之路

    每日算法题:Day 8

    作者:TeddyZhang,公众号:算法工程师之路 Day 8, C/C++知识点走起~ 1 编程题 【剑指Offer】翻转链表 输入一个链表,反转链表后,输出新链表表头。 ,我们可以使用两个指针pre和next, 对链表相邻两个节点进行交换调整,这才是面试官想要看到算法! 产生原因: 指针定义时没有初始化,默认指向随机区域 指针指向一片内存,当内存释放(delete或者free操作)时,没有将指针置空或者其他复制操作! ,造成程序崩溃 避免方法: 定义时初始化,当释放内存时,记得指针指向nullptr 不要在函数中返回栈空间引用或指针 使用前对指针进行合法性判断 【C/C++】堆和栈区别有哪些? 栈,就是那些由编译器在需要时候分配,在不需要时候自动清楚变量存储区。里面的变量通常是局部变量、函数参数等,栈地址分配是连续,空间较小,几兆,大数据的话还是分配堆比较好些。

    56520发布于 2019-08-09
  • 8个超级经典聚类算法

    公众号:尤而小屋作者:Peter编辑:Peter大家好,我是Peter~本文主要介绍8个常见聚类算法和基本原理:K-Means聚类层次聚类DBSCAN聚类均值漂移聚类谱聚类模糊聚类Fuzzy Clustering 其原理如下:选择参数:DBSCAN算法需要两个关键参数,即ε(eps)和 MinPts。其中,ε用于定义邻域大小,MinPts是指在邻域内至少应该有的数据点数目。 检查终止条件:如果簇中心移动距离小于一个预定义阈值,则认为算法已经收敛,终止迭代。重复步骤3到步骤5,直到所有数据点都被分配到一个簇中。 random_state=42) # 创建谱聚类器 spectral = SpectralClustering(n_clusters=8, affinity='nearest_neighbors 判断是否收敛:如果隶属度矩阵变化小于一个预定义阈值,则认为模型已经收敛。通过迭代上述过程,GMM最终得到一个高斯混合分布来描述数据集分布情况,并且能够将数据点分类到不同聚类中。

    6.4K10编辑于 2024-06-21
  • 来自专栏小工匠聊架构

    Java8 - 自定义实现体会Future原理

    定义Future package com.artisan.java8.testFuture.customFuture; public interface CustomFutureInterface< T> { T get(); Boolean isFinished(); } package com.artisan.java8.testFuture.customFuture; public interface CustomCallable<T> { T doAction(); } package com.artisan.java8.testFuture.customFuture Error"; } return "I'm value"; }); System.out.println("获取子线程返回结果 " + invoke.get()); } } 同步方式 为了对比下,我们来看下同步方式 /** * 同步阻塞方法 * @param callable

    45910发布于 2021-08-17
  • 来自专栏小工匠聊架构

    Java8 - 自定义实现体会CompletableFuture原理

    ---- Code Future 接口 局限性有很多,其中一个就是需要主动去询问是否完成,如果等子线程任务完成以后,通知我,那岂不是更好?

    45420发布于 2021-08-17
  • 来自专栏最后一声蝉鸣

    laravel 8定义日志文件名|自定义目录

    环境 基于Laravel 8 代码 <? $method; $log = new Logger('mylog'); if (PHP_SAPI == 'cli') { // 命令行访问脚本, 加一个cli标识和用户浏览器访问区分开 $filename .= '_cli'; } $filename = $filename . '.log data = []; } $microtime = microtime(); $message = '[' . substr($microtime, 0, 8) return FALSE; } return @mkdir($dir, $mode); } /** * 记录最后一条执行sql

    1.1K10编辑于 2022-10-26
  • 来自专栏程序员成长指北

    分享8个非常实用Vue自定义指令

    作用价值在于当开发人员在某些场景下需要对普通 DOM 元素进行操作。 Vue 自定义指令有全局注册和局部注册两种方式。 /JS/directives' Vue.use(Directives) 指令定义函数提供了几个钩子函数(可选): bind: 只调用一次,指令第一次绑定到元素时调用,可以定义一个在绑定时执行一次初始化动作 思路: 定义一个延迟执行方法,如果在延迟时间内再调用该方法,则重新计算执行时间。 将时间绑定在 click 方法上。 需求:根据正则表达式,设计自定义处理表单输入规则指令,下面以禁止输入表情和特殊字符为例。 针对这种情况,我们可以通过全局自定义指令来处理。 需求:自定义一个权限指令,对需要权限判断 Dom 进行显示隐藏。

    2K31发布于 2021-01-06
  • 来自专栏苦逼的码农

    算法专题(动规):不同定义产生不同解法

    今天聊一道 4 键键盘问题,这个问题挺有意思,而且可以明显感受到:对 dp 数组不同定义需要完全不同逻辑,从而产生完全不同解法。 首先看一下题目: ? 尝试分析一下这个算法时间复杂度,就会发现不容易分析。 所以这个算法并不好,复杂度太高,且已经无法优化了。 这也就说明,这样定义「状态」是不太优秀,下面我们换一种定义 dp 思路。 第二种思路 这种思路稍微有点复杂,但是效率高。 明确了这一点,可以通过这两种情况来设计算法: int[] dp = new int[N + 1]; // 定义:dp[i] 表示 i 次操作后最多能显示多少个 A for (int i = 0; i < 根据这个事实,我们重新定义了状态,重新寻找了状态转移,从逻辑上减少了无效子问题个数,从而提高了算法效率。

    1.2K20发布于 2019-10-14
  • 来自专栏码艺坊

    定义排序算法在JavaScript中应用

    前言在处理数据时,我们常常需要对数组进行排序以满足特定展示或分析需求。虽然JavaScript提供了内置sort()方法来简化这一过程,但在面对复杂排序逻辑时,自定义排序函数则显得尤为重要。 本文将以一个具体案例——按照自定义规则对字符串数组进行排序,来深入探讨如何实现和应用自定义排序算法。 我们目标是根据这些字符串特定部分,按照一定规则(例如先按点前部分,再按点后数字部分排序)来对数组进行排序。 结论通过自定义排序函数,我们能够精确控制数组元素排序逻辑,从而满足各种复杂应用场景。理解并掌握这类算法不仅能够提升我们编程能力,还能在实际开发中解决更多实际问题。 希望本文讲解和示例能够激发你对自定义排序函数兴趣,并在你项目中发挥重要作用。

    1.2K10编辑于 2024-05-28
  • 来自专栏学习

    《JavaSE》---8.<基础语法(Java方法定义详解&方法递归)>

    修饰符: 创建一个方法,我们首先是去定义这个方法访问修饰符。 参数定义与变量定义是一样。 5. 方法体: 用{}包裹。 形参名字可以随意取,对方法都没有任何影响 形参 只是方法在定义时需要借助一个变量,用来保存方法在调用时传递过来值。 我们提出这样一个问题: 在同一个作用域中不能定义两个相同名称标识符。 方法中不能定义两个名字一样变量,那为什么类中就 可以定义方法名相同方法呢? (1) -> (8) 顺序执行.

    47710编辑于 2024-09-24
  • 来自专栏Nicky's blog

    JDK8系列之default定义接口默认实现方法

    JDK8系列之default定义接口默认实现方法 在前面的章节学习中,我们学习了jdk8新特性,lambada表达式、方法引用、函数式接口等等,接着本博客继续学习jdk8新特性default方法 默认方法,default method,这是是jdk8新特性,只要在方法名称面前加上default关键字就行。 设计出这个default方法目的是为了添加到接口中,正常情况,接口中只能有接口,不能有实现方法,有了default方法之后,就可以在接口中写实现。 ; } } 3、默认方法例子 newMethod是一个默认方法,所以实现类DefaultMethodExample就不需要实现了,直接实现抽象otherMethod方法既可 interface 使用静态函数方法也可以替代default method,但是静态函数是不可以被重写(@Override) interface TestInterface { default void newMethod

    1.6K20发布于 2021-07-19
  • 来自专栏Python编程爱好者

    8. Pandas系列 - 选项和自定义

    get_option() set_option() reset_option() describe_option() option_context() 自定义其行为属性设置 API由五个相关函数: get_option () set_option() reset_option() describe_option() option_context() 编号 参数 描述 1 display.max_rows 要显示最大行数 5 display.precision 显示十进制数精度 get_option() get_option(param)需要一个参数,并返回下面输出中给出值 get_option需要一个参数,并返回下面输出中给出值 [default: 60] [currently: 100] option_context() option_context上下文管理器用于临时设置语句中选项。 第一个语句打印由option_context()设置值,该值在上下文中是临时。在使用上下文之后,第二个打印语句打印配置值。 作者:Johngo

    70450发布于 2020-11-04
  • 来自专栏前端大全

    浅谈PHP8类型定义以及几个新特性

    随着PHP8发布,作为动态类型语言PHP也有了更大进步。 此处浅谈一下PHP8类型定义以及几个新特性 本文仅介绍重点,详细内容可以参考 PHP 官方。 开发人员预先定义好数据类型,可以有效增加程序运行效率。PHP 7.0 起,允许在 function 内约束自变量类型、返回值类型。PHP8起,允许在 function 内约束复合类型。 object{ //do something } 范例:复合类型,PHP8后允许自变量、返回值有复合类型。 mixed { //do something } 其他 顺带提一下php8中比较喜欢几个更新 Match表达式 你可以称它为switch表达式大哥,match可以返回值,不需要break语句,可以组合条件 ,并且不执行任何类型强制。

    1K10编辑于 2023-12-11
领券