
笔记
文章平均质量分 77
寒冰小澈IceClean
一只努力的小澈
展开
-
【HBase之轨迹】(3)Apache Phoenix 5.1.2 详细使用,像 MySQL 一样使用 SQL 语句操作 HBase(Shell 操作和 SpringBoot+MyBatis 整合)
本篇将记录 Phoenix 的安装配置过程,Shell 使用和使用 SpringBoot+MyBatis 整合 Phoenix。配置过程中的一些常见错误已经在文中指出,有如 Phoenix 无法启动、缺少依赖、Command line too long、如何映射实体类等。避免走笔者已经走过的弯路,如果还发现新的问题欢迎留言。原创 2022-03-08 13:36:51 · 3085 阅读 · 4 评论 -
【HBase之轨迹】(2)使用 hbase命令 和 JavaAPI 操作 HBase(包括复杂查询--过滤器,HBase 工具类)
本篇介绍了 HBase 一系列命令的使用,包括表的增删改查,数据的增删改查同时列出了官网中提到的各个过滤器和比较器及其功能,最后在命令行和 Java 中进行使用JavaAPI 另外整理了一个工具集,以及其简单使用原创 2022-02-25 15:43:26 · 2872 阅读 · 3 评论 -
【HBase之轨迹】(1)使用 Docker 搭建 HBase 集群
继 hadoop 和 zookeeper 之后,再次使用 docker 搭建 hbase 集群,详细说明搭建过程以及 docker 搭建过程中会才踩到的坑。同时原创 2022-02-22 16:25:45 · 3596 阅读 · 4 评论 -
【C语言】B 树全代码实现与超超详细思路解读(五天的呕心沥血,绝对原创每个细节,详解查找、插入与删除)
本文详细解读了 B 树的查找、插入与删除代码,其中代码有大量的注释,同时还附上了个人的编写思路、代码总体思路、应该注意的地方以及需要避开的坑等等。对于某些需要解释的参数,也都做了详细的说明。相信看完本篇博客,即便不参考文中的代码,手撕一份 B 树也是没问题的啦原创 2021-12-05 13:10:45 · 3408 阅读 · 13 评论 -
【C语言】打印二叉树树形(制表符实现,清晰+高拓展)(2022-10-22 更新—偏移量说明)
—— 目录 ——0. 前言1. 效果展示2. 核心代码及解读3. 辅助代码0. 前言上 优快云 找了很多份树形代码,一个共通的感觉就是拓展性不够强比如说树大了节点之间被撑开无法兼容性不好没有使用树枝连接的画显示稍显混乱,使用斜线当树枝又不好拓展还有一部分就是代码太冗长看不懂基于此,我打算用回制表符,力求清晰显示出树形肝了几个小时的代码,过程中一点一点调出来树形代码部分也在不断优化,思路在不断的调试中也不断改变最后总结出一种以绝对偏移量画树形的方法,下边将一一对代码进行解释1. 效果展原创 2021-11-01 13:41:45 · 11023 阅读 · 34 评论 -
【Kafka之轨迹】Kafka 入门使用
—— 目录 ——0. 前言1. 安装、启动与关闭① 下载② 配置③ 启动④ 关闭2. 基础使用① 主题(Topic)的增删查② 模拟发布订阅0. 前言本博客使用的版本是 0.11.0.3各版本的区别可以自行了解,大致可选 0.11.x 1.x 2.x 三种版本使用的集群是 Docker 搭建的,可参见:【Docker x Hadoop】使用 Docker 搭建 Hadoop 集群(从零开始保姆级)集群之间的分发脚本 xsync 参照尚硅谷,可参见:【Linux之轨迹】Linux 各种实用小功原创 2021-10-27 22:09:05 · 1586 阅读 · 2 评论 -
【Zookeeper之轨迹】Zookeeper 入门使用(集群使用 Docker 模拟)
1. 安装启动与解决错误① 下载安装包https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/选择 apache-zookeeper-3.5.7-bin.tar.gz② 在 Linux 服务器中解压得到以下目录,然后新增 data 目录存放 zookeeper 数据(mkdir data)bin conf docs lib LICENSE.txt logs NOTICE.txt README.md README_pac原创 2021-10-21 14:59:02 · 1159 阅读 · 0 评论 -
【Docker之轨迹】为正在运行中的容器动态添加端口映射(使用 iptables,附删除 iptables 规则)
需求docker 中为容器添加端口映射只能在启动容器时(即 run)添加,而一旦启动完毕后,docker 就不再提供端口映射的功能,那我们可以绕开 docker,自己手动添加吗?答案是可以的!一番查找后,我了解到 docker 添加端口映射实际上是基于 iptables 实现的,所以只要修改里边的映射规则,就可以作用到 docker 容器上了,步骤如下:① 获取容器 IP可以进入到容器,通过 ifconfig 拿到容器的 IP 地址,如下:当然,如果有为容器固定 IP 地址的,话也可以直接用那.原创 2021-10-06 13:06:43 · 1568 阅读 · 0 评论 -
【Docker x Hadoop】使用 Docker 搭建 Hadoop 集群(从零开始保姆级)
—— 步骤 ——0. 背景1. 创建出第一个容器2. 为该容器配置 java 和 hadoop 环境3. 配置允许外界通过 ssh 连接容器4. 由该容器克隆出多个容器5. 为各个容器配置 ssh 免密登录6. 开始编写集群配置7. 启动集群0. 背景看到网上的教程,都是使用虚拟机克隆出多台虚拟机模拟集群但在真正的服务器上,发现这种方法行不通了这时候就想起 Docker 了,仔细想象 Docker 学完到现在还没真正实战过,这次正好是一个好机会实现思路也很简单,在 Docker 中创建多个 Ce原创 2021-10-03 20:29:08 · 2699 阅读 · 4 评论 -
【Linux之轨迹】Linux 各种实用功能合集(持续补充)
—— 功能列表 ——1. 了解服务器信息2. 修改主机名字3. 文件查找4. ls 命令高亮5. 常见命令安装6. ssh 免密登录1. 了解服务器信息一台服务器刚到手,首先当然就是要先认识它啦1) 查看系统信息 uname -a2) 查看操作系统版本 cat /etc/redhat-release3) 查看网络配置信息 ifconfig4) 查看磁盘信息,加 -h 会将单位转化为 G,M 这些 df -h5) 查看内存实用情况,-h 同上 free -h2. 修改主原创 2021-10-02 15:09:53 · 588 阅读 · 0 评论 -
【Redis之轨迹】记录一次 Linux 服务器惨遭挖矿的经历 [kdevtmpfs](Redis 安全问题)
Redis 漏洞说明Redis 默认情况下,会绑定在 0.0.0.0:6379,在没有利用防火墙进行屏蔽的情况下,将会将 Redis 服务暴露到公网上,如果在没有开启认证的情况下,将导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下利用 Redis 的相关方法,可以成功将自己的公钥写入目标服务器的 ~/.ssh 文件夹的 authotrized_keys 文件中,进而可以直接登录目标服务器。如果Redis服务是以roo.原创 2021-09-30 22:38:58 · 469 阅读 · 0 评论 -
【Spring之轨迹】SpringBoot 项目启动时,报错 java.nio.charset.MalformedInputException: Input length = 1
在一个夜黑风高的晚上,我兴起而走,缓缓缓缓。突然!就掉坑里了。嗯??嗯???Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:200)at org.yaml.snakeyaml.reader.Stre.原创 2021-09-30 00:21:59 · 262 阅读 · 0 评论 -
【Docker之轨迹】Docker 入门使用(穿插踩坑经历)
—— 目录 ——1. 安装 Docker2. Docker 基本使用① 镜像命令② 容器命令③ 辅助命令3. 提交自己的镜像自定义脚本安装 Docker1. 安装 Docker① 查看服务器环境cat /etc/os-release:查看系统内核版本(确认在 3.10 以上)uname -r:查看服务器版本② 卸载旧的 docker(确保没有下载)yum remove docker \ docker-client \ docker-client-l原创 2021-09-20 13:08:14 · 1027 阅读 · 0 评论 -
【Spring之轨迹】SpringBoot 应用全整合(持续补充)
梳理了 SpringBoot 最基本的实用整合,包括了创建 SpringBoot 项目,配置文件与配置类的简单书写,使用 JSR-303 校验。异步任务、定时任务以及邮件任务的实用。整合 MyBatis、Redis、Log4j2、AOP 面向切面编程这些常用的操作。最后将 SpringBoot 项目以 war 包的形式部署到服务器原创 2021-09-09 21:52:26 · 365 阅读 · 0 评论 -
【Spring之轨迹】结合 @Scheduled 实现定时将 Redis 缓存刷入数据库(配 Redis 工具类与例子实战)
使用 @Scheduled 实现定时任务,着重记录 corn 表达式的使用,然后李荣 redis 工具类实现简单的讲数据存入缓存,在定时刷入数据库的操作原创 2021-08-18 21:23:42 · 1280 阅读 · 3 评论 -
【Java之轨迹】Log4j 配置(详细注释)
自己写一份模板备用~① 配置文件######## Log4j配置 ######### 指定日志输出的级别和地方,第一个参数是级别# 往后可以接多个参数,参数名自定义,下面可以用到log4j.rootLogger = debug,logDB# console,file,rollingFile# 自定义 logger 实现控制日志输出,前缀 log4j.logger,后面加上类的全路径,等于号后边写级别和参数(同上,不写继承 root的)# log4j.logger.com.xxx = er原创 2021-08-06 22:16:07 · 469 阅读 · 0 评论 -
【Java之轨迹】Guava 基础使用之集合(详细注释演示)
—— 目录 ——0. 导入依赖包1. 新集合类型① Mutiset② SortedMultiset③ Multimap④ BiMap⑤ Table⑥ ClassToInstanceMap2. 集合工具类① Lists② Sets0. 导入依赖包<!-- guava --><dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artif原创 2021-08-06 19:46:32 · 511 阅读 · 0 评论 -
【Spring之轨迹】Spring Session 基础使用(三种情况)
分别介绍了利用 SpringSession 实现三种情况的 seesion 共享:同域名同项目、同域名不同项目、同域名不同二级域名的 session 共享(基于 SSM 环境)原创 2021-08-06 17:32:51 · 888 阅读 · 0 评论 -
【Redis之轨迹】Redis基础入门(Linux & IDEA)(配套工具类例子)
—— 目录 ——0. Redis 简介1. 安装 Redis2. 基本命令3. 五大数据类型① String 字符串② List 列表③ Set 集合④ Hash 散列表⑤ Zset 有序集合4. 在 IDEA 中使用 Redis(Jedis)0. Redis 简介Redis 即 Remote Dictionary Server 远程字典服务1. 安装 Redis(1)下载安装包:https://redis.io/ 官网中间的 Download it(2)解压安装包,看到拿到目录结构(3)原创 2021-08-04 16:52:00 · 412 阅读 · 0 评论 -
解决 Redis 连接异常 JedisConnectionException: Failed to create socket
使用 Jedis 连接 Redis 时抛出错误redis.clients.jedis.exceptions.JedisConnectionException: Failed to create socket.java.net.SocketTimeoutException: connect timed out▲ 最有可能的情况:Redis 配置问题需要将 bind 这一行注释掉然后将 protected-mode 设置为 no▲ 其他原因情况1:地址或端口写错了情况2:防火墙没开放 6.原创 2021-08-04 16:31:34 · 13280 阅读 · 3 评论 -
【Nginx之轨迹】从零开始 Nginx 基础(超详细)
—— 目录 ——0. Nginx 的原理1. 安装 Nginx安装前的准备方式一:源码简单安装方式二:yum 安装卸载 Nginx2. Nginx 服务器的开启和停止方式一:Nginx 服务信号控制方式二:Nginx 命令行控制3. 平滑升级 Nginx4. 配置文件(nginx.conf)① 全局快② events 块② http 块5. —— 反向代理 ——6. —— 负载均衡 ——7. —— 动静分离 ——0. Nginx 的原理Nginx 采用了 io 多路复用和机制。有一个 master 进原创 2021-08-02 22:21:17 · 3175 阅读 · 16 评论 -
依赖没问题,报找不到符号,程序包xxx不存在错误的解决方法
问题描述今天在做程序测试时,在 Maven中新引入了一个包后来发现不需要了,变将该依赖从 Maven 中删去整个过程其他代码没有动,但要运行时却发现,所有的类都报程序包xxx找不到错误去了每个类查看,发现代码有高亮,都没问题,classes 下的 lib 包也是完整的解决方法最后的解决方法是将 Maven 中的 <dependency> 全部删除,只保留 <dependencies>然后刷新 Maven,之后再将所有依赖重新导入,再次刷新,问题解决原因可能时 id.原创 2021-07-29 10:17:29 · 863 阅读 · 0 评论 -
【Netty之轨迹】对 NIO 的理解与实战
—— 目录 ——0. NIO 简介1. NIO 三大核心2. Buffer 缓存区3. Channel 通道4. Selector 选择器5. 知识厘清:客户端与服务端的连接6. 实战演练:附带详细注释7. SelectionKey 解释0. NIO 简介Java 共支持 3 中 I/O 模型:BIO,NIO 和 AIOBIO(Blocking IO):同步并阻塞,是传统的阻塞型没实现模式为 一个线程处理一个连接 (适用于连接数目少且固定的架构)NIO(Non-blocking IO):同步非阻原创 2021-07-25 09:26:16 · 305 阅读 · 1 评论 -
【Spring之轨迹】SpringMVC 笔记快速梳理
—— 目录 ——0. SpringMVC 简介1. 基本开发全流程2. 执行流程3. 使用注解开发(推荐使用)4. RestFul 风格5. 重定向和转发6. 参数的接收7. 乱码问题0. SpringMVC 简介SpringMvc 是基于 Java 实现的轻量级 Web 框架,是 Spring 框架的一部分,因此可以和 Spring 无缝整合1. 基本开发全流程① 导入依赖: spring-webmvc(这个包会将其他 Spring 需要的基本都导入,一步解决),servlet-api② 配原创 2021-07-23 17:30:18 · 559 阅读 · 6 评论 -
【Spring之轨迹】Spring 全部知识快速整合
—— 目录 ——0. Spring 简介1. 基础使用2. 别名与导入3. 依赖注入4. 作用域5. 自动装配6. 使用注解开发7. AOP 面向切面编程① AOP 配置② 使用 spring 的接口实现 AOP③ 使用自定义类实现 AOP④ 使用注解实现 AOP8. 整合 MyBatis① 导入依赖② 在 Spring 配置文件中整合 MyBatis③ 具体使用9. Spring 声明式事务(AOP 方法)0. Spring 简介Spring 是一个轻量级的,非入侵式的框架(包很小,也不需要改变原原创 2021-07-22 22:27:25 · 508 阅读 · 8 评论 -
【MyBatis之轨迹】MyBatis 快速知识点梳理
—— 目录 ——0. MyBatis 简介1. 基本使用① 使用 maven 导入 mybatis 依赖和 mysql 驱动② 创建 mybatis 主配置文件③ 创建 dao 接口,定义数据库操作接口④ 创建 sql 映射文件⑤ 代码使用2. 参数详解① 单个参数② 多个参数③ # 和 $ 的区别3. 结果处理4. 动态 sql 语句0. MyBatis 简介SSM 之 MyBatis界面层:SpringMVC业务逻辑层:Spring数据访问层:MyBatisMyBatis 是一个基于原创 2021-07-22 10:19:59 · 540 阅读 · 1 评论 -
【Java之轨迹】多线程与线程池
—— 目录 ——1. 线程的创建2. 线程的生命周期与监测3. 常用方法4. sleep 和 wait 的区别5. yield 和 join6. 线程的优先级7. 线程同步和锁① synchronized② Lock③ 轻量级同步机制:volatile④ 锁的分类8. 线程池9. CyclicBarrier 用法10. CountDownLatch 类1. 线程的创建继承 Thread 类,重写 run() 方法,使用 xx.start() 启动注意:不能使用 xx.run() 去启动线程,这只是原创 2021-07-21 08:12:55 · 151 阅读 · 1 评论 -
【MySQL之轨迹】MySQL索引优化实战(1)单表索引优化过程
—— 目录 ——实战题目1:单表索引优化实战题目1:单表索引优化有如下表数据,找出 贴吧id=5,帖子点赞>1 且 帖子浏览 最多的 帖子id① 初步达成要求:select post_id from t_post where post_bar_id = 5 and post_liked > 1 order by post_browsing desc limit 1;分析:可以看到进行了全表扫描(ALL),没有使用任何索引(key),还惊动了 Using filesort原创 2021-07-19 11:44:21 · 169 阅读 · 0 评论 -
【MySQL之轨迹】MySQL索引与Explain性能分析
—— 目录 ——0. 什么是索引1. 索引的数据结构2. 索引分类3. 覆盖索引4. 聚簇索引与非聚簇索引(二级索引)5. 索引失效6. 使用 Explain 了解索引性能0. 什么是索引索引(Index)是帮助MySQL高效获取数据的数据结构查看表的索引:show index from <表名>1. 索引的数据结构B+树(B 树的优化版)B树 与 B+树的比较B 树B+树可以看到,B 树的每一个结点都要存储数据,这就导致了在同样的大小下(InnoDB 每页默认大小为原创 2021-07-18 17:06:00 · 312 阅读 · 1 评论 -
HTTP 学习小结
—— 目录 ——1. TCP/IP 协议族2. HTTP 工作原理3. 请求方法4. 状态码1. TCP/IP 协议族共分为 4 层应用层: 决定了向用户提供应用服务时通信的活动HTTP 协议DNS 服务:提供域名到 IP 地址之间的解析服务传输层: 对应用层提供处于网络连接中的两台计算机之间的数据传输TCP 协议:将大的数据快分割成以报文段(segment)为单位的数据包,为了更容易地将数据传送给对方,并且其采用三次握手的方式,能确保数据达到目标网络层: 处理在网络上流动的原创 2021-07-17 20:32:26 · 200 阅读 · 0 评论 -
【Maven之轨迹】在 IDEA 中使用 Maven(环境配置+创建项目)
记录了如何在 idea 中配置自己的 maven,以及更改本地仓库路径,让后使用 maven 创建普通 java 项目以及 web 项目原创 2021-05-31 15:15:18 · 322 阅读 · 0 评论 -
【MySQL之轨迹】Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘
数据库无法关闭,无法登录,无法重启,无法连接...等的一种解决方法,通过杀死进程达到目的原创 2021-05-25 17:54:39 · 156 阅读 · 0 评论 -
【MySQL之轨迹】The last packet successfully received from the server was xxx milliseconds ago 连接超过 8 小时失效
数据库连接闲置 8 小时的解决方法之一:定时更新数据库连接池中的连接,使用了 jdk8 的新日期获取方式,通过连接创建的时间与当前使用的时间之差是否超时判断是否更新连接池原创 2021-05-25 14:59:45 · 3311 阅读 · 2 评论 -
【MySQL之轨迹】too many connections 解决(查看与关闭数据库连接)
解决数据库连接过多提供方法,查看当前所有连接状态以及关闭连接原创 2021-05-25 13:53:03 · 560 阅读 · 1 评论 -
【Java实战经验】根据大写字母分割字符串,并保留大写字母
◉ 需求背景:在使用反射操作数据库时,实体类属性名和数据库字段名命名风格不一样(属性名为驼峰命名,字段名使用下划线)这时就需要将两个名称进行互换,其中将属性名转化成字段名就需要用到以大写字母分割字符串这个方法。◉ 实现效果:◉ 实现代码:String tempName = "MyNameIsIceClean".replaceAll("[A-Z]", "_$0");String[] partName = tempName.split("_");for (String name : pa原创 2021-04-15 23:32:37 · 3521 阅读 · 1 评论 -
【数据结构与算法】栈:顺序栈、链栈实现源码(Java&C)
顺序栈和链栈的源码,分别使用Java和C语言实现原创 2021-04-04 23:16:57 · 294 阅读 · 3 评论 -
【C实战经验】C语言基础算法归纳总结(持续补全)
介绍了冒泡排序、选择排序、快速排序、插入排序、归并排序和二分法查找的实现方法和原理。链表增加结点的四种方式:头插法、尾插法、随机插法、下标插法,查找中间结点,判断链表成环以及偶数结点反转的实现方法。两数交换的三种方法:中间量法,加减乘除法和异或法,以及判断素数、最大公约数、最小公倍数、进制转换原创 2021-03-21 08:09:22 · 1521 阅读 · 6 评论 -
【MySQL之轨迹】查询语句归纳总结合集
MySQL 查询语句集合,包括:条件查询,排序查询,分组查询,连接查询,多表联合查询,子查询以及处理函数原创 2021-03-14 13:13:00 · 4082 阅读 · 10 评论 -
【Java之轨迹】第七章:集合总结 —— 大纲
厘清集合之间的关系,集合总体的注意点,以及各个集合的特点原创 2021-03-11 17:33:36 · 222 阅读 · 0 评论 -
【JDBC实战经验】从数据库中随机取出数据的2种方法
*注:conn 表示获取到的数据库连接对象首先获取数据总条数private static int getDataNum(Connection conn, String tableName) throws SQLException{ PreparedStatement ps = conn.prepareStatement("select count(*) from "+tableName); ResultSet getNum = ps.executeQuery(); if(get原创 2021-02-28 15:22:44 · 2568 阅读 · 1 评论