- 博客(39)
- 收藏
- 关注
原创 dubbo提示消费者报错:No provider available for the service
springboot+dubbo+zookeeper启动一个生产者和其对应的消费者项目,在浏览器端输入相应的访问地址和参数后,控制台提示No provider available for the service,一般出现此类提示表示相应的生产者没有注册到dubbo中,dubbo的使用包括两个注解和两个配置,经排查发现生产者和消费者都配置了相应的注解和配置,但依旧不能正常调用,最后发现是因为application.properties文件中配置的spring.dubbo.base-package=com.a
2021-12-24 10:57:35 2185
原创 Java调用Python的方法
1.首先引入Maven依赖可以登陆Maven网站,查找jython-standalone的依赖,选中使用较多使用的版本即可,此处以2.7.0为例:<dependency> <groupId>org.python</groupId> <artifactId>jython-standalone</artifactId> <version>2.7.0</version></dependency>2.编写
2021-12-01 19:40:32 830
原创 直接插入排序—Java实现
插入排序:每一趟将一个待排序的记录,按照其关键字的大小插入到有序队列的合适位置里,直到全部插入完成。动图如下:从下标为1的元素开始,将其与其之前的元素进行大小比较,如果之前的元素比他小,那么就直接插入到该元素的后边,反之,则继续向前比较,直到找到比需插入元素小的元素位置进行插入,或者一直遍历到数组开头都没发现比需要插入的元素小的,那就直接插入到数组的最前端,每一个元素都按照这样的方法,直到所有元素全部插入完成。/** * 直接插入排序: * 1.从第一个元素开始,该元素可以认为已经被排序 *
2021-07-08 21:15:26 219 2
原创 实现Callable接口获得线程
因为Thread类的构造方法中没有Callable,所以需要寻找中间人来通过实现Callable接口来获得线程,代码如下,与Runnable接口进行对比package com.atguigu.thread;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;public class CallableIm
2021-06-30 09:46:44 402
原创 synchronized锁的8个问题
关于synochronized的八个问题1 标准访问,先打印短信还是邮件 短信class Phone{ public synchronized void sendSMS() throws Exception { System.out.println("------sendSMS"); } public synchronized void sendEmail() throws Exception { Syst
2021-06-29 21:02:36 295 2
原创 集合的线程不安全问题及相对应的线程安全解决方法
java的util包中提供的集合List、Map、Set是线程不安全的,当在其迭代的时候同时对其进行修改就会抛出java.util.ConcurrentModificationException异常并发修改异常例子如下:public class NoSafeArrayList { public static void main(String[] args) { List<String> list = new ArrayList<>(); for (int i = 0;
2021-06-29 20:47:33 342 1
原创 有关Hystrix Dashboard监控页面一直显示Loading问题的解决
时隔多日,写一篇自学SpringCloud期间遇到的问题在使用Hystrix Dashboard对项目进行监控时,Hystrix Dashboard监控页面一直显示Loading,浏览器端按下F12显示net::ERR_CONNECTION_TIMED_OUT,但是访问/actuator/hystrix.stream可以正常打印而且在项目中相应位置也都添加了相应的注解:主程序:CloudConsumerUserFeignApplication.javapackage com.atguigu.spr
2021-04-18 20:57:46 1059
原创 有关javaweb报404错误。访问不到jsp页面的问题
在网上找到的尚筹网的项目,跟着教程做权限管理中用户维护部分的信息查询时发现,不能顺利跳转到查询页面,记录一下解决方法。1.查看前端页面的跳转链接是否存在问题经检查,前端跳转链接没有问题2.对项目进行clean,依然没有作用3.查看tomcat中是否部署正确,即相应页面是否引入到了tomcat中,经查看依旧没有问题4.在网上搜索得知,找不到页面还可能因为springMVC.xml中的扫描注解部分写的不正确,但是其他页面都可以正确跳转,所以经思考后认为问题出在控制层,检查发现类名上没有标注@Con
2021-01-16 15:18:12 3854 1
原创 关于解决mysql source命令导入数据库乱码问题以及source命令直接导入文件报错ERROR2问题
1.关于mysql source命令导入数据乱码问题我的数据库的编码方式如上图所示,但在通过cmd命令窗口远程连接linux上的数据库mysql创建表时,未指定编码方式,导入的数据依旧乱码,故在连接数据库的时候就指定编码方式,命令如下所示:mysql -h(数据库地址,例如:192.168.18.125) -uroot -p --default-character-set=utf8 (将--default-character-set=utf8一并写入命令)然后就可以用source命令创建数据库的
2021-01-15 14:36:59 2012
原创 有关CentOS上安装的redis启动报错问题
今天像往常一样打开虚拟机上安装的CentOS7系统,通过Xshell软件进行远程连接CentOs进行操作,当我在Xshell中输入redis-server /opt/myRedis/redis.conf(/opt/myRedis/redis.conf为我的redis的配置文件的路径)时,Xshell软件报错,错误内容为:4155:C 20 Nov 19:21:54.748 # Can't chdir to './opt/myRedis': No such file or directory其意思是找不
2020-11-20 20:09:19 2034 2
原创 windows远程访问CentOS上的Redis
最近学习redis时,尝试远程访问centOS7上的redis数据库,遇到了以下问题,记录一下Redis简介Redis是一个开源的key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的
2020-11-17 21:36:16 370
原创 java之Mybatis分页插件
最近在学java的SSM框架,用到了分页插件pageHelper,下面介绍一下如何使用它第一步:导jar包(下图中的第一个和第三个jar包)第二部:直接上代码(上方的注释即为相应的样式)package com.wxd.ssm.util;import javax.servlet.http.HttpServletRequest;import com.github.pagehelper.PageInfo;import com.wxd.ssm.bean.Emp;/** * 首页 上一页 1
2020-11-11 22:05:57 225 3
原创 Origin峰值拟合、重叠峰拟合
一、单峰拟合1.打开Origin软件2.导入数据(也可将数据直接拖拽进来)3.选中要拟合的数据4.选择拟合5.设置参数(此处用Lorentz拟合函数)在这个界面中,你可以设置你想设置的参数,例如选择拟合函数类型,设置函数表达式,迭代次数等,设置完成以后点击拟合6.拟合结果如果想放大看拟合曲线图的话,双击即可二、多峰拟合1.导入数据此处需要注意,如果我们要拟合的数据中本身就包含多个峰值,直接导入即可如果我们要拟合的数据是多个数据文本,将需要拟合的多个数据拼接起来导入即可
2020-09-17 17:24:22 20184
转载 Levenberg-Marquardt算法浅谈
拿来主义大法好https://blog.csdn.net/liu14lang/article/details/53991897
2020-09-11 10:03:24 385
原创 javaweb学习中关于tomcat环境配置的问题
我是在B站学习的尚硅谷的JAVA视频,当学习到javaweb部分的时候,需要使用到tomcat,视频配套资料提供的tomcat包为tomcat7版本,而我自己下载的jdk版本是jdk14,所以在进行环境变量配置时总是不能正确打开tomcat的startup.bat,在网上查询后得到的答案是因为jdk版本与tomcat版本不匹配,需下载更新版的tomcat版本,我下载了最新版的tomcat10,问题得到解决附上错误提示:“-Djava.endorsed.dirs=D:\working\apache-tom
2020-09-09 09:55:51 235
原创 eclipse有关控制台的提示
当我用java连接数据库进行数据库的增删改查操作时,控制台报出如下提示9月 03, 2020 10:07:08 上午 com.alibaba.druid.pool.DruidDataSource info信息: {dataSource-1} inited本以为是报错,结果发现只是正常的信息提示,对于数据库的操作已经完成,看来还是需要在操作完成以后设置个操作完成的输出提示...
2020-09-03 10:23:01 139
原创 eclipse插入数据到Mysql数据库时,出现中文乱码问题的解决办法
解决方法: (1)在各个配置文件中设置encoding="utf-8"; (2)在连接数据库的URL中设置: jdbc:mysql:https://localhost/login?characterEncoding=utf-8 (说明:login是数据库的名字; 连接的数据库为MySQL,当然如果是SQL,这个就不一样了; 最后的为编码设置); 中文乱码问题解决了。...
2020-08-30 19:43:27 2136 2
原创 JAVA实现动态数组
package com.atgiugu.com;import java.util.Arrays;public class MyArrayList { private Object[] data; //内部用一个数组来存储传进来的参数 private int total; //用来记录数组中有多少元素 public MyArrayList() { data = new Object[5]; //创建数组对象 } //添加一个元素 public void add(Obj
2020-08-13 22:25:48 569
原创 Linux基本操作指令
cd:转到指定路径下打开终端我们先转到文档目录下,如果是全英的操作,文档目录应该是Document命令:cd 文档(Document)ls:显示文件的详细信息我的文档中所包含的文件和文件夹touch:创建文件(不能创建文件夹)文档中多了一个名为file3.py的文本文件cp:拷贝命令使用格式:cp old new(old表示已存在的文件,new表示要拷贝成的文件)如下所示,将file3.py拷贝成file3cp.pymv:剪切 将文件剪切到文件夹中如下所示:将file3.
2020-07-30 12:35:02 250
原创 光谱数据库HITRAN的使用方法
本文介绍两种使用方法:1.使用HITRANonline网站直接挑选自己所需要的数据2.使用HITRAN官方所提供的python接口去远程下载数据废话不多说,直接开始第一种:通过网页在线的方式挑选所需要的数据,此次以“基于光声光谱峰面积的微量乙炔气体定量检测”这篇文章中所挑选的波段为例,文中所选的数据是乙炔气体位于v1+v3泛频吸收谱带P支1529.18nm处的吸收谱线作为光声光谱定量分析检测研究对象1.首先登陆HITRAN的官网(网址:www.hitran.org)2.挑选所需数据我们所需数
2020-07-24 11:11:30 20657 19
原创 C++实现排序算法之基数排序
一、算法思想基数排序是一种非比较型整数排序算法,其原理是将众多数字按位分隔后进行排序。实现步骤:1.将所有待比较的数字(正整数)统一为同一长度,位数不够的数字前面补0;2.按照从个位,十位,百位······从低到高的顺序进行排序3.完成从低位到高位的排序后,待排序数字也就完成了排序具体举例说明:初始化序列num{57, 123, 564, 32, 0, 56, 169, 5, 23, 11, 100}将上述序列的数字按照个位数字进行排序,个位数字取值范围0-9,我们可以将其设置为数组用来存储
2020-07-22 16:48:43 6756 4
原创 C++实现排序算法之归并排序
一、算法思想该算法是典型的分治策略算法,基本思想是将待排序数组分成若干个小数组,直到为单个数组(即为有序数组)后(分阶段),再将前面得到的单个数组依次拼接在一起,组成有序数组(治阶段)。动态效果示意图如下:按步骤来看:先来实现将一个数组分成两部分:代码如下:#include <iostream>using namespace std;void merge(int arr[], int left, int mid, int right){ int left_size
2020-07-19 15:38:12 1707
原创 C++实现排序算法之堆排序
一、算法思想堆排序是利用堆性质进行的一种选择排序概念:堆:堆是一棵顺序存储的完全二叉树每个节点的值都不大于其左右孩子节点的值的堆叫做小根堆(下左图)每个节点的值都不小于其左右孩子节点的值的堆叫做大根堆(下右图)设当前元素在数组中以R[i]表示,那么,(1) 它的左孩子结点是:R[2*i+1];(2) 它的右孩子结点是:R[2*i+2];(3) 它的父结点是:R[(i-1)/2];(4) R[i] <= R[2*i+1] 且 R[i] <= R[2i+2]。堆排序步骤如下:
2020-07-17 12:57:50 3764 1
原创 C++实现排序算法之简单选择排序
一、算法思想在待排序的数据中选择最大(小)的元素放在其最终的位置基本操作:1.首先通过n-1次关键字的比较,从n个记录中找出关键字最小的记录,将它与第一个记录交换2.再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个记录交换3.重复上述操作,共进行n-1趟排序后,排序结束动态图如下:举例说明:C++代码如下:#include <iostream>#include <vector>using namespace std;vecto
2020-07-16 15:07:27 2145
原创 C++实现排序算法之快速排序
一、算法思想简介快速排序是交换排序,其基本思想是1.任取一个元素(如:第一个)为中心元素2.所有比它小的元素一律前放,反之则后放,形成左右两个子表3.对各子表重新选择中心元素并依此规则调整4.直到每个子表的元素只剩一个动态效果示意图C++代码如下:#include <iostream>#include <vector>using namespace std;int part(vector<int>&list, int left, int
2020-07-15 19:54:57 1848 3
原创 C++实现排序算法之冒泡排序
冒泡排序的思想是:从头访问待排序的数列,每次比较相邻的两个元素,将他们的顺序按照从大到小或者从小到大调整过来,直到完成整个数列所有元素的顺序调整。动态效果示意图如下:C++代码#include <iostream>using namespace std;#include <vector>vector<int>BubbleSort(vector<int> list){ vector<int>result = list; if (
2020-07-15 15:02:00 1394
原创 C++实现希尔排序
希尔排序可认为是直接插入排序的升级版,直接插入排序是一位一位的挪动,而希尔排序是将步长设置为一个较大的位置,特点如下:1.一次移动,移动位置较大,跳跃式的接近排序后的最终位置2.最后一次只需要少量移动3.增量移动必须是递减的,最后一个必须是13.增量序列应该是互质的代码如下:#include <iostream>#include <vector>using namespace std;vector<int> ShellSort(vector<in
2020-07-14 16:16:28 194
原创 C++实现排序算法之直接插入排序
**插入排序:**每一趟将一个待排序的记录,按照其关键字的大小插入到有序队列的合适位置里,直到全部插入完成。动图如下:从下标为1的元素开始,将其与其之前的元素进行大小比较,如果之前的元素比他小,那么就直接插入到该元素的后边,反之,则继续向前比较,直到找到比需插入元素小的元素位置进行插入,或者一直遍历到数组开头都没发现比需要插入的元素小的,那就直接插入到数组的最前端,每一个元素都按照这样的方法,直到所有元素全部插入完成。代码如下:#include <iostream>#include
2020-07-14 11:17:32 2550
原创 排序算法——直接插入排序
**插入排序:**每一趟将一个待排序的记录,按照其关键字的大小插入到有序队列的合适位置里,直到全部插入完成。动图如下:从下标为1的元素开始,将其与其之前的元素进行大小比较,如果之前的元素比他小,那么就直接插入到该元素的后边,反之,则继续向前比较,直到找到比需插入元素小的元素位置进行插入,或者一直遍历到数组开头都没发现比需要插入的元素小的,那就直接插入到数组的最前端,每一个元素都按照这样的方法,直到所有元素全部插入完成。代码如下:#include <iostream>#include
2020-07-14 11:11:00 436 1
原创 青岛大学王卓老师数据结构——C++实现邻接表表示法创建无向图
#include <iostream>using namespace std;#include <string>#define MVNum 100 //最大顶点数//顶点的节点结构typedef struct VNode{ string data; //顶点信息 ArcNode *firstarc; //指向第一条依附该顶点的边的指针}VNode, AdjList[MVNum]; //AdjList v;相当于VNode v[MVNum];//弧
2020-07-12 20:44:33 407 1
原创 青岛大学王卓老师数据结构——C++实现二叉树的复制,计算深度, 计算节点总数, 计算叶子结点数
上代码#include <iostream>using namespace std;#include <string>typedef struct BiTNode{ string data; struct BiTNode *lchild, *rchild; BiTNode() { data = ""; lchild = NULL; //给创建的指针赋初值,消灭野指针 rchild = NULL; }}BiTNode, *BiTree;//
2020-07-09 21:42:54 291
原创 青岛大学王卓老师数据结构——C++实现二叉树的三种递归遍历
在敲代码的时候,没有给创建的指针赋初值,将其指向NULL,后面给二叉树赋值的时候没有全都赋值,故在编译运行代码的时候就报错了,报错为0x000E518B 处(位于 二叉树的遍历算法.exe 中)引发的异常: 0xC0000005: 读取位置 0xCCCCCCE0 时发生访问冲突。,图片如下经过查找和百度,因为存在野指针导致内存泄漏,所以写代码的时候还是要规范一些,避免出现这样的错误;下面是代码,可以正常运行#include <iostream>using namespace std;
2020-07-09 21:06:20 487
原创 青岛大学王卓老师数据结构——C++实现KMP算法
我也不是很懂,以后懂了再来改吧。#include <iostream>#include <string>using namespace std;int* GetNext(string T){ int *next = new int; int i = 1; int j = 0; next[1] = 0; while (i < T.length()) { if (j == 0 || T[i] == T[j]) { i++; j++;
2020-07-08 20:43:09 720
原创 青岛大学王卓老师数据结构——C++实现BF算法
#include <iostream>using namespace std;#include <string>int BF(string str, string temp){ int i = 0; int j = 0; //如果i和j是从1开始匹配的,此处的循环条件应该加上等于号 while (i < (int)str.length() && j < (int)temp.length()) { if (str[i] == te
2020-07-08 19:44:59 314
原创 青岛大学王卓老师数据结构——C++实现链队
#include <iostream>using namespace std;typedef int QElemType;//链队结构定义typedef struct QNode { QElemType data; struct QNode *next;}QNode, *QueuePtr;typedef struct{ QueuePtr front; //队头指针 QueuePtr rear; //队尾指针}LinkQueue;//链队初始化int
2020-07-08 11:17:22 248
原创 青岛大学王卓老师数据结构——C++实现顺序队列
#include <iostream>using namespace std;#define MAXSIZE 100typedef int QElemType;//结构代码typedef struct{ QElemType *base; //初始化分配存储空间 int front; //头指针(并不是真正的指针) int rear; //尾指针}SqQueue;//以下为循环队列的各种算法//初始化int InitQueue(SqQueue &Q)
2020-07-07 20:45:15 317 1
原创 青岛大学王卓老师数据结构——C++实现多项式相加
#include <iostream>using namespace std;typedef int ElemType;typedef struct Sqlist{ ElemType *elem; int length;};//初始化void InitSqlist(Sqlist &L){ L.elem = new ElemType[100]; L.length = 0;}int CreateSqlit(Sqlist &L, int n){
2020-07-07 20:16:33 309 2
原创 青岛大学王卓老师数据结构-C++实现链栈
直接上代码#include <iostream>using namespace std;typedef int SElemType;typedef struct StackNode{ SElemType data; struct StackNode *next;}StackNode, *LinkStack;//链栈的初始化void InitStack(LinkStack &S){ S = NULL; //构造一个空栈,栈顶指针为空 return ;}
2020-07-07 19:55:03 487
原创 青岛大学王卓老师数据结构-C++实现顺序栈
顺序栈的实现废话不多说 直接上代码下面展示 代码。```cpp#include <iostream>using namespace std;#define MAXSIZE 100typedef int SElemType;//定义栈的顺序表示typedef struct { SElemType *base; SElemType *top; int stacksize;}SqStack;//顺序栈的初始化int InitStack(SqStack &S
2020-07-07 19:07:11 537
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人