- 博客(60)
- 收藏
- 关注
原创 JDBC连接mysql8:Public Key Retrieval is not allowed
JDBC连接mysql8:Public Key Retrieval is not allowed
2023-04-24 15:03:35
790
原创 组合算法笔记2
利用直观方式进行递归组合,从左到右,依次选择每个元素1. 注意点:* 为了避免组合重复,组合结果要按照第一组的前m个元素和后m个元素,即首位元素的遍历范围序号是[1,n-m]* 找到首位元素后,其余候选元素的组合即为相同问题的子问题,进而递归
2022-02-09 18:41:42
562
原创 组合算法的个人总结
组合算法一、组合描述从n个元素中任选m个元素进行组合,组合结果数量为(特注:符号 C 的上标要始终不大于下标才有意义,后续不再重复声明类似问题)Cnm=Cnn−m=Cn−1m−1+Cn−1m(恒等式)C^{m}_{n} = C^{n-m}_n = C^{m-1}_{n-1} + C^{m}_{n-1} (恒等式)Cnm=Cnn−m=Cn−1m−1+Cn−1m(恒等式)基础理论回顾:Ann=n!(基础的全排列,从1−n每个位置的可选元素为n−1,即n∗(n−1)∗...∗3∗2∗1)A^n
2022-01-13 11:15:10
463
原创 gitlab docker使用ssh访问失败问题
解决gitlab docker服务器,使用ssh访问时,由于ssh秘钥权限导致访问出错的问题。记录笔记。
2021-05-17 15:21:25
3846
原创 Java初学笔记(八):正则表达式
文章目录JUnit正则表达式匹配规则复杂规则分组匹配非贪婪匹配搜索和替换分割字符串搜索替换反向引用JUnit@Test@BeforeEach@AfterEach@BeforeAll@AfterAll@Disabled…传送门正则表达式boolean str.matchs(String regex)正则字符串不同于普通字符串, 特殊字符需要转义, 用普通字符串表示时就需要再次转义匹配规则.任意字符(默认不含换行符\n)\d数字\w字母, 数字, 下划线\s空白
2020-05-24 23:01:51
430
原创 Java初学笔记(七):日期与时间
文章目录时间和日期旧APIDateCalendarjava.timeLocalDateTimeDuration和PeriodZonedDateTimeDateTimeFormatterInstant新旧API转换[传送门](https://www.liaoxuefeng.com/wiki/1252599548343744/1303978948165666)时间和日期Java程序中, 时间戳(Epoch Time)通常是用long(64位)表示的毫秒数, 获取方法是System.currentTimeMi
2020-05-21 16:26:41
491
原创 Java初学笔记(六):I/O接口
文章目录IOFile对象Path对象InputStreamOuputStreamFilter模式FilterInputStreamZIPclasspath序列化ReaderWriterPrintStream / PrintWriterIO主要位于java.io.*包File对象File f = new File("C:\\Windows\\notepad.exe")File对象可以传入绝对路径和相对路径File输出路径:getPath(): 返回构造函数传入的路径getAbso
2020-05-21 16:21:24
531
原创 Redis相关问题及方案
缓存服务的相关问题缓存预热系统刚启动时,主从数据同步压力和客户端请求压力可能使其直接宕机缓存预热即系统启动前,先将相关的热点数据直接加载到缓存系统,避免在用户请求时要先查询数据库再写入缓存。缓存雪崩短时间内大量的数据过期,redis未命中,数据库查询压力集中爆发,数据库瘫痪,导致服务瘫痪,redis服务失效。重启系统依然无法解决。解决途径更多使用页面静态化,减少用户请求次数构建多级缓存架构:Nginx缓存+Redis缓存+Ehcache缓存MySQL耗时业务优化,数据库瓶
2020-05-19 19:36:00
151
原创 redis哨兵和集群
哨兵作用监控:master与slave是否正常同步master / slave / sentinel信息通知:其它哨兵和客户端保持连通自动故障转移:重新选举master;暂停slave服务发现问题竞选负责哨兵从slave中优选出新master新master上线,其它slave切换master,原master变成新slave简单介绍哨兵sentinel也是redis服务器,通过配置文件启动,不能用于读写数据启动哨兵后,会先与指定的主机进行通信,获取所有info
2020-05-19 19:33:40
171
原创 Redis主从复制
文章目录主从复制master与slave通信过程建立连接数据同步与传播 - 1(socket)补充数据同步与传播 - 2心跳机制主从复制问题频繁进行全量复制频繁中断主从连接多slave间数据不同步主从复制一个主机master与多个从机slave集群,一般主机只写入数据,并同步给从机,从机只读取数据。从机通过指令 slaveof host port 成为master的slave需要取消主从关系, slave可以通过指令 slaveof no one 解除使用 info [filter] 指令查看m
2020-05-18 14:37:54
273
原创 Redis高级数据类型与事务
文章目录高级数据类型bitmapsHyperLogLogGEO数据持久化redis事务事务注意事项事务中的锁高级数据类型bitmaps直接使用二进制位存储二元状态信息setbit key offset value : 设置比特数据, 未设置的比特位默认为0getbit key offset : 获取比特数据比特类型与普通的字符串类型可以共用一个关键字bitcount key [start end] : 获取比特1的数量, 可以指定计数范围bitop option distkey key1
2020-05-18 12:23:01
320
原创 Java初学笔记(五):集合类
集合类0、简介java.util包中主要提供了三中集合类型:List: 有序列表的集合Set: 没有重复元素的集合Map: 通过键值(key-value)查找的映射表集合关于java.util.Collection: Collection是除Map外的所有其它集合类的根接口java集合的特点:一, 接口和实现类分离二, 支持泛型List[] li = new...
2020-04-18 15:03:13
205
原创 Java初学笔记(四):注解和泛型
文章目录注解泛型泛型技术: 擦拭法extends通配符super通配符`extends`与`super`对比:PECS原则无限定通配符泛型和反射关于使用泛型注解所有注解都继承自java.lang.annotation.Annotation自定义注解public @interface XXX { // 使用@interface声明注解,public指定作用域 int type(...
2020-04-13 23:39:38
483
原创 Redis常用数据类型和基本使用方法总结
文章目录常用数据类型一、string类型基本操作string类型扩展操作二、hash类型hash类型数据的基本操作hash类型数据扩展操作三、list类型四、set类型set类型数据扩展操作五、sorted_set类型sorted_set基本操作sorted_set类型扩展操作使用帮助常用数据类型stringhashlistsetsorted_setRedis以key-value...
2020-04-13 23:16:34
508
原创 Java初学笔记(三):异常与反射
文章目录异常处理反射Class类Class类实例方法访问字段Field对象方法调用方法Method对象方法多态调用构造方法获取继承关系动态代理异常处理throws在方法体前声明此方法可能抛出的异常throw在方法体内执行抛出异常对象异常捕获处理try {}catch{}finally{}catch块和finally块同时有return或throw语句时, fina...
2020-04-08 23:17:15
406
原创 Java初学笔记(二):Java核心类和常用工具类
Java核心类String类new String():构造函数new String(String original):根据源String构造新Stringnew String(StringBuilder builder)new String(StringBuffer buffer)new String(char[] value[, int offset, int count]): 根...
2020-04-04 18:00:56
167
原创 java初学笔记(一)
Java基础System.out.print("...")System.out.println("...")System.out.printf("%d %x %f %e %s", ...)// 十进制, 十六进制, 浮点数, 科学记数法, 字符串import java.util.Scanner;Scanner input = new Scanner(System.in);Strin...
2020-04-03 20:47:07
173
原创 二叉树遍历(非递归)
二叉树遍历二叉树是一种很重要的数据结构, 二叉树的遍历又是二叉树的重要算法递归方法, 利用递归, 二叉树的前、中、后序遍历大致都是几行代码就可以实现。但是递归算法虽然方便了我们思考,却增大了机器跑代码的负担。void preorder(BinTree<T> tr) { // 前序遍历 if(tr == null) return; visit(tr.data); //...
2020-03-23 21:18:41
139
原创 Linux系统启动、备份与恢复管理
启动管理启动流程运行级别0: 关机1: 单用户模式2: 不完全的命令行模式, 不含NFS服务3: 多用户模式(命令行模式)4: 保留(即未用)5: 图形界面6: 重启runlevel查看当前运行级别和上一个运行级别(N表示没有)使用init n修改系统运行级别系统默认运行级别配置文件/etc/inittab系统开机时会自动读取(谨慎修改以免关机死循环????)...
2020-03-21 17:43:52
245
原创 Linux日志管理
文章目录日志管理rsyslogd服务日志轮替其它日志管理新版本Linux系统日志由rsyslogd服务管理常见日志的作用(一般可以直接查看):/var/log/cron记录了系统定时任务的相关日志/var/log/cups/记录打印信息的日志/var/log/dmesg记录了系统开机内核自检的信息, 也可以使用dmesg命令查看/var/log/btmp...
2020-03-21 12:55:02
218
原创 Linux常用命令之Linux服务管理、进程管理、系统信息和任务管理
Linux的安装包服务管理,进程管理与前后台进程,查看系统信息,系统定时任务管理
2020-03-21 10:23:34
424
原创 Linux常用命令之用户(组)、权限管理命令
Linux常用管理:用户配置文件,组配置文件,添加新用户/组,修改用户/组的配置文件,特殊权限acl、SUID、SGID、SBIT和sudo权限的常用操作
2020-03-20 17:21:34
427
原创 Linux常用命令之软件包管理
软件包管理软件包分类源码包: 直接可以看到源码, 需要手动编译, 安装速度慢脚本安装包(部分源码包将安装过程写成脚本,交互式安装)二进制文件包(RPM, 系统默认包): 已经编译好, 安装速度快rpm命令管理rpm:安装/卸载rpm包-i: 安装-v: 显示信息-h: 显示进度-U: 升级包-e: 卸载--nodeps: 不检查依赖性(一般用于测试)常...
2020-03-20 15:22:33
428
原创 快速排序
快速排序快速排序和冒泡排序一样, 都属于比较排序。快速排序的基本思想是: 选一个数,将比它小的都放左边, 比它大的放右边再循环其左边和右边的操作按某规则(这里选择第一个数)选取一个数作基准数(即, 中间数mid)依次从后往前找一个比mid小的放前面, 再从前往后找一个比mid大的放后面重复上一步操作, 直到找完整个数组(即, 前后指针相遇)依次对mid前的部分后mid后的部分进行相同...
2020-03-04 16:16:38
190
原创 堆排序的java实现
有时利用特殊的数据结构可以极大的提高计算机的运算效率,堆排序利用了完全二叉树的便捷性,提高了排序的效率,时间复杂度为O(nlogn)
2020-02-28 11:42:50
132
原创 最短路径之Dijikstra(java简单实现)
最短路径的最简单的递归思想就是:从起始点start到某一个顶点v的最短路径,等于该顶点v的所有邻接点到start的最短路径加上这些邻接点到该点的路径中的最小数据用伪代码表示即:shortest[ start -> v ] = min{ shortest[ start -> neighbor(v) ] + weight(v -> neighbor(v)) }如此递归...
2020-02-23 20:49:19
273
原创 马踏棋盘问题(粗暴实现,未优化)
初学java,刚好再学习一下有关图的深度优先搜索。以下使用java实现了一下简单的马踏棋盘的问题:public class HourseChess { static final int SIZE = 8; private static boolean found = false; // 是否完成 public static void main(String[]...
2020-02-22 22:29:51
174
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人