自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

四国棋客

敬属江上雨,寒舟里,我独饮

  • 博客(282)
  • 资源 (1)
  • 问答 (6)
  • 收藏
  • 关注

原创 解决mac运行scrcpy报错库找不到的问题

scrcpy是一个手机投屏工具,非常好用,但运气不佳也会遇到一些问题。本文记录了在mac上碰到的libmbedcrypto找不到问题的解决方案

2024-02-24 14:49:14 783

原创 git学习笔记之用命令行解决冲突

一般来说,当使用git检测到源分支和目标分支发生冲突时,我们习惯用IDE在本地进行冲突的解决,再合并、push。但如果冲突文件不多,我们大可以直接用命令行去解决冲突。

2023-10-22 17:16:38 399

原创 Android开发之lint代码检测编写和使用方法

本文记录了Android开发中使用lint对代码进行静态检测的方法,并用Log方法检测和Toast硬编码检测对项目结构、依赖方式、lint检查器的注册、编写和使用方式进行了详细说明。

2023-09-09 11:50:54 580

原创 Jetbrains IDE新UI设置前进/后退导航键

本文介绍了在Idea、PyCharm、AS新UI界面中,设置前进、后退导航键的方法。

2023-08-26 09:30:58 2897

原创 MySQL5.7数据目录结构

本文记录了CentOS7下,MySQL5.7的数据目录结构。

2023-08-20 09:03:34 1135

原创 MySQL学习笔记之MySQL5.7用户管理

本文记录了MySQL5.7的用户管理使用过程,包括用户创建、用户修改、用户删除和权限管理

2023-08-13 11:11:48 492

原创 MySQL学习笔记之SQL语句执行过程查看

本文记录了用profile语句查看SQL语句执行过程的方法,包括查看性能数据

2023-07-29 09:41:25 1678

原创 MySQL5.7索引的使用

本文记录了索引创建、删除的方式,以及适合与不适合创建索引的几种情况。

2023-07-22 11:17:32 292

原创 MySQL学习笔记之分析查询语句explain

本文记录了MySQL中explain语句的学习过程,结合实例展示了explain中的常用字段的含义。

2023-07-15 11:00:42 382

原创 MySQL学习笔记之监控分析视图-sys.schema

类型开头描述主机相关主要汇总了IO延迟信息InnoDB相关innodb汇总了InnoDB的缓存信息和事务等待InnoDB锁的信息IO相关io汇总了等待IO、IO使用量情况内存使用情况memory从主机、线程、事件等角度展示内存的使用情况连接语会话信息processlist和session相关视图总结了会话相关信息表相关展示了表的统计信息索引信息统计了索引的使用情况,包含冗余索引和未使用的索引语句相关statement包含执行全表扫描、临时表、排序等语句信息。

2023-07-09 11:04:26 357

原创 MySQL学习笔记之索引优化与查询优化

本文记录了MySQL学习笔记中的查询优化和索引优化。索引优化部分列举并分析了索引失效的各种场景,查询优化部分包括了关联查询优化、子查询优化、排序优化、分组查询优化、分页查询优化,还介绍了覆盖索引、索引下推等概念和使用场景。最后,对比了普通索引和唯一索引、count(*)、count(1)和count(字段)的效率、exists和in的区分等优化手段。

2023-06-22 11:29:31 642

原创 MySQL学习笔记之数据提交与回滚、DDL和DML

DML默认情况下也是执行后不可回滚,但如果在执行之前执行了set autocommit = false,则可以回滚。DDL:数据定义语言,包括建库、建表、设置约束、加列、删列、删库、删表;DML:数据操作语言,表内容数据级别的增删改查,和存储过程或函数调用。DDL的操作一旦执行,而且执行后肯定会执行一次数据提交,不可回滚;: 删除表内容,数据范围可定义,可以回滚。: 清空全部表内容,不可回滚;

2023-06-18 09:01:22 396

原创 MySQL学习笔记之变量、流程控制和游标

本文介绍了MySQL中变量(系统变量、局部变量)、流程控制(判断和循环),以及游标的使用方法

2023-06-03 11:01:40 246

原创 MySQL学习笔记之触发器

触发器是由事件触发的某个操作,事件包括增删改事件,操作就是我们定义的触发器操作。本文结合使用案例,介绍了触发器的创建、触发、删除、查看等生命周期,最后说明了触发器的优缺点和注意事项。

