自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 Eureka学习

关于Eureka的注册中心的介绍网上很全面,很优秀,我就不再做介绍,主要写我认为的重点(建议先去了解Eureka的基本知识,再了解以下内容)Eureka 核心概念Eureka Server:注册中心服务端注册中心服务端主要对外提供了三个功能:服务注册服务提供者启动时,会通过 Eureka Client 向 Eureka Server 注册信息,Eureka Server 会存储该服务的信息,Eureka Server 内部有二层缓存机制来维护整个注册表提供注册表服务消费者在调用服务时,如果 E

2022-01-18 09:01:59 377

原创 判断一个坐标点是否在不规则多边形内部

引射线法:从目标点出发引一条射线,看这条射线和多边形所有边的交点数目。如果有奇数个交点,则说明在内部,如果有偶数个交点,则说明在外部。引射线法是项目中的常用算法,其他判断一个坐标点是否在不规则多边形内部还有:面积和判别法:判断目标点与多边形的每条边组成的三角形面积和是否等于该多边形,相等则在多边形内部。夹角和判别法:判断目标点与所有边的夹角和是否为360度,为360度则在多边形内部。主要说引射线法,因为项目中有应用到,其它两个方法也好理解。引射线法的具体做法:将测试点的Y坐标与多边形的每一个点进行

2022-01-18 09:01:38 2957 2

原创 JDK动态代理

代理类在程序运行时创建的代理方式被称为动态代理,也就是说,这种情况下,代理类并不是在Java代码中定义的,而是在运行时根据我们在Java代码中的“指令”动态生成的。相比于静态代理, 动态代理的优势在于可以很方便的对代理类的函数进行统一的处理,而不用修改每个代理类的函数。静态代理就是在代码运行之前,代理类就已经存在,通常情况下, 静态代理中的代理类和委托类会实现同一接口或是派生自相同的父类。先上demo,再说原理现在,假设我们要实现这样一个需求:我们在飞猪上购买车票为例,飞猪在执行购买火车票之前需要先检

2022-01-18 09:01:03 214

原创 Cglib 动态代理

***cglib动态代理***和***jdk动态代理***都是在java运行过程中动态生成新的类,cglib是利用新生成的代理类来继承委托类,因为继承可以在代理类内拥有委托类的非private和非final方法,这样就达到了代理委托类去执行;首先,要引进依赖<dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version&gt

2022-01-18 09:00:51 366

原创 Redis的GeoHash

GeoHashGeoHash将二维的经纬度转换成字符串,比如下图展示了北京9个区域的GeoHash字符串,分别是WX4ER,WX4G2、WX4G3等等,每一个字符串代表了某一矩形区域。也就是说,这个矩形区域内所有的点(经纬度坐标)都共享相同的GeoHash字符串,这样既可以保护隐私(只表示大概区域位置而不是具体的点),又比较容易做缓存,比如左上角这个区域内的用户不断发送位置信息请求餐馆数据,由于这些用户的GeoHash字符串都是WX4ER,所以可以把WX4ER当作key,把该区域的餐馆信息当作value来

2022-01-17 11:50:43 1026

原创 Mysql 中 FIND_IN_SET(str, strs)

MySQL提供了一个名为FIND_IN_SET()的内置字符串函数,允许你在逗号分隔的字符串列表中查找指定字符串的位置。语法:FIND_IN_SET(str, strlist)FIND_IN_SET()函数接受两个参数:第一个参数str是要查找的字符串。第二个参数strlist是要搜索的逗号分隔的字符串列表。FIND_IN_SET()函数根据参数的值返回一个整数或一个NULL值:如果str或strlist为NULL,则函数返回NULL值。如果str不在strlist中,或者strs是空字

2022-01-17 11:40:15 929

原创 MySQL的TRUNCATE()函数

TRUNCATE(X,D) 是MySQL自带的一个系统函数。其中,X是数值,D是保留小数的位数。其作用就是按照小数位数,进行数值截取(此处的截取是按保留位数直接进行截取,没有四舍五入)。规则如下:1)当 D 大于0,是对数值 X 的小数位数进行操作;2)当 D 等于0,是将数值 X 的小数部分去除,只保留整数部分;3)当 D 小于0,是将数值 X 的小数部分去除,并将整数部分按照 D 指定位数,用 0 替换。函数示例当 X 为正数时:SELECT TRUNCATE(123.4567, 3)

