canal 基础入门(基于1.1.4)
基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。
人工智能中的搜索算法
人工智能中的搜索算法 原文:https://www.javatpoint.com/search-algorithms-in-ai 搜索算法是人工智能最重要的领域之一。本主题将解释人工智能中的所有搜索算法。 解决问题的代理: 在人工智能中,搜索技术是解决问题的通用方法。AI 中的理性智能体或问题解决智能体大多使用这些搜索策略或算法来解决特定问题并提供最佳结果。问题解决代理是基于目标的代理,使用原 ...
深入解读 MongoDB CDC 的设计与实现
MongoDB CDC 概述 MongoDB 是当下流行的一个基于文档的非关系性数据库。MongoDB CDC [1] 是 Flink CDC 社区 [2] 提供的一个用于捕获变更数据(Change Data Capturing)的 Flink 连接器,可连接到 MongoDB 数据库和集合,并捕获其中的文档增加、更新、替换、删除等变更操作,生成标准的 Flink Changelog 事件流,支 ...
Java 8 并发教程:原子变量和 ConcurrentMap
第一部分:线程和执行器 第二部分:同步和锁 第三部分:原子变量和 ConcurrentMap AtomicInteger java.concurrent.atomic包包含了许多实用的类,用于执行原子操作。如果你能够在多线程中同时且安全地执行某个操作,而不需要synchronized关键字或上一章中的锁,那么这个操作就是原子的。 本质上,原子操作严重依赖于比较与交换(CAS),它是 ...
Java 8 并发教程:同步和锁
第一部分:线程和执行器 第二部分:同步和锁 第三部分:原子变量和 ConcurrentMap 同步 当我们编写这种多线程代码时,我们需要特别注意共享可变变量的并发访问。假设我们打算增加某个可被多个线程同时访问的整数。 我们定义了count字段,带有increment()方法来使count加一: int count = 0;void increment() { cou ...
Java 8 并发教程:线程和执行器
第一部分:线程和执行器 第二部分:同步和锁 第三部分:原子变量和 ConcurrentMap 并发在Java5中首次被引入并在后续的版本中不断得到增强。在这篇文章中介绍的大部分概念同样适用于以前的Java版本。不过我的代码示例聚焦于Java8,大量使用lambda表达式和其他新特性。如果你对lambda表达式不属性,我推荐你首先阅读我的Java 8 教程。 Thread 和 Run ...
Java8 Stream 教程
Java 8 数据流教程 数据流如何工作 数据流表示元素的序列,并支持不同种类的操作来执行元素上的计算: List<String> myList = Arrays.asList("a1", "a2", "b1", "c2", "c1");myList .stream() ...
Java 8 教程
允许在接口中有默认方法实现 Java 8 允许我们使用default关键字,为接口声明添加非抽象的方法实现。这个特性又被称为扩展方法。下面是我们的第一个例子: interface Formula { double calculate(int a); default double sqrt(int a) { return Math.sqrt(a); ...
使用TextRank和TFIDF进行关键字提取
文档关键字 早期的信息检索平台并没有如今这么发达,大量的类似论坛、wiki的信息发布网站都依赖文档的关键字进行文档检索。即使是在如今的互联网世界,大量的信息检索还要依赖关键字。依靠人工归纳文章的关键字虽然相对准确,但是面对信息爆炸的互联网,这几乎成为了不可能的任务。本章将介绍如何使用TextRank和TFIDF算法自动提取文档的关键字。 TextRank TextRank的思路来自于PageRan ...
使用Jieba进行中文词性标注
词性 词性指以词的特点作为划分词类的根据。现代汉语的词可以分为两类14种词性。 常见词性分类 词性分类又叫词性标注(Part-Of-Speech tag, POS-tag),常见的词性标准类型如下: 名词 n 名词 nr 人名 nr1 汉语姓氏 nr2 汉语名字 nrj 日语人名 nrf 音译人名 ns 地名 nsf 音译地名 nt 机构团体名 nz 其它专名 nl 名词性惯用语 ng 名词 ...