- 博客(193)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注
原创 Go语言学习笔记
Go中函数的基本格式为func 函数名 (形参列表)(返回值列表){执行语句return 返回值如下所示定义一个四则运算的函数,注意函数首字母需要大写才能被其他包使用import ("fmt"case '+':case '-':case '*':case '/':default:fmt.Println("操作符号错误...")return resGo中也是用包对项目文件进行管理,通过package定义包名,每个文件都必须属于一个包下面;通过包还可以对函数和变量的作用域进行控制。
2025-03-31 21:02:33
820
原创 Kubernetes中使用PersistentVolume挂载云盘
本文主要介绍了Kubernetes中使用网络共享存储(Network File System,NFS)进行云盘挂载,使用PersistentVolume(PV)、PVC、StorageClass对云盘进行管理的原理和过程
2022-09-16 21:14:37
1488
原创 Kubernetes中的核心机制
本文主要介绍了Kubernetes中相关的机制的使用,例如RBAC访问控制、Ingress服务管理、Helm包管理、PersistentVolume挂载、Secret和ConfigMap配置管理
2022-08-29 21:25:09
966
原创 Kubernetes中的容器类型
简要介绍了Kubernetes中容器的几种类型如deployment、Statefulset、DaemonSet、Job、CronJob等,并对容器配置的资源清单文件Yaml进行了介绍
2022-08-25 22:49:31
1516
转载 OceanBase的HTAP的实现
记录了OceanBase关于HTAP(Hybrid Transaction / Analytical Processing,混合事务分析处理)数据库的思考和实现思路
2022-08-10 18:55:52
759
原创 使用Zookeeper对集群节点进行管理
本文主要对Zookeeper的安装配置和命令行客户端的使用作了简单介绍,并对集群选举和数据写入原理进行了记录,从而简单地对zookeeper的使用有了直观上的认识。
2022-05-19 22:57:10
3619
原创 Hadoop中使用Yarn对任务进行管理
本文对Yarn的组成结构、工作原理、常用命令和配置参数进行了简要介绍,之后重点记录了容量调度器和公平调度器的原理和使用方法。
2022-05-09 12:14:01
2958
原创 Hadoop的MapReduce框架原理
本文主要从MapReduce框架的InputFormat、Mapper、分区、排序、Combiner、Reducer、OutputFormat等几个方面对框架的数据流动和实现细节进行介绍。
2022-05-03 12:05:40
1070
原创 Hadoop中MapReduce的使用
简要介绍了Hadoop中MapReduce的相关概念,并以WordCount为例介绍了MapReduce框架的使用方法,最后实现了MapReduce中序列化对象的过程。
2022-05-01 19:37:45
3954
原创 Hadoop中HDFS文件管理系统的使用
HDFS系统的组成,文件读写流程,NameNode和DataNode工作原理,使用Shell命令操作HDFS,使用Client API进行数据操作
2022-04-21 12:14:42
4930
原创 模拟物化视图的实现
物化视图在数据库的数据分析中占有很重要的作用(相关概念记录链接),但是MySQL等数据库只有普通视图,没有实现物化视图。我们可以根据物化视图的思路手动实现类似的功能,即用一个实体表存储经常访问的数据,并按需对其进行更新。创建物化视图表首先创建一个物品表并为其填充数据CREATE TABLE sales ( sales_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , product_name VARCHAR(128)
2021-07-23 20:46:45
298
原创 Postgre的规则系统
规则就是在指定表上执行指定动作的时候,定义执行一些额外的动作。规则系统位于解析器和规划器之间,它将解析器输出的查询树经过用户自定义的重写规则处理后,输出新的查询树给规划器。PostgreSQL的视图就是通过规则系统来实现的。
2021-07-01 19:54:51
548
原创 Oracle物化视图的刷新
物化视图(MATERIALIZED VIEW)是一个包含查询结果的数据库对象。将经常使用的数据拷贝并存储下来,在查询时就可以直接返回数据。本质上是一个物理表,会占用磁盘空间。本文主要记录了物化视图刷新的方法、时机等相关特性。
2021-06-24 20:20:01
7991
1
原创 使用Lombok自动生成POJO所需代码
Lombok是一种Java插件,利用它可以在编译时自动生成POJO对象所需的getter、setter、equals和构造器等方法,免去开发人员手动实现这些简单且繁琐的代码。引入自从Java 6起,javac就支持“JSR 269 Pluggable Annotation Processing API”规范,只要程序实现了该API,就能在javac运行的时候得到调用。Lombok就是一个实现了"JSR 269 API"的程序,具体流程如下:javac对源代码进行分析,生成一棵抽象语法树(AST)j
2021-05-20 17:53:19
1068
原创 ANTLR使用访问器遍历语法树
计算器语法文件实现一个简单的计算器,可以对如下表达式进行识别193a = 5b = 6a+b*2(1+2)*3如下为匹配规则的语法文件Expr.g4grammar Expr;/** 起始规则,语法分析的起点 */prog: stat+ ; stat: expr NEWLINE //匹配expr表达式 + 换行 | ID '=' expr NEWLINE //匹配 变量 = 表达式 换行 | NEWLINE
2021-05-18 15:50:50
2896
4
原创 ANTLR使用监听器遍历语法分析树
使用ANTLR实现一个简单编译器,对Java中的short数组转化为字符串。通过antlr构建语法、词法生成器,并通过监听器对语法生成树进行遍历
2021-05-17 17:18:33
1162
1
原创 使用ANTLR进行语法分析
1 使用ANTLR 1.1 安装 1.2 运行并测试2 ANTLR语法 2.1 构成 2.2 歧义 2.3 语法分析树 2.4 监听器 2.5 访问器
2021-05-14 16:53:49
2496
原创 编译的基本概念
编译器(compiler)可以将Java、C 这类的高级语言转换成计算机可以识别的机器语言解释器(interpreter)根据用户的输入执行指定的操作编译器组成编译器内部可以分为分析(analysis)部分和 整合(synthesis) 两部分。分析过程把源程序分成多个结构,分别对其格式进行校验,如果违反语法格式则进行提醒。分析部分还会收集有关源程序的信息,会把收集到的信息存放在一个被称为符号表(symbol table) 的数据结构中。符号表和中间表示形式一起传给整合部分。整合过程是根据分析过
2021-05-10 19:43:16
1483
原创 MongoDB、Hbase、Redis和ElasticSearch对比
对比常用的几款非关系型数据库MongoDB、Hbase、Redis和ElasticSearch对比。并分析其底层存储结构B树、LSM树、跳表、倒排索引的实现,在理解其基本存储结构的基础上更好地选择合适的数据库。
2021-03-30 23:18:02
1882
原创 MySQL基础回顾
1、数据库操作以root用户名登录数据库:mysql -uroot -p,之后会提示输入密码# 显示数据库列表show databases;# 切换到demo数据库use demo;# 修改密码,通过IDENTIFIED BY指定用户的登录密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql1234!';# 创建用户CREATE USER 'work'@'%' IDENTIFIED BY 'work1234';# 重命名用户:
2021-03-01 21:54:57
206
原创 Java容器的常用方法
Java字符串在 Java 中字符串被作为 String 类型的对象处理。 String 类位于 java.lang 包中,默认情况下该包自动导入。String对象创建后不会被修改,当我们修改某个字符串对象实际上是将原引用指向了新创建的内存空间。并且相同的字符串常量Java不会分配两个内存空间,而是将两个引用指向相同的空间。public class MyString { public static void main(String[] args) { String s1="字符
2021-02-28 22:30:06
530
1
原创 Java参数传递方式--值传递
在C等其他语言中经常会遇到以下两种参数传递方式:值传递:方法调用时,实际参数将它的值传递给形式参数,函数就收到的是原始值的副本,此时内存中存在两个相同的基本类型,在方法中对形参执行处理操作,并不会影响实际参数的值。引用传递:方法调用时,实际参数的引用被传递给方法中相应的形式参数,函数接受到的是原始值的内存地址,在方法中,形参和实参的内容(地址)相同,方法中对形参的处理会影响实参的值。在Java中的参数传递方式都是值传递,当参数类型为int等基本数据类型时直接将值传递给形参;当参数为String、对
2021-02-17 17:32:37
910
2
原创 Java的代理与建造者模式
代理模式:在原来对象的基础上增加一个代理对象,通过代理对被代理对象进行访问。代理不仅起到了中介的作用,还可以在原对象的基础上增加或删减一些功能。常用的代理可以分为以下四种:远程代理:为不同地址空间的对象在当前局域网内提供一个代表对象,例如通过代理管理多个地方的店铺分店。虚拟代理:根据需要将资源消耗很大的对象进行延迟创建,直到真正需要的时候再创建。例如图片的懒加载保护代理:控制对象的访问权限,只有特定权限的用户可以访问对象。智能引用代理:对目标对象添加额外的服务静态代理静态代理:代理和被代理对
2021-02-16 15:54:53
223
原创 MySQL主从数据库配置
通过两个MySQL数据库实现主从数据库存储,实时库由于数据存储在内存中,具有读写速度快、存储量小、断电丢失数据等特点,适宜存储实时数据,历史库由于数据存储在硬盘中,具有读写速度相对较慢、数据量大、断电不会丢失等特点,适宜存储历史数据。系统定时将实时库中的数据追加到历史库中并清空实时库,完成数据备份。主从数据库工作原理如下在主库上把数据更改记录到二进制日志中(Binary Log)中,这些记录称为二进制日志事件。从库通过IO线程将主库上的日志复制到自己的中继日志(Relay Log)中。从库通过SQ
2021-01-08 15:46:54
549
原创 使用Spring Data Neo4j操作Neo4j数据库
Neo4j是目前最为流行的图数据库,如何在Java中对其进行简单的节点操作呢?Spring Data Neo4j为我们提供了方便的接口对Neo4j进行简单的操作。引入依赖在Spring Boot中使用Spring Data Neo4j首先需要引入依赖,使用maven进行管理如下 <dependency> <groupId>org.springframework.boot</groupId> <art
2020-12-13 22:25:10
2871
10
原创 Docker的相关概念与使用命令
本文主要对docker相关的镜像、容器化等概念进行了介绍,之后对整个docker生命周期相关的命令操作进行了记录
2020-12-09 11:17:58
583
原创 Spring实现跨域资源共享(CORS)
今天在前端通过Ajax获取后台数据时控制台报错如下:已拦截跨源请求:同源策略禁止读取位于 http://localhost:8080/xxx 的远程资源。(原因:CORS 头缺少 ‘Access-Control-Allow-Origin’)。这是由于浏览器同源策略的控制导致页面无法正确获取服务器端的数据同源策略同源政策是1995年由网景公司引入的浏览器访问策略,只有同源的页面之间才可以共享cookie等数据。而所谓同源是指两个页面的协议、域名、端口都相同。同源策略是为了保护用户的信息安全而设置
2020-12-01 21:01:45
450
原创 Spring中RESTful请求与响应
RESTful请求REST全称是Representational State Transfer,如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。可以唯一标识和定位资源,对于该URL标识的资源做何种操作是由Http方法决定的。请求方法有4种,get、post、put、delete分别对应获取资源,添加资源,更新资源及删除资源。每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集
2020-11-10 21:39:07
991
原创 Spring Security对用户权限进行管理
基于角色的访问控制隐式访问控制:根据用户的角色判断是否具有某项操作显示访问控制:为用户分配某种权限,根据权限判断是否可以进行某种操作。与具体角色无关,权限控制更加灵活认证( authentication ):是建立主体( principal) 的过程。"主体"不仅指用户,还可以是其他执行操作的系统或设备。授权(authorization ):或称为"访问控制(access-control), 是指决定是否允许主体在应用程序中执行操作Spring Security是Spring中常用的安全服务框架,
2020-11-03 10:29:06
2562
利用javascript在网页实现八数码启发式A*算法动画
2017-04-15
HBase伪分布式启动后HMaster挂掉
2020-09-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人