2022-01-17 11:37:44 11427

原创 mysql的 date_format 和 str_to_date

函数 date_format( date , format) 中 主要是将时间数据,转化为以format 的格式化输出 ,主要的格式化代表 ‘%Y’(表示年 比如 2021)、 ‘%m’(表示月,比如12)、 ‘%d’(表示日/天 1-30) 、‘%H’(代表小时,0-24小时)、 ‘%i’(表示分钟 0-59)、 ‘%s’(表示秒 0-59)SELECT DATE_FORMAT('2020-05-14 10:20:30','%Y%m%d') AS DATE20200514SELECT DATE_FO

2022-01-17 11:36:43 719

原创 Mysql 的 case when then

在项目中碰到这样一段mybatis的sql语句:<update id="updateBatch" parameterType="list"> update road_stud <trim prefix="set" suffixOverrides=","> <trim prefix="city_id =case" suffix="end,"> <foreach collection="roadStudList"

2022-01-17 11:35:25 757

原创 mybatis的mapper没有实现类(原理)

通过简单的demo来分析mybatis的mapper实现类问题:首先来添加依赖:<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.4</version> <scope>provided</scope></depende

2022-01-17 11:33:01 930

原创 List的Stream流操作

面对一对多结构,查询主实体时需要附带主实体的子实体列表怎么写?查出主列表,循环查子列表List的Stream流操作可以简化我们的代码,减少程序运行的压力,应对上面的问题,以前的话是先查出对应的list数据,然后根据取到集合中id去查找对应的子实体中数据,接着在放入对应的集合中去,key值表示主实体的id,value值表示对应主实体id查到的对象数据,这样会很麻烦,当数据量大的时候,会增加程序运行的负荷,造成运行缓慢。所以,流式操作代替我们的这一堆操作,提高了代码的简易性,可维护性,可靠性,更不容易出错。

2022-01-17 11:29:54 1274

原创 HashMap.computeIfAbsent与computeIfPresent

HashMap.computeIfAbsent如果需要向Map中push一个键值对,需要判断K key在当前map中是否已经存在,不存在则通过后面的 Function<? super K, ? extends V> mappingFunction 来进行value计算,且将结果当作value同key一起push到Map中。computeIfAbsent() 方法的用法总结:只有在当前 Map 中 key 对应的值不存在或为 null 时 ,才调用 mappingFunction,并在 ma

2022-01-17 11:19:40 908

原创 ElasticSearch学习

ElasticSearchElasticSearch是一个基于Lucene的搜索服务器•是一个分布式、高扩展、高实时的搜索与数据分析引擎•基于RESTful web接口•Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎2.ElasticSearch的应用场景ElasticSearch主要运用于海量数据的检索例如:•搜索:海量数据的查询•日志数据分析•实时数据分析先来说一声ES中的几个名词,方便我们后续用:先看一张

2022-01-17 11:10:56 1333

原创 Apollo简单知识

今天就拉下来代码首先看了配置,发现代码中有apollo自己以前没见过就有了以下的基本了解。Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。Apollo的主要作用有:统一管理不同环境、不同集群的配置,以命名空间namespace为最小粒度进行配置,一个服务引入了这个命名空间,即使用了该命名空间的配置。配置修改实时生效版本发布管理灰度发布权限管理、发布

2022-01-17 10:50:12 1224

原创 Nacos本地搭建

对于Nacos的简单学习和本地demo的搭建,我推荐一篇博客:链接: https://www.zhihu.com/people/fen-cun-15/posts.在这篇文章里,作者用到的是Nacos-server:1.0.1版本,我通过学习Nacos,自己搭建了Nacos-server:2.0.0版本这是github链接: https://github.com/Feker1998/nacos.后续继续学习。当然本人博客里还有一些关于Nacos搭建遇到的问题解答。继续努力学习。...

2021-01-21 19:17:54 533

原创 Nacos作为配置中心配置方法

