- 博客(67)
- 资源 (1)
- 收藏
- 关注
原创 MacBook M1平台使用 C++ 连接 MySQL
个人博客地址环境软硬件参数操作系统MacOs Monterey(version 12.0.1)芯片Apple M1g++ / gcc4.2.1clang13.0.0CMake17Clion2021.2.3其实这里并没有涉及到编译,所以 g++,GCC 和 Clang 并需要跟我统一,CMake 版本主要是代码编译链接的时候用的,也没必要跟我一样。第一步先安装 MySQLMacOs 虽然是类 Linux 系统,但还是有本质上的区别的,
2021-12-27 21:36:36
2234
5
原创 Spark 内存模型
文章目录环境参数Executor 内存划分堆内内存(On-Heap Memory)堆外内存(Off-Heap Memory)动态调节机制Task 能申请到的内存环境参数spark 内存模型中会涉及到多个配置,这些配置由一些环境参数及其配置值有关,为防止后面理解混乱,现在这里列举出来,如果忘记了,可以返回来看看:spark.executor.memory :JVM On-Heap 内存(堆内内存),在使用 spark submit 提交的时候,可以通过配置 --executor-memory 来对这个
2021-03-17 23:46:21
4836
原创 安全失败机制
简介在 快速失败机制 一文中,大致说明了在 java.util 中集合内实现的快速失败机制,并在最后指出,一旦多个线程操作同一个集合,就有可能触发 ConcurrentModificationException 异常。安全失败机制与快速失败机制差不多,但快速失败是为了检测并发修改的 bug,而安全失败机制是为了解决这种 bug 提供一种解决方案。源码我还是用 HashMap 的线程安全集合 ConcurrentHashMap 的源码介绍:public final Iterator<V>
2021-03-12 18:00:23
614
原创 Java 集合快速失效机制
文章目录简介源码简介以下解释摘抄自网络:在系统设计中,快速失效系统一种可以立即报告任何可能表明故障的情况的系统。快速失效系统通常设计用于停止正常操作,而不是试图继续可能存在缺陷的过程。这种设计通常会在操作中的多个点检查系统的状态,因此可以及早检测到任何故障。快速失败模块的职责是检测错误,然后让系统的下一个最高级别处理错误。简单点来说就是:快熟失效功能是在 java.util 包中集合的一种失败机制,在多个线程中操作同一个集合时会抛出异常,这种异常是需要停止任务并需要解决的。源码在我的 Has
2021-03-12 12:17:09
520
原创 Java 源码解读系列 —— HashMap
新博客地址,愿大家多多点击HashMap源码解读Hash 算法Hash 冲突解决方案链地址法开放地址法HashMap 数据结构HashMap Java 源码先确定几个预定义常量默认初始容量扩容阈值树化与链化阈值最小树化容量HashMap 中的变量存储数据的最小单位 Node构造方法tableSizeFor() 方法putVal() 方法resize() 方法链表拆分算法treeifyBin() 方法1.7 到 1.8 的升级Hash 算法简单介绍一下 Hash 算法以及解决 Hash 冲突的方案。优
2021-03-11 18:08:56
154
2
原创 VS Code 远程连接服务器
VS Code 远程连接服务器这里写目录标题VS Code 远程连接服务器1. 下载插件2. 修改 Remote - SSH 配置3. 连接服务器1. 下载插件Remote DevelopmentRemote - SSH主要安装这两个,其他的附加插件都会自动安装2. 修改 Remote - SSH 配置右键 Remote - SSH 点击设置{ "editor.renderIndentGuides": false, "files.autoSave": "afterDelay
2020-12-03 09:32:02
1120
原创 鲲鹏 ARM 架构编译 ClickHouse 记录(最全)
鲲鹏 ARM 架构编译 ClickHouse 记录目录环境要求Yum 安装相关依赖升级 GCC 到 9.3.0坑 1:GCC 更新后,系统库也要更新编译安装 CMake编译安装 Git编译安装 ClickHouse从 GitHub 克隆准备编译操作坑2:修改 ClickHouse/contrib/zlib-ng/CMakeLists.txt 文件开始编译安装添加缺失文件参考博客环境要求软硬件参数CPU鲲鹏 920内存>= 8GB硬盘>= 100GB(编
2020-10-22 18:33:40
7219
28
原创 配置 ClickHouse 用户权限
配置 CK 用户权限上接 ClickHouse 高可用集群搭建1. 删除 metrika.xml 中的远程连接配置这个文件配置到了 config.xml 文件中的 <include_path> 标签中,如果在 metrika.xml 中配置了 <networks> 就删了,没有配置就可以跳过<!-- 把这个删除掉 --><networks> <ip>::/0</ip></networks>2. 配置
2020-09-23 16:46:02
1834
原创 ClickHouse 高可用集群搭建
ClickHouse 高可用集群搭建本文为作者手把手搭建 CK 集群记录,且搭建成功,但该集群环境为 QA,所以最后没有配置密码1. 下载安装包通过官网提供的地址下载clickhouse-client-20.3.15.133-1.el7.x86_64.rpmclickhouse-common-static-20.3.15.133-1.el7.x86_64.rpmclickhouse-server-20.3.15.133-1.el7.x86_64.rpmclickhouse-server-com
2020-09-22 18:31:43
1571
原创 C++复制构造函数
12345678910111213141516171819202122232425262728#include<iostream>using namespace std;class A {private: int value;public: A(int n) { value = n; } A(A other) { va...
2019-07-19 18:49:26
103
原创 C++的sizeof函数
1234567891011#include<iostream>using namespace std;class Chen {};int main() { Chen a; cout << sizeof(a) << endl; return 0;}定义一个空类型,里面没有任何成员变量和成员函数,对...
2019-07-19 18:27:10
3827
原创 Maven的Web工程中获取相对路径无效
Maven的Web工程中${pageContext.request.contextPath}获取相对路径无效开发环境:Maven 3.6.0 || jdk 1.8 || Spring 4 摄影:Zahrin Lukman,来自Unsplash解决方案一(亲测有效)将 web.xml 文件中的 标签的版本修改高一些&...
2019-03-26 19:14:57
550
原创 Maven项目加载不到Mybatis的xml文件报异常的解决方案
Maven项目加载不到Mybatis的xml文件报异常的解决方案这是第一篇解决开发问题的博客,以后也会按照这种格式来书写,并不断改进(这条仅本条博客存在) 开发环境:Maven 3.6 || jdk 1.8 || Spring 4 (解决方案亲测有效)摄影:Christian Lambert,来自Unsplash...
2019-03-24 21:43:27
1067
2
原创 自定义mysql文件名安装mysql
1.解压压缩包2.在加压文件下创建data目录3.创建mysql用户和mysql用户组4.初始化mysql5.复制support下的my-default.cnf到/etc/my.cnf6.复制support下的mysql.server到/etc/init.d/mysqld7.修改mysql目录下的mysql_safe(将文件里面的/usr/local/mysql修改成自己的...
2019-01-30 11:09:55
516
原创 将U盘更改为NTFS
在不格式化的情况下将U盘更改为NTFS格式1.按住window键和R键打开运行窗口,输出cmd打开命令行界面2.在命令行界面中输入 convert (U盘符):/fs:ntfs 按下回车就可以了等待一段时间后就转换为ntfs格式了,也就是说可以存储4G以上的文件了...
2018-08-28 10:38:26
3891
原创 Cty的Linux学习笔记(十五——wget)
Linux学习笔记——第十五篇wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”参数: -b:后台下载模式 -P:下载到指定目录 -t:最大尝试次数 -c:断点续传 -p:下载页面内所有资源,包括图片、视频等 -r:递归下载...
2018-08-16 11:56:24
289
原创 Cty的Linux学习笔记之查看bash PID
查看bash PID当想要查看的进程CPU与内存使用率都很低,结果老师无法在第一行显示是,可以用echo $$查看我们自己的 bash PID 来进行查看,之后再使用top -d 2 -p [PID]查看,如图...
2018-08-07 22:20:00
381
原创 趣玩Linux之修改主机名
在安装Linux系统后,主机名称往往是默认的,如果想要更改,就必须要更改 /etc/hostname 配置文件,但还有一种方法,通过命令进行更改:hostnamectl set-hostname [你想要更改的主机名]这样你的主机名就更改好了,可以通过hostname进行查看,但是更改完成后并不会直接显示,需要重启后才能生效...
2018-08-02 17:52:12
256
原创 趣玩Linux之更改欢迎信息
Linux欢迎信息在登录Linux系统的时候,输入密码登录后会有一排或几排欢迎登陆的信息,但有些人喜欢个性化自己的登录信息,比如我将自己服务器的欢迎信息更改为了 "Welcome com to TengXun Server" 这是我租的腾讯服务器,开始的时候是没有欢迎信息的,如果想要更改或添加欢迎信息,就可以更改/etc/motd文件,用nona,vi,vim都可以,我个人是习惯用vi...
2018-07-29 22:40:20
644
原创 Cty的Linux学习笔记(十四)
Linux学习笔记——第十四篇环境变量配置文件: /etc/profile:预设了几个重要的变量,例如PATH,USER,LOGNAME,MAIL,INPUTRC,HOSTNAME,HISTSIZE,umask等 /etc/bashrc:预设umask以及PSI,PSI是输入命令时前面的字符串 .bash_profile:该文件定义了用户的个人化路径与环境变量的文...
2018-06-27 11:12:06
189
原创 Cty的Linux学习笔记(十三)
Linux学习笔记——第十三篇特殊字符: !!:连续两个“!”表示执行上一条指令 !n:n是数字,表示执行命令历史中的第n调指令 !字符串(字符串大于):执行命令历史中最近一次以字符串开头的命令别名: alias格式:alias [命令别名]=['具体的命令'] unalias 取消别名通配符: 使用“*”来匹配零个或多个字符,用?匹配一个字符输入/输出重定向:...
2018-06-27 10:27:32
192
原创 Cty的Linux学习笔记(十二)
Linux学习笔记——第十二篇命令(command):RPM工具:rpm -ivh ......:安装RPM包 -i:表示安装 -v:表示可视化 -h:表示显示安装进度 在安装RPM包是常用的附带参数还包括如下几项: --force:表示强制安装,即使覆盖于其他包的文件也要安装 --nodeps:表示当要安装的RP...
2018-06-26 11:26:59
316
原创 Cty的Linux学习笔记(十一)
Linux学习笔记——第十一篇文档压缩与打包:.gz:表示由gzip压缩的文件.bz2:表示由bzip2压缩的文件.tar:表示由tar打包的文件(tar没有压缩功能,只是把一个目录合并成一个文件).tar.gz:先由tar打包,由gzip压缩.tar.bz2:由tar打包,由bzip2压缩.tar.xz:由tar打包,由xz压缩命令(command):gzip:格式:gzip [-d#] ...
2018-06-26 10:25:25
276
原创 Cty的Linux学习笔记(十)
Linux学习笔记——第十篇命令(command):mount:可以查看当前系统一些已经挂载的所有分区,分区文件系统的类型,挂载点及一些选项信息。 -a:把/etc/fstab出现的所有磁盘分区挂载上 -t:用来制定挂载的分区类型 -o:用来指定挂载的分区有哪些特性blkid:获取各个分区的UUIDumount:后可跟挂载点,也可以...
2018-06-26 09:35:17
187
原创 Cty的Linux学习笔记(九)
Linux学习笔记——第九篇命令(command):df(disk filesystem):用于查看已挂载的磁盘的总容量,使用容量,剩余容量,不可以加任何参数 -i:表示查看inodes的使用情况 例:df -i | grep -v tmpfs(grep过滤) -h:表示使用适合的单位显示 例:df -h | grep -v tmpfs -k,-m:分...
2018-04-27 22:48:19
252
原创 Cty的Linux学习笔记(八)
Linux学习笔记——第八篇命令(command):groupadd: 新增组的命令 格式:groupadd [-g GID] groupname 不加-g,按照系统默认的gid创建组,gid也是从1000开始的groupdel: 删除组的命令 不能删除有用户的组,必须删除用户后才能删除组useradd: 增加用户 格式:useradd [-u UID] ...
2018-04-26 23:35:34
169
原创 Cty的Linux学习笔记(七)
Linux学习笔记——第七篇Linux常见的文件类型:普通文件(regular file):即一般类型文件,ls -l命令查看时开头为“-”的文件,可分为纯文本文件(ASCII)和二进制文件(binary),纯文本文件可以用cat,more,less等工具查看内容,二进制文件不可以。目录(directory):ls -l命令查看时开头为“d”的文件。链接文件(link file):ls -l命令查...
2018-04-26 23:21:29
172
原创 《Android编程权威指南(第三版)》第十五章挑战练习Demo
《Android编程权威指南(第三版)》第十五章挑战练习Demo第一题,使用IntentBuilder创建Intent,关键代码:mReportButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ...
2018-04-23 22:48:52
739
1
原创 Cty的Linux学习笔记(六)
Linux学习笔记——第六篇(声明:该笔记只作为学习记录及参考)命令(command):chattr:格式为:chattr [+-=][Asaci][文件名或者目录名] +:增加 -:减少 =:设定 A:增加该属性后,表示文件或目录的atime将不可更改 s:增加该属性后,会将数据同步写入磁盘中 a:增加该属性后,表示只能追加,不能删除,非root用户不能设定该...
2018-04-22 13:28:49
239
原创 《Android编程权威指南(第三版)》第十四章挑战练习Demo
《Android编程权威指南(第三版)》第十四章挑战练习Demo这章的挑战练习和13章的差不多一样,只是要操作数据库,废话少说,直接贴代码:/** * delete的方法稍有不同,用uuid进行判断删除的是哪一个crime */ public void deleteCrime(Crime c) { mDatabase.delete(CrimeTable....
2018-04-19 22:46:27
893
原创 《Android编程权威指南(第三版)》第十三章挑战练习Demo
《Android编程权威指南(第三版)》第十三章挑战练习Demo忙了两个星期,又回来了,终于轻松一阵了,哈哈哈哈哈,有时间写了!嘚瑟一下,挑战练习走起第一题:删除crime记录这里直接使用List的remove(Object object)方法就行,具体怎么加工具栏的删除图标就不说了,和书上一样,直接放关键代码:public void onCreate(@Nullable Bundle saved...
2018-04-16 20:40:31
1538
原创 Cty的Linux学习笔记(五)
Linux学习笔记——第五篇(声明:该笔记只作为学习记录及参考)一个Linux目录或文件都会有一个所有者和所属组,所有者为文件拥有者,所属组指文件属于哪一个组文件属性:d rwxr-xr-x 2 root root 6 2月 18 10:52 dic1 2 3 4 5 6 7 8 9 10 1:用来描述文件类型: d:...
2018-04-14 13:08:39
174
原创 Cty的Linux学习笔记(四)
Linux学习笔记——第四篇(声明:该笔记只作为学习记录及参考)cp: -r:复制一个目录 -i:安全选项echo:用于打印,后面若有'>'符号测试将'>'前的内容写到后面的文件中,若为‘>>’则为追加的意思touch:如果有该文件,则会改变文件的访问时间,如果没有这个文件,就会创建这个文件cat:用于读文件,并把读到的内容打印到当前屏幕上mv:移动文件或目录,...
2018-04-14 11:59:15
177
原创 《Android编程权威指南(第三版)》第十二章挑战练习Demo下
《Android编程权威指南(第三版)》第十二章挑战练习Demo下时间太紧,导致写得有点慢,现在来补上:第12 章的第二个挑战练习难度的确有点大,但还好,弄懂了就好写了,按书上步骤来:1.更改onCreateDialog(Bundle)为onCreateView():public View onCreateView(LayoutInflater inflater, @Nullable ViewGr...
2018-04-03 13:17:26
978
原创 《Android编程权威指南(第三版)》第十二章挑战练习Demo上
《Android编程权威指南(第三版)》第十二章挑战练习Demo上因为第十二章有两个挑战练习,所以分成上下来发,先说第一个,题目要求在CrimeFragment中加一个按钮显示TimePickerFragment视图界面,当然,只显示肯定很简单,但我们可以自己加点难度,就像日期按钮一样,在点开日历之后选择日期返回后也可以更改CrimeFragment里面的数值,比如: ...
2018-03-30 16:46:13
582
原创 Cty的Linux学习笔记(三)
Linux学习笔记——第三篇(再次声明:该笔记只作为学习记录及参考)概念:相对路径:依赖于当前文件或目录的路径绝对路径:依赖于根目录的路径命令(command):cd:变更用户所在的目录,只能跟目录名pwd:显示当前所在目录(注:'.' 表示当前目录,'..' 表示当前目录的上一级目录)mkdir(make directory):创建目录:{ -m:用于指定要创建的目录的权限 -p:创...
2018-03-29 09:30:57
233
原创 蓝桥杯 翻硬币
蓝桥杯——翻硬币直接贪心算法解决:#include<iostream>#include<string>using namespace std;int main() { string s1, s2; getline(cin, s1); getline(cin, s2); int n = s1.length(); int index = 0; for (in...
2018-03-28 18:32:17
434
原创 蓝桥杯 错误票据
蓝桥杯——错误票据问题描述:某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。任务:找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。(运行环境 Visual Studio 2019,本博客...
2018-03-28 18:30:41
435
2
原创 蓝桥杯 密码发生器
蓝桥杯——密码发生器第一步:将字符串转换为一行只有6个字母的二维数组第二步:将每一列单独加起来第三部:递归处理数据直至只剩个位数代码:#include<iostream>#include<string>using namespace std;int toOnenum(int n) { int sum = 0; if (n / 10 == 0) { retur...
2018-03-28 17:20:14
339
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人