自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 springcloud alibaba:nacos下载安装

nacos下载地址下载解压后进入bin目录,打开cmd执行命令:startup.cmd -m standalone注意:在windows下,不加参数默认以集群方式启动,会报错看到如图所示,启动成功:访问http://localhost:8848/nacos账号:nacos 密码:nacos登录成功页面:...

2021-05-25 22:23:21 326

原创 springcloud gateway路由配置

简单介绍gateway是spring could推出,基于spring5、springboot2.0、Project React,底层使用netty通讯,性能比较高的网关组件为什么需要网关呢? 如果没有网关的话,调用方需要配置各种的服务,配置了网关之后,只需要统一访问网关,然后由网关请求具体的服务,调用方提供服务的实例是无感知的,而且网关还可以处理路由、安全、日志、监控等与业务无关的功能,使得业务开发更加纯净。比较重要的概念:1、路由:由id,目标uri,一系列断言(predicate),过滤器组成

2021-05-23 23:44:34 789 5

原创 环形链表实现约瑟夫问题

约瑟夫问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3。代码实现:package com.xsw.linklist.linklist;import com.xsw.linklist.bean.Node;/** * 环形单链表 解决约瑟夫问题 */public class SimpleCircleLinklist { public Node head; //添加 public

2021-03-25 00:30:18 272

原创 java实现单链表反转

单链表是一种常见的数据结构,由一个个节点组成。每个节点包括两部分:数据域和指针域,数据域用来存放数据,指针域记录下一个节点的内存地址。在java中定义如下:public class Node { private Object data;//数据域 private Node next;//指针域 public Node(Object data){ this.data = data; } public Node(Object data,

2021-03-22 22:12:52 1570 4

原创 mysql分组查询:order by的使用

分组查询,就是根据order by 指定的规则对数据进行分组,开发中会经常遇到像查询每个部门的人数、每个班级的人数这样的问题,就可以用分组查询来解决。语法:注意点:查询除分组函数外的字段,必须要出现在 group by之后where字句紧跟group by字句,where操作的是原始表对象,where后面的条件判断要么是操作常量要么是原始表中的字段,where字句中不能使用分组函数,因为where字句的执行顺序高于分组函数;如果对分组的数据需要过滤则使用having关键字,having操作的是分

2021-03-01 21:18:15 1325

原创 SQL练习:查询各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序

1.部门表结构如下:解题思路:查询各个部门中工资高于本部门的平均工资的员工数和部门号,并按部门号排序第一步:首先查询出部门的平均工资select department_id,AVG(salary)from employeesgroup by department_id查询结果:第二步:此时需要把第一步查询到的结果集作为新表去做连表查询,即:select * from a,b where a.departmentid = b.departmentid 的形式,查出大于平均工资的记录。s

2021-02-28 23:12:13 14642

原创 mysql8及以上only_full_group_by报错及解决办法

问题复现:执行查询SQL:SELECT * FROM employees GROUP BY department_id出现这个报错的原因是,在mysql8及以上默认使用sql_mode=only_full_group_by,在ONLY_FULL_GROUP_BY这种模式下:对于GROUP BY聚合操作,如果在 SELECT 中的列,没有在 GROUP BY 中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中。也就是说对于上面的查询我得写成这样:SELECT department_id

2021-02-27 18:43:29 4114

原创 mysql常用时间函数及时间差函数timestampdiff、datediff、timediff的总结

1、时间函数now(): 返回年月日时分秒信息 ;curdate(): 返回年月日信息 ;curtime() : 返回时分秒信息 ;-- 时间函数select NOW() ; -- 2021-02-27 15:58:14select CURDATE() -- 2021-02-27select CURTIME() -- 15:59:242、时间差函数:timestampdiff语法:select TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr

2021-02-27 16:22:15 1310

原创 linux下安装jdk及环境配置

有两种方式:一、通过yum 一键安装二、手动安装,去官网下载对应的jdk版本,然后配置环境变量一、先看第一种方式,通过yum安装非常简单1、查看jdk版本:yum search jdk 可以看到有非常多的版本,选择需要的安装即可2、安装对应版本:二、手动安装到官网下载对应版本的jdk,我下的是jdk-8u281-linux-x64.gz,将压缩包解压到/opt(看个人习惯)执行解压命令:tar -zxvf jdk-8u281-linux-x64.tar.gz 配置环境变量:

2021-02-08 16:35:43 153

原创 eureka负载均衡报错:Request URI does not contain a valid hostname

报错信息:原因是,服务名称不能使用下划线,去掉了下划线之后就可以了。

2021-01-05 22:48:42 849

原创 出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题的总结

**org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)**问题,就是说在mybatis中dao接口与mapper配置文件在做映射绑定的时候出现问题,简单说,就是接口与xml要么是找不到,要么是找到了却匹配不到。可能出现的原因:1. xml文件的namespace和对应dao接口的类全限定名不一致2. dao接口里的方法没有使用相应SQL注解,而对应的xml文件中又没有该方法3. 方法的返回值没

2020-10-13 13:15:21 289

原创 EL表达式取不到值,直接显示${xxx}的问题

很久没写jsp了,突然发现不会写了。EL表达式不能取到值,直接显示${xxx}当你在JSP页面使用EL表达式,进行取值的时候,发现无论如何怎么也取不到值,经过检查,代码也没有错误,就是取不到值。原因是:jsp页面自动的将EL表达式忽略了。解决方法:先不用考虑servlet版本的问题或者其他什么原因。如果你发现EL表达式不能够使用,直在jsp页面上加上:<%@ page isELIgnored=“false” %>阻止忽略EL表达式,EL表达式立即生效。被这个问题困扰了很久,希望可帮

2020-10-10 18:08:15 1196 6

原创 踩坑:npm install一直停留在“fetchMetadata: sill resolveWithNewModule find-cache-dir@“解决方法

使用npm安装一些node包时,总是停留在:[ …] / fetchMetadata: sill resolveWithNewModule find-cache-dir@等待很长时间,经过在网上找资料,有的说是node版本太老了导致的,而我是下载的最新的版本,不存在版本问题。还有说是缓存导致的,又试了试:npm cache clean --force问题还是没有解决,最后使用如下命令解决:方法如下:更换成淘宝的源npm config set registry https://registr

2020-09-19 23:18:43 3731 5

原创 新手踩坑:vue报错Error compiling template: Component template should contain exactly one root

vue模板template下只能包含一个根元素,也就是template元素只能有一个直系子元素,可以使用一个div标签包裹起来:

2020-09-18 19:35:38 6472 1

原创 新手踩坑:vue注册组件命名不能用大写?

记录一下vue组件化开发遇到的坑。踩坑如下:代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script sr

2020-09-18 16:58:26 1083 1

原创 vue基础入门

目前公司前端在用vue框架,因此总结了一下vue的学习笔记(最好的学习方:官方文档),感兴趣的小伙伴可以一起来学习交流下。一、vue的介绍1. 什么是vue.js在学习一个新的框架时,首先应该知道它是什么,它是用来干嘛的,其次是应该如何使用它,然后可以对比下它跟相似的框架的区别或者说优势在哪。这是我认为比较好的一种学习方式,也更容易帮助我们理解。vue.js是一个目前比较流行的前端框架,Vue.js 是一套构建用户界面的框架,只关注视图层,它不仅易于上手(连我这个前端小白使用起来都觉得非常爽),还

2020-09-07 14:04:47 283

原创 idea如何快速查看接口的实现类

ctrl+alt+b:查看接口的实现类;ctrl+h:查看类活接口的继承关系;还有个常用的功能是查看类图关系,这个在接手新项目时非常有帮助:右键->Diagrams->show diagram。

2020-08-24 16:55:23 2261

原创 springboot启动测试类报错解决办法

启动springboot测试类报错:junit官网介绍是说使用junit5推荐使用idea2017.3之后的版本,而我的idea低于这个版本,因此要么升级idea,要么使用junit4。解决:1.修改pom文件:使用springboot启动器创建的工程的pom中默认会带测试启动器spring-boot-starter-test;spring-boot-starter-test默认依赖Junit5(JUnit Platform + JUnit Jupiter + JUnit Vintage);需

2020-08-18 14:42:21 2221 1

原创 net start mysql 发生系统错误2 系统找不到指定的文件

以管理员身份运行,在命令行输入cd+mySQL的bin目录的安装路径C:\Windows\system32>cd C:\Program Files\MySQL\MySQL Server5.6\binC:\Program Files\MySQL\MySQL Server5.6\bin>mysqld --removeService successfully removed.C:\Program Files\MySQL\MySQL Server5.6\bin>mysqld --insta

2020-08-18 00:59:28 1057

原创 mybatis-plus官方文档

mybatis-plus官方文档,看官方文档,最简单而高效的学习方式.

2020-07-31 11:04:23 5942 1

原创 idea搜索不到插件怎么办

重装了idea2020版,发现搜不到插件了??解决:完事,现在就可以安装了。

2020-07-30 21:31:12 316

原创 idea使用maven构建web项目时没有servlet选项

idea通过maven构建的web项目,在main下新建了java和resources目录,并且已经标记为了根目录,想在test包下新建servlet,发现并没有该选项,以前遇到过忘记是怎么解决的,因此特地记录下。解决:只需要在pom.xml文件中添加依赖:此时,已经可以创建servlet:...

2020-07-21 22:07:20 1791

原创 dubbo快速入门案例

实验:模拟在分布式项目中,A服务器的订单系统需要调用B服务器上的用户系统查询用户的地址。环境:zookeeper作为dubbo的注册中心,启动zookeeper。dubbo基本概念服务提供者(Provider):暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务。服务消费者(Consumer): 调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。注

2020-06-14 12:44:14 338 2

原创 dubbo学习:搭建admin管理平台

首先下载dubbo-admin下载地址:https://github.com/apache/dubbo-admin/tree/for_dubbo-2.6.1注意:最新版的dubbo已经没有dubbo-admin了,切换成master就可以找到。修改dubbo-admin的配置解压之后,进入dubbo-admin\src\main\resources下修改application.properties文件,看zookeeper地址是否正确。打包dubbo-admin执行命令:mvn..

2020-06-09 23:10:58 100

原创 @PathVariable和@RequestParam注解的使用及异同

在开发时经常需要接受请求的参数,经常搞混@PathVariable和@RequestParam的使用场景,因此做个简单的总结。@PathVariabel注解 :用于接收url中的变量例:请求路径http://localhost:8080/path/${username}在web应用中,url不是一成不变的,例如请求两个不同用户的资源http://blog.csdn.net/user1和http://blog.csdn.net/user2,我们不能为每一个用户都编写一个RequestMapping方法处

2020-06-06 11:30:35 638

原创 导入SQL文件报错Error Code: 1300 - Invalid utf8 character string

问题:在sqlyog导入SQL文件报错:Error Code: 1300 - Invalid utf8 character string: ‘B8C4B1’。解决:出现这个原因是编码的问题,可以用记事本打开SQL文件,然后点击另存,默认使用ascll编码,改成utf-8即可。此时再次导入,成功。...

2020-06-04 19:03:00 2985 2

原创 log4j的详细使用

日志是开发中不可缺少的部分,Log4j是Apache下的一款开源的日志框架,通过在项目中使用 Log4J,我们可以控制日志信息输出到控制台、文件、甚至是数据库中。我们可以控制每一条日志的输出格式,通过定义日志的输出级别,可以更灵活的控制日志的输出过程。方便项目的调试。一、入门案例创建maven工程,导入log4j的依赖<dependency> <groupId>junit</groupId> <artifactId>junit

2020-05-28 20:30:34 314

原创 springboot整合spring security快速入门案例

spring security简单使用初识spring security入门案例简介项目结构测试编写Spring Security配置类测试初识spring securitySpring Security 是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型,他可以实现强大的Web安全控制,对于安全控制,我们仅需要引入 spring-boot-starter-security 模块,进行少量的配置,即可实现强大的安全管理.它的两个主要目标就是实现认证和授权入门案例简介

2020-05-27 20:54:22 452 2

原创 报错:You must configure either the server or JDBC driver

在使用mysql 8.0.19版本的驱动时报错,报错信息:原因是时区设置的问题,在mysql6以后必须加上serverTimezone=UTC这个参数,UTC代表的是全球标准时间 ,但是我们使用的时间是北京时区也就是东八区,领先UTC八个小时。UTC + (+0800) = 本地(北京)时间解决方案:url的时区使用中国标准时间。也就是serverTimezone=Asia/Shanghaijdbc:mysql:///jdbcTest?useUnicode=true&characterE

2020-05-21 11:26:46 395

原创 springboot整合RabbitMQ的简单使用,一看即会

RabbitMQ在springboot中使用起来非常简单,如果不涉及到一些高级场景的使用,只需要非常少的配置。springboot提供了spring-boot-starter-amqp对消息的各种支持。使用我们知道,RabbitMQ把消息发送给队列时有四种消息路由策略:direct(直连)fanout(分发)topic (主题)headers(头部)我们来看看最常用的direct、fanout、topic在springboot中如何使用。创建工程,添加对应依赖:工程创建后,pom.x

2020-05-14 20:56:18 329

原创 最新整理:mysql数据库面试题

1. MySQL中有哪几种锁?表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最 低,并发度也最高。页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表 锁和行锁之间,并发度一殷。2、MySQL中有哪些不同的表格?共有5种类型的表格:1、 MylSAM2、 Heap3、 Merge4、 INNODB5、 ISAM3、简述在MySQL数据库中MylSAM和InnoD

2020-05-13 10:40:05 642

原创 String、StringBuffer、StringBuild之间的区别

String 和 StringBuffer/StringBuilder,它们都可以储存和操作字符串,区别如下:区别1)String 是只读字符串,也就意味着 String 引用的字符串内容是不能被改变的。初学者可能会有这样的误解:String str = “abc”;str = “bcd”;System.out.println(str) //bcd如上,字符串 str 明明是可以改变的呀!其实不然,str 仅仅是一个引用对象,它指向一个字符串对象“abc”。第二行代码的含义是让 str 重新