2023-05-13 09:57:34 372 1

原创 MySQL学习笔记之存储过程与存储函数

本文记录了MySQL中存储过程和存储函数的学习过程,包括创建、调用、传参、返回值的使用方法,以及存储过程和存储函数本身的修改、查看和删除,最后对比了存储函数和存储过程的区别,和优缺点。

2023-04-22 13:24:59 514

原创 MySQL学习笔记之多表连接

多表连接,就是从多张表中查找符合条件的数据交集,包括自连接、内连接、外连接(左外连接、右外连接),顺便介绍下union关键字。

2023-04-05 10:47:14 145

原创 MySQL学习笔记之分组与having

本文记录了MySQL中分组和having语句相关的知识,以及MySQL和完整结构和执行顺序

2023-03-25 10:02:00 234

原创 MySQL学习笔记之常用辅助函数

本文记录了MySQL中一些常用的辅助函数,如加密函数、信息函数(查看版本、连接ID、schema、字符集等),以及进制转换、四舍五入、IP地址和数字的转换等

2023-03-11 10:50:27 109

原创 MySQL学习笔记之子查询

本文记录了MySQL学习笔记中关于子查询的知识,包括自连接方式、子查询案例、exists和not exists关键字

2023-03-05 11:51:25 429

原创 MySQL学习笔记之随机整数和随机字符串的生成

本文记录了MySQL中随机字符串和随机整数的生成方式

2023-02-25 11:41:17 249

原创 git用命令行解决冲突

一般来说,我们用github/gitlab向远程推送代码、遇到冲突时,都会选择在IDE中通过点击按钮来解决冲突。但有时IDE卡死了,不想重启、不想等的话,就不得不转用命令行来解决冲突了,本文介绍两种在IDE之外,解决冲突的方法。

2023-02-18 11:16:35 466

原创 git中cherry-pick报错fatal: bad object commit_id的解决方法

本文记录一下git中cherry-pick报错fatal: bad object commit_id的解决方法

2023-02-11 10:03:40 2107

原创 git中cherry-pick报错是一个合并提交但未提供-m选项的解决方法

本文记录一下cherry-pick时报错未提供-m选项的解决方法

2023-02-04 10:57:32 2638

原创 Gradle学习笔记之Hook生命周期

Gradle生命周期中的hook(钩子)函数是由gradle自动回调的,可以用来帮助我们实现一些功能。

2023-01-28 11:46:56 1013

原创 Gradle学习笔记之项目发布

本文记录了gradle项目模块发布的常用代码。

2023-01-21 10:13:34 422

原创 Gradle学习笔记之build.gradle文件

是gradle构建脚本文件,支持java、groovy等语言。每个gradle项目或模块都会有一个文件,该文件是项目构建的入口,可配置版本、插件依赖库等信息。每个build文件都有一个对应的project实例,配置文件,实际就是设置project实例里面的属性,或者调用里面的方法。根项目的project实例可以获取到所有子项目或子模块的project实例,因此我们可以在根项目的文件中对子项目进行统一配置,比如应用插件、依赖的maven中心仓库等,常见的Project和Task。

2023-01-14 10:41:10 3160

原创 Gradle学习笔记之插件

本文描述了gradle插件的相关内容,包括插件的作用、插件的分类、buildSrc的编写和引用方式、插件的属性。

2023-01-07 10:23:08 1159

原创 Gradle学习笔记之依赖

本文描述了Gradle中依赖相关知识,包括依赖方式、api和implementation的区别、依赖冲突时的处理方法等

2022-12-31 12:01:11 5714

原创 Gradle学习笔记之文件操作

Gradle中的文件操作方式有五种:本地文件、文件集合、文件树、文件拷贝和归档文件,本文给出了这五种文件操作方式的案例

2022-12-24 11:03:09 1889

原创 Gradle学习笔记之任务

本文介绍了gradle中的任务相关情况,包括入门案例、任务参数、任务依赖关系、任务分类等

2022-12-17 15:18:09 1325

原创 Gradle学习笔记之项目生命周期及settings文件

本文介绍了Gradle项目的生命周期,以及其中settings文件的作用和配置方法

2022-12-10 16:05:30 848