首先是下载好Nacos,在Nacos页面新建配置;注意以下几点:Data ID它的定义规则是:${prefix}-${spring.profile.active}.${file-extension}prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix 来配置。spring.profile.active 即为当前环境对应的 profile,可以通过配置项 spring.profile.acti

2021-01-21 14:42:51 343

原创 SpringBoot项目启动失败报错

在最近一次的启动项目报了下面的错误:Spring Boot ClassNotFoundException org.springframework.core.metrics.ApplicationStartup这是以前都没见到过的,试了半天,才明白是我的SpringBoot版本太新和用到的Nacos版本不兼容,如果你也遇到了,也可能是和你遇到的依赖版本所不兼容,这时候就需要修改SpringBoot版本了修改方式:<parent> <groupId>org.spri

2021-01-20 20:25:11 2458 1

原创 IDEA创建Springboot建聚合工程

现在越来越多的项目都是多个工程共同组合成的,创建Springboot建聚合工程能够很好地区分业务功能,将公有的依赖集合到一处,方便项目管理:直接开干:首先创建父工程1.填写项目名,分组名2.注意父工程的Type选择Maven POM这样一直next下去即可创建好父工程后再创建子工程还是和创建父工程一样,1.填写项目名,分组名2.注意子工程的Type选择Maven Project然后next,选择自己需要的依赖,最后finish即可;其它的子工程创建方式和这个子工程是一样的;接下

2021-01-20 20:03:19 351

原创 vue中upload选取了本地文件后预览的方法

我觉得写的是通俗易懂,lol 有不清楚的大家再问这个方法可以实现所有文件哦!!!//咱们直接来代码//点击文件列表中已上传的文件时的钩子 clickHasUploadFile(file) { // 利用文件加载的方式实现 let reader = new FileReader(); reader.readAsDataURL(file.raw); reader.onload = () => { conso

2020-11-04 17:28:18 1614

原创 阿里云ECS部署RabbitMQ+Springboot简单项目

首先部署阿里云和在windows差不多的,要部署windows可以查看我的上一篇博文:这里: https://blog.csdn.net/Fekerkk/article/details/108132513.首先我创建了这样一条路径的文件夹usr/loacl/rabbitMQ第一步要下载erlangyum install -y erlang下载好后在命令行输入erl有反应则说明下载好了(你懂的)接下来是下载安装安装RabbitMQ我在usr/loacl/rabbitMQ文件夹下下载wg

2020-08-21 15:37:13 282

原创 windows搭建rabbitmq+Springboot项目

首先下载Erlang,因为rabbitmq是用Erlang写的下载: https://www.erlang.org/downloads.安装就默认的安装就行,安装路径你可以改下载安装完成添加系统环境变量ERLANG_HOME值为erlang的安装地址然后双击系统变量path,添加%ERLANG_HOME%\bin在cmd输入erl,看到版本号就说明erlang安装成功了接下来下载rabbitmq下载: https://dl.bintray.com/rabbitmq/all/rabbi

2020-08-20 20:42:11 352

原创 阿里云Linux服务器部署RocketMQ+springboot+可视化

首先,你的服务器上得有git和maven,如果没有,去百度自行安装吧安装好后执行指令git clone https://github.com/apache/rocketmq.git等待克隆好项目,我把项目克隆在了/usr/local/rocketMQ文件夹下克隆好后进入文件夹,用maven编译cd rocketmqmvn -Prelease-all -DskipTests clean install -U编译好后我们在rocketMQ文件夹下解压文件tar zxvf rocketmq-4

2020-08-19 18:29:50 315

原创 Windows部署RocketMQ+Springboot项目+可视化

首先下载RocketMQ(在Windows上部署非常简单)点我下载.下载下来rocketmq-all-4.3.2-bin-release.zip解压然后进入rocketmq-all-4.3.2-bin-release文件夹下的bin目录进入命令行cmd,按顺序执行语句执行如下命令如下图显示:(启动后cmd窗口不能关闭) 1.启动mqnamesrv: start mqnamesrv.cmd 2.启动mqbroker: mqbroker -n localhost:9876 autoCrea