2020-05-12 17:42:49 306

原创 java中的克隆对象

克隆对象为什么要克隆对象在实际编程过程中,我们常常要遇到这种情况:有一个对象 A,在某一时刻 A 中已经包含了一些有效值,此时可能会需要一个和 A 完全相同新对象 B,并且此后对 B 任何改动都不会影响到 A 中的值,也就是说,A 与 B 是两个独立的对象,但 B 的初始值是由 A 对象确定的。在 Java 语言中,用简单的赋值语句是不能满足这种需求的。new一个对象和克隆一个对象的过程区别new 操作符的本意是分配内存。程序执行到 new 操作符时,首先去看 new 操作符后面的类型,因为知道了类

2020-05-12 15:39:44 93

原创 面试题:关于string类的几道面试题

判定定义为String类型的str1和str2是否相等,为什么?package test;public class StringTest { public static void main(String[] args) { String str1 = "abc"; String str2 = "abc"; System.out.println(str1==str2); System.out.println(str1.equal.

2020-05-11 14:37:39 181

原创 RabbitMQ学习:Routing路由模式

前面学习的fanout模式,我们清楚,这种模式使用起来不太灵活——因为他会将消息分发给所有绑定的队列。所以,有时候会用到另一种交换规则——direct(直连)。直连交换机很简单,就是交换机会将消息路由到消息的路由键(routingKey)与队列的路由键完全匹配的队列中。概念过程如下:其中,队列1 绑定了路由键error,队列2 绑定了info,error,warning路由键。首先,消息发送到交换机,然后交换机会根据路由键将消息路由到对应得队列上。代码绑定error路由键的Recv1.java

2020-05-09 15:41:02 178

原创 RabbitMQ学习:发布与订阅

在之前的学习的工作队列中,每条消息只发送给一个消费者。而发布/订阅模式则不同,是将消息发送给多个消费者。交换机在前面的学习过程中,我们向队列发送消息和从队列接收消息。现在是时候在Rabbit中引入完整的消息传递模型了。前面学习介绍的内容:生产者是发送消息的用户的应用程序。队列是一个缓冲区,用于存储消息。消费者是接收消息的用户的应用程序。RabbitMQ消息传递模型中的核心思想是生产者从不将任何消息直接发送到队列。实际上,生产者经常甚至根本不知道是否将消息传递到任何队列。相反,生产者只能将

2020-05-09 01:13:23 239

原创 RabbitMq学习:工作队列

工作队列消息轮询分发消息确认消息持久化公平派遣合并后代码工作队列,用于在多个消费之间分配耗时任务,主要思想是避免立即执行资源密集型任务,而不得不等待它完成。将任务封装 为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当运行许多工作人员时,任务将在他们之间共享。这个概念在Web应用程序中特别有用,因为在Web应用程序中,不可能在较短的HTTP请求窗口内处理复杂的任务。准...

2020-05-08 00:02:20 110

原创 RabbitMQ入门:“hello world”

RabbitMQ入门RabbitMQ简介简介开发环境核心概念"hello world"入门案例RabbitMQ简介简介RabbitMQ作为一个消息中间件,是一个由erlang开发的AMQP(Advanved Message Queue Protocol)的开源实现,从本质上来说,它负责接受生产者的消息,并传递给消费者,在两者之间,根据你给的路由和缓冲规则,进行传递。应用场景主要是异步处理,应...

2020-05-05 16:15:50 259

原创 解决:docker下安装了RabbitMQ,无法访问web管理页面

问题:在docker下安装了RabbitMQ,然后运行:docker run -d -p 5672:5672 -p 15672:15672 --name myrabbitmq b57e7dd9d72b访问http://192.168.56.101:15672,发现访问不了。解决:在拉取RabbitMQ时,拉取了默认的latest版本,而这个不带web管理界面,因此访问不到。要拉取man...

2020-05-04 17:11:40 1496

原创 搭建redis集群环境报错:usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'

在搭建redis集群环境时,执行命令:./redis-trib.rb create --replicas 1 192.168.56.101:6379 192.168.56.101:6380 192.168.56.101:6381 192.168.56.101:6382 192.168.56.101:6383 192.168.56.101:6384 192.168.56.101:6385报错:...

2020-05-02 23:21:53 1505

空空如也

空空如也

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

TA关注的人

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