会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
正在战斗中
博客园
首页
新随笔
联系
订阅
管理
1
2
3
4
5
···
7
下一页
[置顶]
单机安装hadoop+hive+presto
摘要: 虚拟机上安装 hadoop+hive+presto
阅读全文
posted @ 2017-06-05 15:38 正在战斗中
阅读(4140)
评论(0)
推荐(0)
2025年8月26日
Flink-JAVA开发.03-开发一个自定义的表连接器
摘要: 特别申明:讨论的是表连接器,或者说是org.apache.flink.table.factories.Factory的实现类 一、前言 当我们使用表和不是使用流来处理数据的时候,常常面临一个问题:系统默认的连接器不够用。 在2.0版本中 ,文档提到系统提供了以下连接器: https://nightl
阅读全文
posted @ 2025-08-26 14:59 正在战斗中
阅读(17)
评论(0)
推荐(0)
2025年8月21日
软件工程-JAVA应该如何组织一个中小规模的Maven项目
摘要: 大部分企业构建的代码都属于一个中小规模... 本文不讨论超大规模代码的组织问题,只讨论一个非常典型的JAVA MAVEN工程(后端),以一种语言为主的情况。 一、定义pom.xml 在一个典型的maven工程中,通常会存在几个部分: 1.主体-M 2.子模块-A,B,C,D... 3.外部依赖(其它
阅读全文
posted @ 2025-08-21 15:53 正在战斗中
阅读(19)
评论(0)
推荐(0)
2025年7月8日
Flink-JAVA开发.02-简单介绍Flink中的有关对象
摘要: 本文只能简单罗列一些Flink的基本概念,无法也没有一一指出每个概念的涵义。 更多内容参见Flink的官方文档: https://nightlies.apache.org/flink/flink-docs-release-1.20/ 一、Flink的起源和简介 Apache Flink 起源于 20
阅读全文
posted @ 2025-07-08 16:49 正在战斗中
阅读(15)
评论(0)
推荐(0)
2025年6月27日
Flink-JAVA开发.01-搭建简单的开发环境
摘要: Flink算得上是大数据领域比较优秀的一个工具。 它已经被收归于阿帕奇基金会之下。 本文简介适用于开发的环境,不面向生产。 一、Flink简介 注:以下内容由edge的Copilot生成,本人稍微整理。 🧬 Flink 的起源与发展 Apache Flink 起源于 2009 年德国柏林工业大学的
阅读全文
posted @ 2025-06-27 17:22 正在战斗中
阅读(325)
评论(0)
推荐(0)
2025年6月12日
rust进阶.并发.Tokio.1.Tokio简介
摘要: 学习要,工作也不能拉下,所以这一段时间关于rust的博文少了些。 rust要学习的内容还很多,但我觉得应该优先打好基础,这其中比较关注的是并发。 提到rust的并发,先回忆在书本<<rust编程语言>>有许多的内容: 1.并发和并行 2.通过信道(channel)共享进程间数据 关键库和方法 std
阅读全文
posted @ 2025-06-12 11:34 正在战斗中
阅读(307)
评论(1)
推荐(0)
2025年6月3日
java使用maven-shade-plugin打包
摘要: 最近正在练习Flink JAVA编程,但是发现打包后老大的问题。 环境说明: jdk17 springboot 3.4.6 flink 1.20.0 一、问题发现和解决 在pom.xml的依赖部分,和flink有关的内容如下: <!-- Original Flink Dependencies -->
阅读全文
posted @ 2025-06-03 16:00 正在战斗中
阅读(169)
评论(0)
推荐(0)
2025年5月20日
rust进阶-基础.2.Option类型
摘要: Option类型是Rust中非常重要的一个类型,和Result也类似。 本文主要根据文档:枚举类型Option编写 主要阐述以下内容: 1.Option和Result比较 2.Option的主要方法 3.示例 1.Option和Result比较 以下内容来自于文心一言 特性 Option Resul
阅读全文
posted @ 2025-05-20 09:18 正在战斗中
阅读(108)
评论(0)
推荐(0)
2025年5月16日
Springboot3同时集成mybatis和mybatis-plus?
摘要: 言归正传,这是个伪命题,请看后文。 为何这么说?盖因开始的时候,我认为mybatis和mybatis-plus可以共存(保留各自的配置,或者换句话就是把原来独自 配置二者的内容简单杂糅在一起,做一些简单的调整),后面探索告诉我,让mybatis和mybatis-plus同时保留配置 可能很很困难也没
阅读全文
posted @ 2025-05-16 14:47 正在战斗中
阅读(660)
评论(0)
推荐(0)
2025年5月11日
rust进阶-基础.1.匿名函数和FnXXX特质
摘要: 在rust中,匿名函数(或者说闭包)大量存在,所以有必要再次讨论匿名函数的一些问题。 其中比较关键的是和FnXXX特质的关系,以及和被捕获变量的关系。 本文的目的在于确认几个要点: 一、FnOnce,FnMut,Fn简单比较 比较汇总表 分类 执行次数 是否可以修改捕获的外部变量 是否归还捕获的外部
阅读全文
posted @ 2025-05-11 11:24 正在战斗中
阅读(76)
评论(0)
推荐(0)
2025年4月24日
rust学习二十一.1、构建Rust web服务器和所有权简单小结
摘要: 学习到这里我也很高兴! 这意味着,马上就要看完<<The rust programming Language>>。 基本上每天花费一些时间,前后大概耗费了半年左右的时间,速度实在不是很理想,年纪大了! 考虑还需要做不少的练习,大概编写了119个rs文件(当然大部分内容来自于书本),速度还将就。 但说
阅读全文
posted @ 2025-04-24 17:30 正在战斗中
阅读(49)
评论(0)
推荐(0)
2025年4月15日
rust学习二十.14、RUST宏
摘要: 毫无疑问,宏是rust中极其重要的存在,只要我们看看一些标准库的代码。本文阐述rust宏相关的若干问题 一、宏的定义和作用 先介绍下宏的起源和历史,以便读者更能体会。 以下内容来自文心一言生成: 词源与早期含义 希腊-拉丁词根 "macro"源于希腊语前缀μακρο-(makro-),意为“大”或“
阅读全文
posted @ 2025-04-15 19:33 正在战斗中
阅读(293)
评论(0)
推荐(0)
2025年4月10日
rust学习二十.13、RUST的函数指针fn和匿名函数
摘要: 函数指针是一个好东西。 一、简述 函数指针就是执行一段函数代码的指针。 根据官方的说法,函数指针实现了FnOnce,FnMut,Fn特质。 由于函数指针是一种数据类型,所以rustc允许它作为函数/方法的参数,这样就给程序设计添加了不少的灵活性. 我估摸着,rust设计者就是为了让rust能够适应潮
阅读全文
posted @ 2025-04-10 19:09 正在战斗中
阅读(117)
评论(0)
推荐(0)
2025年4月8日
rust学习二十.12、RUST动态大小类型DST以及Sized特质
摘要: DST(dynamic size type)-中译“动态大小类型"。本文简要讨论动态大小类型的一些问题。 一、前言 rust作为一门静态类型语言,和大部分其它静态类型语言(C,C++,C#,JAVA)一样,希望在编译的时候知道每个实例/类型的大小。 作为静态类型语言,优点是毋庸置疑的的: 1.类型错
阅读全文
posted @ 2025-04-08 19:20 正在战斗中
阅读(132)
评论(0)
推荐(0)
2025年4月5日
rust学习二十.11、RUST高级类型之never(永不)类型
摘要: neverType是rust别出心裁,与众不同的再一次佐证. 当我看完有关资料的第一感觉就是:rust真操蛋,永不类型就是一个标记而已,有时候有用,而有时候就是一个干扰(实为不习惯)! 一、前言 rust的永不类型,已经明显表达其意图:永不继续 它的标识符号是一个感叹号 ! 二、示例1 闲话少叙,直
阅读全文
posted @ 2025-04-05 10:55 正在战斗中
阅读(65)
评论(0)
推荐(0)
2025年4月3日
rust学习二十.10、RUST高级类型之新类型模式和类型别名
摘要: 这两个内容都比较容易理解。 一、新类型(newtype)模式 注意,这里说的是一种编程模式,不是说有一个叫newtype的类型。 这种编程模式的含义:为某个类型作个封装,构建一个新的类型,以便绕过某些束缚,从而达成特定目的。 目的如下: a.用于抽象掉一些类型的实现细节 b.可以隐藏其内部的泛型类型
阅读全文
posted @ 2025-04-03 19:31 正在战斗中
阅读(79)
评论(0)
推荐(0)
rust学习二十.9、RUST绕过孤儿规则实现特质和包装器缺点
摘要: 回忆下孤儿规则: 1.只有当一个trait或类型在当前的crate中定义时,才能为外部类型实现该trait。 没有限定是特质还是类型 反过来,如果特质和类型都是外部,那么不能在当前单元包实现 2.例外情况-std中特质是例外。大体验证了凡事都有例外 孤儿规则的目的:避免编译器无法确定应该用哪一个实现
阅读全文
posted @ 2025-04-03 17:03 正在战斗中
阅读(116)
评论(0)
推荐(0)
2025年3月31日
rust学习二十.8、RUST特质的限定,实为对类型的限定
摘要: 有的时候,可能希望使用的特质已经实现了其它特质(看后面可以知道,实际是要求相关类型实现了其它特质)。 RUST支持为特质(trait)指定限定的特质。 例如我们定义特质A,之后定义了类型T,这个时候还希望T已经实现了特质TC。 在rust中就是这个语法: trait tx:t1 trait tx:t
阅读全文
posted @ 2025-03-31 17:58 正在战斗中
阅读(44)
评论(0)
推荐(0)
rust学习二十.7、RUST完全限定名以及静态方法
摘要: rust中看不到java等一些OOP语言的中用于修饰方法的static之类的关键字眼。 注:rust有static关键字,目前是用于修饰生命周期的或者是变量的 例如: let leaked_str: &'static str = Box::leak(tmp.into_boxed_str()); st
阅读全文
posted @ 2025-03-31 16:55 正在战斗中
阅读(93)
评论(0)
推荐(0)
2025年3月21日
rust学习二十.6、RUST通用类型参数默认类型和运算符重载
摘要: 一、前言 为通用类型赋予一个默认的类型,大部分的语言是没有这个特性的,但是也有例外的,例如TypeScript(可能还有其它)。 例如TypeScript可以这样使用: class MyClass<T = number> { value: T; constructor(value: T) { thi
阅读全文
posted @ 2025-03-21 17:18 正在战斗中
阅读(87)
评论(0)
推荐(0)
2025年3月17日
rust学习二十.5、RUST特质中的关联类型
摘要: 这是rust特质(trait)中颇有意思的一个特性。 一、前言 这个特性,在前面已经有接触过,例如书本的第十三章节的迭代器特质就有这个例子: impl Iterator for BooksIterator { type Item = String; fn next(&mut self) -> Opt
阅读全文
posted @ 2025-03-17 17:02 正在战斗中
阅读(76)
评论(0)
推荐(0)
2025年3月14日
rust学习二十.4、RUST使用不安全代码访问union(一存多表)类型
摘要: 一、前言 看UNION的定义,颇为惊讶,居然有这样的类型(以前没有怎么用过C)。 以下一段来自于文心一言: 1.定义和用途union允许在相同的内存位置存储不同类型的数据,但在任意时刻只能使用其中一个类型。适用于需要在节省内存的情况下灵活存储不同类型数据的场景。2.内存布局所有字段共享相同的内存位置
阅读全文
posted @ 2025-03-14 17:48 正在战斗中
阅读(85)
评论(0)
推荐(0)
Springboot6.x配置thymeleaf的可能bug
摘要: 很久没有搞springboot的配置了。 业务需要,需要通过后端提供模板引擎服务(对于小型项目,这个比前后分离的好太多了)。 但是非常操蛋的是,总是提示模板引擎解析失败,无法找到资源。折腾了好半天! 框架说明 springboot版本-3.4.3 JAVA-JDK17 如果是开发环境,例如eclip
阅读全文
posted @ 2025-03-14 17:32 正在战斗中
阅读(79)
评论(0)
推荐(0)
2025年3月13日
rust学习二十.3、RUST使用不安全代码访问静态变量
摘要: 一、前言 1.1、为什么要使用不安全块访问可变静态变量 根据rust设计人的理解:静态变量是可以修改,所以在并发情况下是可能存在并发/并行时候的不一致问题(如果要修改),这可能就不安全了。 所以,rust规定访问可变静态变量需要使用不安全代码块(unsafe块)。 1.2、比较静态变量和常量 1.常
阅读全文
posted @ 2025-03-13 20:00 正在战斗中
阅读(109)
评论(0)
推荐(0)
2025年3月12日
rust学习二十.2、RUST不安全代码之不安全函数、特质和FFI
摘要: 本文涉及到不安全函数和FFI(foreign function interface)(外部函数接口) 一、简述 在开始前,先介绍下unsafe代码块。 这个其实上一个章节有用到,但是未有正式介绍。 unsafe块形如: unsafe{ } unsafe块可以位于一个函数/方法内,也可以位于函数参数中
阅读全文
posted @ 2025-03-12 17:53 正在战斗中
阅读(120)
评论(0)
推荐(0)
2025年3月10日
rust学习二十.1、RUST不安全代码之原始指针(裸指针)
摘要: 一、前言 指针在前面的篇幅中已经介绍过许多,但主要是智能指针。 智能指针管理堆上的数据,并且受到rust的所有权和借用规则管理(注意,这里的所有权和借用有时候不同于最原始的那种)。 智能指针好歹能管着这些数据,但是rust中存在一些不能使用所有权管理的数据,它们需要利用原始指针来管理。 本文简要讨论
阅读全文
posted @ 2025-03-10 17:47 正在战斗中
阅读(233)
评论(0)
推荐(0)
2025年2月22日
rust学习十九.1、RUST模式匹配(match patterns)
摘要: 本章节大概是书本上比较特殊一个,因为它没有什么复杂的内容,通篇主要讨论模式匹配的语法。 一、两个名词 a.可反驳 - refutable 对某些可能的值进行匹配会失败的模式被称为是 可反驳的(refutable) let Some(x) = some_option_value;如果 some_opt
阅读全文
posted @ 2025-02-22 19:41 正在战斗中
阅读(178)
评论(0)
推荐(0)
2025年2月16日
rust学习十八.1、RUST的面向对象(oop)和简单示例
摘要: 很可惜,出于一些理由,rust抛弃了OOP的核心特性之一:继承 其中一个理由应该是至关重要的,但是解释的比较模糊:继承增加了复杂性 的确,继承会让rust编译器变得更加复杂。rust编译器虽然足够体贴,但是它偏慢的编译速度也是很多人所吐槽的。 在我对rust编译了解更多之前,我对这个理由无法给出更加
阅读全文
posted @ 2025-02-16 13:07 正在战斗中
阅读(114)
评论(0)
推荐(0)
2025年1月16日
rust学习十七.1、async和await
摘要: 本文对应相关书籍17.1章节。 先言:async和多线程没有什么密切关系,当然也不是毫无关系! 一、async在rust到底是什么 async中文的意思是异步,在编程中指的是:执行一段代码,主线程可以在等待完成之前,先做其它事情。 如果有写过前端代码,就明白这个东西。例如经典的jquery的ajax
阅读全文
posted @ 2025-01-16 16:33 正在战斗中
阅读(196)
评论(0)
推荐(0)
2025年1月12日
rust学习十六.3、RUST并发-线程之间共享数据
摘要: 线程之间共享内存数据,即go中部分人所憎恶的方式! 然而,这个方式并非没有其优点,否则操作系统也不提供这种实现方式。 闲言少序,上正文! 一、概述 * 1.当我们大谈基于信道通信时,应该指的是应用级别。如果是操作系统,应该还是会有多种措施的,否则rust的源头在哪里来着。 * 2.rust共享内存,
阅读全文
posted @ 2025-01-12 12:22 正在战斗中
阅读(228)
评论(0)
推荐(0)
2025年1月9日
rust学习十六.2、并发-利用消息传递进行线程间通讯
摘要: 通过信道(channel)传递消息是rust的解决线程之间通信的2个工具之一,另外1个是共享内存状态。 注:channel有多种译法,有的地方翻译为通道、频道,此处循例称为“信道" rust推出这个,明显地是因为受到go之类的影响。 在书籍中,作者提到go编程文档中的内容: 不要通过共享内存来通讯;
阅读全文
posted @ 2025-01-09 19:21 正在战斗中
阅读(195)
评论(0)
推荐(0)
1
2
3
4
5
···
7
下一页
公告