原创 Gradle学习笔记之Groovy简单使用

groovy可以当成java的脚本化改良版,同样运行于JVM之上,可以很好地和java代码及相关库进行交互,既可以面向对象编程,也可以用作纯粹的脚本语言。Groovy支持动态类型转换、闭包、元编程、函数式编程、默认作用域为(不支持)、基本类型为对象(可以直接调用对象的方法)、支持领域特定语言DSL和其他简洁语法,并且完全兼容java语法。

2022-12-04 14:19:06 1028

原创 Gradle学习笔记之第一个Gradle项目

Gradle是Android构建的基本工具,因此作为Android研发,有必要系统地学一学Gradle,环境windows就可以。

2022-11-26 11:34:37 1017

原创 ClickHouse学习笔记之备份和恢复

ClickHouse允许使用查询已创建表分区的本地副本,这是利用硬链接到目录中实现的,所以它通常不会因为旧数据而占用额外的磁盘空间。创建的文件副本不由ClickHouse服务器处理,所以不需要任何的外部系统就可以有一个简单的备份。为了防止硬件问题,最好将这些备份复制到另一台主机上,再删除本地副本。

2022-11-19 10:45:34 2437

原创 ClickHouse学习笔记之监控

ClickHouse运行时会将一些自身的运行状态记录到众多系统表中(system.*),所以我们对于ClickHouse的运行指标的监控,也主要来自于这些系统表,但是这种方式有两个弊端:1)、过于底层,不够直观,我们需要可视化展示;2)、系统表只记录了ClickHouse自身的运行指标,有时候我们需要通过外部系统的指标进行关联分析,比如ZooKeeper、服务器CPU等。

2022-11-12 10:41:55 1298

原创 ClickHouse学习笔记之MaterializeMySQL引擎

MySQL用户群体很大,为了增强数据的实时性,很多解决方案会利用binlog将数据写入到ClickHouse。为了能够监听binlog事件,我们需要利用类似canal这样的中间件,但这样会增加系统的复杂度。ClickHouse20.8.2.3版本新增了MaterializeMySQL这一数据库引擎,该引擎能够把ClickHouse中某个数据库映射到MySQL中的某个数据库,并自动在ClickHouse中创建对应的`ReplacingMergeTree`。ClickHouse以此作为MySQL的副本,读取B

2022-11-05 17:36:24 500

原创 ClickHouse学习笔记之数据一致性

ClickHouse中,即使是对数据一致性支持最好的合并树引擎,也只能保证最终一致性。例如,对数据的去重只会在数据合并期间进行,合并会在后台一个不确定的时间进行,因此我们不能与先做出计划,从而有一些数据在被读取时可能仍未被处理。尽管我们可以通过optimize语句发起计划外的合并,但那会引发大量的数据IO,因此不要依靠该语句。所以,适用于后台清除重复数据以节省空间,但不能保证没有重复的数据出现。我们在使用、这类表引擎时,会出现短暂的数据不一致的情况。

2022-10-22 11:39:36 998

原创 ClickHouse学习笔记之优化

本文从建表优化、单表查询优化、多表查询优化、物化视图等方面介绍了ClickHouse的优化方法。

2022-10-15 11:37:12 1137

原创 ClickHouse学习笔记之分片集群

副本虽然可以提高数据的可用性,但每台服务器必须容纳全量数据,没有支持数据的横向扩容。要解决数据水平切分问题,需要引入分片的概念,通过分片把一份完整的数据进行切分,不同的分片分布到不同的节点上,再通过分布表引擎把数据拼接起来使用。分布引擎本身不存储数据,而是通过分布式逻辑进行不同分片的分布式数据的写入、分发和路由。因为ClickHouse的集群是表级别的,所以实际企业大部分做了高可用,但没有分片,以避免降低查询性能和操作集群的复杂度。

2022-10-08 10:49:32 1450

原创 ClickHouse学习笔记之副本

如果需要保障数据的高可用性,那么需要为数据表创建副本,并通过ZooKeeper进行副本管理、同步和协调。

2022-09-17 11:25:09 774

Java VisualVM 2020-05-14 20-42-37.mp4

根据宋红康的jvm视频,利用从jdk自带的jvisualvm工具看到堆空间的占用过程,复现OOM异常

2020-05-21

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除