- 博客(30)
- 收藏
- 关注
原创 9 scala的类继承及trait
Trait(特质)是 Scala 中一种非常有用的机制,可以用于定义对象的特定特征或行为。Trait类似于 Java 中的接口。Trait与抽象类Trait可以被多重继承,一个类可以扩展多个Trait,但只能继承一个抽象类。Trait不能接受构造参数,但抽象类可以。Trait与 抽象类 的语义不同,Trait更适合描述对象的特征或行为,以及对象之间的has-a或can-do关系。抽象类更适合描述is-a关系,即子类是父类的一种特定类型。/*** 定义一个球员类* @param name 球员姓名。
2024-02-11 23:18:15
1504
2
原创 8 scala的伴生对象
伴生对象有以下特点:(1) 伴生对象 和 类 必须要在同一个 class 文件中。(2) 伴生对象名字要和类名字一致。(3) 伴生类 和 伴生对象可以互相访问彼此的private属性。/*** 球员信息类*/${thisplayerName/*** 球员信息类" } } /*** PlayerInfo 类的共生对象/*** 定义球员梦想* 打印球员梦想* main 方法。
2024-02-11 21:10:58
1475
原创 4 scala集合-Map
和 Java 一样,Scala 也有表示键值对(KeyValue)集合的Map数据结构。同样,Map也分不可变和可变,不可变需要使用类。
2024-02-09 15:25:28
1199
原创 3 scala集合-Set
与 Java 的 Set 一样,scala 的 set 中,元素都是唯一的,而且遍历 set 中集合的顺序,跟元素插入的顺序是不一样的。同样,Set 也包含可变和不可变两种。要实现可变 Set 集合,需要使用类。
2024-02-09 14:25:09
1029
原创 python - 字典dict
>> d={'name': '张三', 'age': 30, 'role': 'developer', 'city': 'Guangzhou', 'country': 'China'}>>> d{'name': '张三', 'age': 30, 'role': 'developer', 'city': 'Guangzhou'}>>> d{'name': '张三', 'age': 30, 'role': 'developer'}>>> d{'name': '张三', 'age': 30}
2023-12-31 13:42:04
423
原创 工厂模式-简单工厂模式
在面向对象编程中,当需要创建一个对象时,一般是使用类的构造函数来创建它,这种方式存在一个缺点,每次创建相同对象时需要编写大量重复的代码。工厂模式是一种常见的创建型设计模式,它将对象的创建过程封装在一个工厂类中,使客户端代码无需关心对象的创建过程,只需要通过工厂类来获取所需的对象。本文将将详细阐述简单工厂模式。
2023-05-12 22:25:03
255
1
原创 在 Centos 上安装 Nginx 并把其配置为 systemd 服务
描述如何在 centos 编译 nginx、安装 nginx、把 nginx 配置为 systemd 服务
2023-01-13 23:50:05
1629
1
原创 1 vue.js - MVVM模式
1 什么是 Vue.jsVue.js 是一套用于构建用户界面的渐进式框架。它有以下2个特征:简单小巧:vue.js压缩后的文件非常小,例如经压缩后的 vue.js2 仅仅90KB。渐进式:Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。2 Vue.js 与 传统的 Javascript 开发有什么不同下面,我们分别使用 JQuery 及 vue.js 实现这样一个效果:点击 add 按钮,向 id 为 app 的 div 插
2022-03-13 13:43:21
1885
原创 更新 k8s 集群的相关证书
1 遇到的问题这个 PI 有一个性能测试(Performance test, 简称 PT)的任务,尘封了 1 年的用于 PT 的 k8s 集群将要大派用场。但正当负责 PT 的同事磨刀霍霍,准备使用 kubectl 大展身手的时候,出现了以下错误:root@xxxxx[03:47][/home/root]$ kubectl get poUnable to connect to the server: x509: certificate has expired or is not yet valid:
2022-02-09 17:49:09
1592
1
原创 浅析ThreadLocal的原理
1 ThreadLocal的作用当多个线程访问同一个共享变量的时候,开发人员必须采取措施避免并发操作所产生的各种冲突情况,有两种措施,锁同步及ThreadLocal。1.1 锁同步锁同步是指线程在访问共享变量前必须先获取锁资源,若获取锁资源失败就会被挂起,直至其他线程释放锁资源后,才被唤醒并再次尝试获取锁资源。通过锁同步机制,可以保证同一时间只有一个线程可以访问共享变量。#mermaid-svg-enVKG2Wy6JJHgjOR .label{font-family:'trebuchet ms',
2021-01-30 17:04:14
2850
8
原创 正确理解Base64编码
1 什么是Base64在以前,email只支持ASCII编码的字符,而ASCII只能表示128个字符。若一封email存在非ASCII编码的字符,当它通过网关的时候,网关(以前)会对email的二进制位作调整,把非ASCII编码的8位二进制码的最高位设置为0,因此,接收方收到的email会出现乱码。如何使一封包含非ASCII编码字符的email正确地发送到目的地呢?Base64应运而生,它定义了规则映射表,发送方按规则映射表把内容编码成只包含ASCII字符的字符串,接收方收到信息后,根据规则映射表对信息
2020-12-16 22:59:53
629
4
原创 Java泛型中的extends和super
1 背景大佬勇是我这几年的技术导师,不定期向我们传授"绝世武功",当然他的格局不像我那样只在Java那么小。但最近,他却被Java泛型的通配符搞得一头雾水。事缘他最近在研究Java的java.util.Optional类,而该类有很多泛型方法,例如:public<U> Optional<U> map(Function<? super T, ? extends U> mapper)这个方法的参数是Function实现类的对象,Function是一个函数式接口,它的唯
2020-12-13 01:17:41
1721
7
原创 03-Debezium的载体Kafka Connect
什么是Kafka Connect正如前面的文章所说,Debezium提供的各种Connector都是实现了Kafka Connect的插件,运行于Kafka Connect的服务上。首先我们要知道,Kafka的特性,例如,topic的分区、I/O结合操作系统的页缓存(page cache)等,这些令Kafka具备了高吞吐量、低延时及高可用等优点。由于Kafka的优点,当需要实现CDC(Changed Data Capture)时,即捕获数据源的变动并同步至目标数据源,我们可以使用Kafka作为数据源和
2020-12-11 00:28:04
2146
8
原创 02-PostgreSQL的WAL机制
1 Debezium是如何从PostgreSQL抓取数据的Debebzium为PostgreSQL提供了PostgreSQL Connector,它通过同步WAL记录实现从PostgreSQL抓取数据的功能。要真正明白PostgreSQL Connector的运行原理,就必须先了解PostgreSQL的WAL机制。2 WAL(Write-Ahead Logging, 预写式日志)WAL保存了对数据库的操作记录,保证了PostgreSQL的事务持久性和数据完整性,同时避免了频繁的io对数据库性能的影响
2020-12-08 23:29:19
3939
9
原创 01-利用Debezium捕获PostgreSQL的数据变化
1 背景最近团队接到这样一个需求,其他团队开发的业务系统需要监控我们负责的子系统中数据表的数据变更情况,当表发生INSERT,UPDATE及DELETE操作时,相关的业务系统能实时获取数据的变化信息。经过讨论,团队决定使用Debezium实现需求,于是便对Debezium进行了较深入的学习。下面给大家分享一下自己对Debezium认识与理解。2 Debezium的介绍...
2020-12-08 15:31:13
7388
12
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人