2020-08-19 18:07:30 258

原创 阿里云服务器部署zookeeper+dubbo

今天学习了zookeeper在windows和阿里云ecs服务器都进行了部署,感觉没问题,给大家说一下,避免大家踩坑。要看windows怎么部署的请看链接: https://blog.csdn.net/Fekerkk/article/details/108004177.下面来说阿里云是怎么部署的:首先在服务器创建路径(三个路径分别模拟三台服务器)/user/local/zookeeper-cluster/zookeeper-1/user/local/zookeeper-cluster/zooke

2020-08-15 17:57:42 705

原创 VUE中Cron表达式校验

个人尝试过网上好多cron表达式校验总结出来一个比较好的正则校验,感觉比官方的都好用又简单:cron: [ { required: true, message: "请输入Cron表达式", trigger: "blur" }, { pattern: "^\\s*($|#|\\w+\\s*=|(\\?|\\*|(?:[0-5]?\\d)(?:(?:-|\\/|\\,)(?:[0-5]?\\d))?(?:,(?:[0-

2020-08-14 15:41:56 3364 1

原创 el-date-picker选择规定时间范围

在写vue项目利用饿了吗UI的时候el-date-picker组件需要只能选择一定的时间范围,比如说只能选择过去十天中的某一天:要达到这样的效果好了,直接上代码:先上el-date-picker的代码<el-date-picker v-model="myDate" type="date" value-format="yyyy-MM-dd" :picker-options="expireTimeOption" pla

2020-08-14 15:32:08 5978

原创 vue中url改变回显目录高亮

详细很多小伙伴用vue作过这样的项目:这是目录,当你点击一项时,这一项的颜色就变了,当你浏览器地址栏改变url时,目录也会自动高亮url所指向的路由;那么这是怎么实现的呢,直接上代码:<el-menu :router="true" :default-active="$route.path" class="el-menu-vertical-demo" background-color="#545c64" text-color="#fff

2020-08-14 15:20:26 332

原创 本机搭建Springboot+dubbo+zookeeper的项目

本机搭建Springboot+dubbo+zookeeper的项目网上有很多下载dubbo和zookeeper的博客,我就不赘述了,主要来写一下项目1.首先创建一个springboot项目(我的项目名称为:dubboprovider1),引入依赖包://<dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <vers

2020-08-14 15:08:00 293

原创 vue中转换时间格式

在vue中转化时间格式首先,提供一个万能函数:这个函数你只要把时间格式传入,就会返回"yyyy-mm-dd hh:mm:ss"格式的时间//dateFormat(time) { var date = new Date(time); var year = date.getFullYear(); /* 在日期格式中,月份是从0开始的,因此要加0 * 使用三元表达式在小于10的前面加0,以达到格式统一 如 09:11:05 * */

2020-08-14 14:36:03 2266

原创 Vue+SpringBoot实现支付宝沙箱支付

首先去下载支付宝沙箱的一系列东西,具体的配置什么的我就不说了,有很多博客都讲了,还有蚂蚁金服官方也说的很详细,我就直接说怎么样把后端的支付页面显示到Vue前端来:在你配置好AlipayConfig这个文件后,就可以写前端的逻辑了,前端是采用支付宝的页面如下:下面展示一些 内联代码片。/* 以下是支付确认html */ <div style="text=#000000 bgColor=#ffffff leftMargin=0 topMargin=4"> <h

2020-05-12 16:04:12 3731

原创 eclipse发布web项目到Tomcat中,但是webapps发布的那个文件夹为空

我在git上导入eclipse的项目,但是反复发布webapps里项目名的文件夹就是为空,搞了一下午头皮发麻,后来发现了问题。解决方法:新建一个和你项目名一样的项目,然后把新建项目的.settings和.project文件替换掉你原来项目的这俩个文件,就可以正常发布了,呜呼,终于解决了。...

2020-03-10 19:16:49 1503

猜数字C++小游戏

一款猜数字游戏(C++),可以猜测1000-2000的数字,猜测次数为10次,根据猜测的次数计算得分,代码可以修改猜测数据范围和显示结果。

2019-02-25

空空如也

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

TA关注的人

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