自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (2)
  • 收藏
  • 关注

原创 优雅的流控,基于redis-lua脚本

如果使用传统流控思路:1、判断redis中一组流控数据队列是否存在(一次IO)2、如果不存在则创建定长队列(一次IO)3、若队列存在则redis判断一组流控数据队列是否超长(一次IO)4、如果未超长则redis存放一组数据到定长队列,并设置过期时间(一次IO)5、如果超长则返回false进行断流/自旋等待执行lua脚本好处1.减少网络开销:本来多次网络请求的操作,可以用一个请求完成,原先4次请求的逻辑放在redis服务器上完成。使用脚本,减少了网络往返时延。2.原子操作:Redis会将整

2022-02-28 16:01:05 1345

原创 (全网最全)深入浅出:线程池-从jdk线程池到spring,看完这篇你就够了

深入浅出:JAVA线程池文章目录​​​​​目录深入浅出:JAVA线程池前言一、线程池基本参数介绍:1.1:最基础的参数:1.1.1:有界队列介绍:1.1.2:无界队列介绍:1.1.3:最容易出问题的地方警告:1.2:进阶的参数1.2.1:线程池的4种拒绝策略这个是可以自己根据业务选择配置的:1.3:深入的参数:1.3.1:taskDecorator:1.3.2:allowCoreThreadTimeOut:二、线程池工作原理.

2021-11-12 17:10:38 647

原创 AOP-优雅的在网关/风控层进行并发重复提交拦截

一个业务一个防重复提交逻辑写烦了?如何避免重复造轮子并且高效的写出一个灵活性非常强的防重复提交代码呢?这里教会你如何利用AOP,自定义注解,优雅的在网关,风控层进行并发重复拦截。在做这个之前我们先要理解AOP的概念-面向切面编程,如果对于面向切面编程还不理解的同学,可以看下我之前的文章。这里主要针对防重复提交的业务来做。在想做一个防重复提交之前,一:我们先要有一个大致的概念就是分布式锁,而选取分布式锁市面上大致有2种策略:zk分布式锁,redis分布式锁。zk的TPS量级是K,而redis分

2021-09-01 18:25:46 751 1

原创 【MySQL】对JSON数据操作(全网最全)

【MySQL】对JSON数据操作(全网最全)总所周知,mysql5.7以上提供了一种新的字段格式-json,大概是mysql想把非关系型和关系型数据库一口通吃,所以推出了这种非常好用的格式,这样,我们的很多基于mongoDb或者clickHouse的业务都可以用mysql去实现了。当然了,5.7的版本只是最基础的版本,对于海量数据的效率是远远不够的,不过这些都在mysql8.0解决了。今天我们就针对mysql的json数据格式操作做一个简单的介绍。如何创建json格式字段这里我们先创建一个简单的含js

2020-07-09 11:56:34 69488 22

原创 Flask项目搭建及部署(完整版!全网最全)

flask搭建及部署pip 19.2.3python 3.7.5Flask 1.1.1Flask-SQLAlchemy 2.4.1Pika 1.1.0Redis 3.3.11flask-wtf 0.14.21、创建flask项目:创建完成后整个项目结构树:app.py: 项⽬管理⽂件,通过它管理项⽬。static: 存放静态文件...

2019-11-11 16:28:23 86044 23

原创 Spring-cloud之Ribbon负载均衡的使用及负载均衡策略配置(与Eurka配合使用)

       什么是Ribbon,ribbon有什么用,个人先总结一下(不正确请提出讨论):Ribbon是基于客户端的负载均衡器,为我们提供了多样的负载均衡的方案,比如轮询,最小的并发请求的server,随机server等;其默认的策略是ZoneAvoidanceRule,也就是复合判断server所在区域的性能和server的可用性选择server,使用ZoneAvoidancePredicat...

2018-12-18 16:30:51 495

原创 spring中热更新-bean实例

在日常开发中我们经常听到一种技术:热更新;简单来说就是:不需要重启应用即可随着你配置的更新,更新相关bean的属性。

2022-09-15 11:13:38 1327 1

原创 不断更新:JAVA+中间件学习资料+面试汇总

分享几个充满干货的JAVA面试资料网站+个人学习网站,本人亲看不错,资源不好找,喜欢同学可以一键三连:一、JAVA基础:如JVM内存,垃圾回收,容器,并发等基础知识有充分介绍,广度非常不错,部分深度还需要自己研究研究。https://snailclimb.gitee.io/javaguide/#/二、JAVA进阶:《Effective Java》第三版中文版,对于个人编码习惯和代码风格有不错的进阶效果,介绍了如何充分利用从泛型到枚举、从注解到自动装箱的各种特性,看了这个对自己实际工作开发很有帮助

2021-11-02 17:46:46 219

原创 Json_Web_Token(JWT) 是如何加密的

一、什么是JWT:JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用 JWT 在用户和服务器之间传递安全可靠的信息。二、JWT的作用:JWT 在用户和服务器之间传递安全可靠的信息,如此一来在登陆过的网页我们可以实现一个用户认证的功能,它相当于一个服务端生成的消息摘要,客户端访问时使用该消息摘要进行传播,服务端然后对该消息摘要进行验证,验证成功后可以继续执行该...

2020-07-09 15:39:06 846

原创 解决WinSCP连接虚拟机

其实虚拟机你也可以将它形象化,认为它就是一台电脑,只是这个电脑在你的内存中,所以,一般电脑所具有的的功能虚拟机一样拥有,它也可以当成一台独立的个体哦。 针对很多使用WinSCP连接不上虚拟机的问题,这里出个简单的教程: 刚才也说了,虚拟机也可以看成一个独立的个体,WinSCP连接不上,其实问题可以看成为啥我WinSCP连接不上某个Linux服务器,这样子问题就很简单了,...

2019-11-15 14:25:03 9752 1

原创 Nginx缓存区设置及应用

关于client_body_temp目录的作用,简单说就是如果客户端POST一个比较大的文件,长度超过了nginx缓冲区的大小,需要把这个文件的部分或者全部内容暂存到client_body_temp目录下的临时文件。其实这样的处理流程也是无可厚非的,遇到body比较小,刚好header缓冲区又能够放得下,不用白不用,是不是?最后,整理一下出现这个问题需要的条件。值得注意的是,目前各种版...

2019-09-25 16:41:45 898

原创 Spring cloud微服务 Hystrix熔断器

以下demo代码:https://github.com/wades2/HystrixtDemo 官网定义:Hystrix是一个延迟容错库。在分布式环境中,许多服务依赖项中的一些不可避免地会失败。Hystrix是一个库,可通过添加延迟容错和容错逻辑来帮助您控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点,阻止它们之间的级联故障以及提供后备选项来实现这...

2019-01-04 17:43:57 809

原创 Spring-boot Druid+SSM+可视化监控界面(一)

一、什么是Druid:      Druid是一款阿里出品的数据库连接池,等同于以前我们常用的DBCP,C3P0。近几年来火爆的趋势已经超过了传统的C3P0和DBCP。Druid能够提供强大的监控和扩展功能,其可视化界面也是一目了然。先上一个可视化界面的图片:二、什么是数据库连接池及作用:       定义:数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有...

2019-01-04 17:10:25 2554

转载 Spring-cloud学习线路

学习本学习路线学习完,大家将会对微服务、Spring Cloud、Docker、Kubernetes有一个系统、全面的认识。通过学习,将能掌握相关的知识体系,并能够投入到项目实战中去。本学习路线采用实战优先的原则,如何从0开始编写基于Spring Boot/Cloud开发的微服务,并逐步解决项目中的问题,最终实现一个高可用的微服务架构;随后,如何将应用容器化、如何实现资源的合理分配、并将应用部...

2018-12-20 15:52:41 245

原创 Spring-cloud微服务Eureka教程-高可用分布式搭建EurekaServer、EurekaClient(中级)

        我们这里只有一台服务器,所以我们先仿集群搭建。         完整demo项目代码:https://github.com/wades2/EurekaDemo2        在这之前我们先分析分析Eureka相比其他注册中心的好处。在一般的应用过程中,如果注册中心service出现了问题,然而没有备用的节点去替代这个主节点去分发服务,就会造成相关注册服务的瘫痪,因此我们在...

2018-12-17 16:12:31 414

转载 Eureka与ZooKeeper 的比较

Eureka的优势1、在Eureka平台中,如果某台服务器宕机,Eureka不会有类似于ZooKeeper的选举leader的过程;客户端请求会自动切换到新的Eureka节点;当宕机的服务器重新恢复后,Eureka会再次将其纳入到服务器集群管理之中;而对于它来说,所有要做的无非是同步一些新的服务注册信息而已。所以,再也不用担心有“掉队”的服务器恢复以后,会从Eureka服务器集群中剔除出去的风...

2018-12-17 15:02:47 580

转载 使用git将项目上传到github(最简单方法)

(转自:https://www.cnblogs.com/cxk1995/p/5800196.html)首先你需要一个github账号,所有还没有的话先去注册吧!https://github.com/我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安装即可:https://git-for-windows.github.io/1.进入Github首页,点击New...

2018-12-14 11:08:32 117

原创 Spring-cloud微服务 Eureka学习教程-单服务器配置之快速搭建EurekaServer、EurekaClient(基础)

以下实例代码下载地址:https://github.com/wades2/EurekaDemo       Eureka是Spring Cloud Netflix的一个子模块,也是核心模块之一。用于云端服务发现,一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。        什么是服务发现:服务发现是微服务基础架构的关键原则之一。试图着手配置每个客户端或某种格式的...

2018-12-13 18:55:32 368

原创 连接数据库报错:1130-Host ‘xxx‘ is not allowed to connect to this MySQL server解决

出现这个问题的同学都很奇怪,为啥用localhost就可以连接上,但是使用本地ip就不行。出现这个问题的原因就是mysql未开启mysql远程访问权限导致。这时候我们就用cmd去访问下你的mysql下面的user表。具体操作如下:1、连接服务器: mysql -u root -p2、看当前所有数据库:show databases;3、进入mysql数据库:use mysql;4...

2018-12-03 16:20:34 3829 1

原创 验证码处理算法(一)

       在面对那种有许多干扰线或者干扰点的验证码,或者各种各样的验证码的时候,往往一个阀值是无法精确的处理图形验证码的,这里,我们主要使用一个范围缩圈进行像素点的比对,因为之前有使用计算像素的平均值K作为阈值,但是会导致部分对象像素或者背景像素丢失,故这个方案暂且搁置。       我们知道每一个像素点都有自己的像素值,但是对于一张验证码来说,同一个字母颜色或深或浅,其像素点的值都会有差...

2018-12-03 15:04:50 1342

原创 Linux下安装JDK及相关配置

1、官网下载JDK:选择Linux压缩包进行下载https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  2、下载完成后拷贝到自己想放置的目录下,我个人习惯用WINSCP对文件、压缩包进行传输,快而且方便,直接拖就行了  3、cd到放你压缩包的目录,执行 ...

2018-10-30 14:14:08 138

原创 JAVA爬虫---验证码识别技术(一)

        Python中有专门的图像处理技术比如说PIL,可以对验证码一类的图片进行二值化处理,然后对图片进行分割,进行像素点比较得到图片中的数字。这种方案对验证码的处理相对较少,运用相对普遍,很多验证码图片可以通过这个方式得到识别,当然还需要一部分的降噪处理。        什么是图片二值化处理:简单也就是把一张五颜六色的验证码处理成一张只由黑白构成的验证码,这个是为了方便后期我们和保...

2018-10-29 15:26:44 10048 4

原创 JAVA4大线程池

      不知不觉中我们电脑的硬件设施越来越好,从双核四线程普及到如今四核八线比比皆是。互联网发展至今,讲究的就是快,less is more,而且大数据的诞生和各种种类繁多的需求处理,单线程的程序逐渐不能满足一些业务需求。于是多线程就如此登上我们的舞台。       Java是如何实现和管理线程池的?        从JDK 5开始,把工作单元与执行机制分离开来,工作单元包括Runnab...

2018-10-26 14:04:12 177

原创 python协程与异步协程

        在前面几个博客中我们一一对应解决了消费者消费的速度跟不上生产者,浪费我们大量的时间去等待的问题,在这里,针对业务逻辑比较耗时间的问题,我们还有除了多进程之外更优的解决方式,那就是协程和异步协程。在引入这个概念之前我们先看   看这个图:                                                                        ...

2018-08-02 10:39:28 4303

原创 生产消费者模式与python+redis实例运用(中级篇)

        上一篇文章介绍了生产消费者模式与python+redis实例运用(基础篇),但是依旧遗留了一个问题,就是如果消费者消费的速度跟不上生产者,依旧会浪费我们大量的时间去等待,这时候我们就可以考虑使用多进程去解决这个问题。举一个类似上面厨师做菜的例子,厨师上菜速度又快又多,你一个人吃不完,怎么办?那就可以请几个朋友帮你一起吃!这就是我们今天要讲的多进程和协程。        先说说多进程...

2018-06-29 11:15:40 1647 1

原创 生产消费者模式与python+redis实例运用(基础篇)

        根据这个图,我们举个简单的例子:假如你去某个餐厅吃饭,点了很多菜,厨师要一个一个菜的做,一个厨师不可能同时做出所有你点的菜,于是你有两个选择:第一个,厨师把所有菜都上齐了,你才开始吃;还有一个选择,做好一个菜,端上桌一个你开始吃一个。这里的厨师就是生产者,而你就是消费者,菜就是图中的product(产物)。我们可以很明显的感觉到,第一种选择会浪费很多时间,因为生产者要把所有产物生产...

2018-06-20 16:45:20 2232 2

原创 如何配置阿里Maven镜像

1、下载maven的zip解压,官方下载地址为:http://maven.apache.org/download.cgi选择需要下载maven的版本就好了2、到下载的maven路径下,conf/settings.xml点开,到mirrors里面,将下面的镜像路径添加到mirrors里面:        <mirror> <!--This sends everything els...

2018-05-30 16:41:24 3034

转载 ubuntu默认使用python2,更改默认使用python3

ubuntu默认使用python2,更改默认使用python3直接执行这两个命令即可:sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150 ...

2018-05-25 15:27:13 3718

原创 JAVA---spring-boot入门(图文教程)

Spring Boot可以轻松创建独立的,生产级的基于Spring的应用程序,他的特征:    1、创建独立的Spring应用程序    2、直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)    3、提供自己的'入门'POM来简化你的Maven配置    4、尽可能自动配置Spring    5、提供生产就绪功能,如指标,运行状况检查和外部配置    6、绝...

2018-05-23 15:15:27 362

原创 python基础---有关nparray----切片和索引(一)

    Numpy最重要的一个特点就是其N维数组对象,即ndarray,该对象是一种快速而灵活的大数据集容器,实际开发中,我们可以利用这种数组对整块数据执行一些数学运算。    有关ndarray,我们就从最简单的一维数组操作以及其构造开始说起:    import numpy as npif __name__ == '__main__': print(1) #输出一个字典对象...

2018-05-22 14:12:21 1154

原创 Python定时任务sched(一)

这里介绍一下python中定时任务:schedpython中自带的是sched,也可以通过pip下载schedule进行任务定时处理,这里先简单介绍下sched的使用import datetimeimport scheduleimport timeimport schedschedule2=sched.scheduler(time.time,time.sleep)def fun2(s...

2018-05-18 17:09:45 2225

原创 Python使用selenium进行爬虫(一)

    JAVA爬虫框架很多,类似JSOUP,WEBLOGIC之类的爬虫框架都十分好用,个人认为爬虫的大致思路就是:1、挑选需求爬的URL地址,将其放入需求网络爬虫的队列,也可以把爬到的符合一定需求的地址放入这个队列中2、获取一个url进行DNS解析,获取其主机IP3、针对这个url地址将其页面加载下来(也就是这个页面的html或者jsp)加载下来,不同的框架有不同的页面处理方法,和抽取有用信息的...

2018-05-18 10:58:14 15734

原创 有关在python中使用Redis(二)

这里简单介绍下在python中使用如何使用hashset,set和list:从list开始:一般我们使用lpush对一个list进行初始化添加,但是如果需要不断往这个list里面加值,就要用rpush:#对list谨慎性不断加值然后输出r.lpush("goods3",1)r.rpush("goods3","234")r.rpush("goods3","name is haha")#判断...

2018-05-17 10:25:01 228

原创 有关JSOUP学习分享(一)

        其实现在用JSOUP爬虫的也不多了,但是由于最近换公司,做数据爬虫需要用到,就看了下,感觉还是挺好用的,原理什么的感觉和weblogic也差不到哪里去,废话少说,这里就简单的分享下最近接触的干货。        JSOUP实现原理也简单说一下,可能有不对的地方评论欢迎指正。我们可以使用JSOUP直接解析某个URL地址或者指定的HTML文本,将抓取的网页或者文本内容加载到Docume...

2018-05-16 18:19:34 146

原创 jsoup爬虫,项目实战,欢迎收看

import com.mongodb.BasicDBObjectimport com.mongodb.DBCollectionimport org.jsoup.Jsoupimport org.jsoup.nodes.Documentimport org.jsoup.nodes.Elementimport org.jsoup.select.Elementspublic class Zh...

2018-05-16 18:10:54 545

原创 有关在python中使用Redis(一)

        python作为一种处理数据的脚本语言本身有许多方法函数供大家使用,有时候为了提升数据处理速度(如海量数据的访问或者海量数据的读取),涉及分布式管理架构,可能需要用到Redis,Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。        下面简单介绍下python中Redis的使用:   ...

2018-05-16 18:07:05 556

原创 俄罗斯方块代码

package Game1;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyAdapter;import

2016-03-18 17:00:46 571

原创 深搜

package DFS;import java.util.Scanner;public class SearchMethodDFS { static Scanner sc=new Scanner(System.in); public static void main(String[] args) { while(sc.hasNext()){ int n=sc.nextInt(

2016-03-16 17:58:56 340

原创 5种排序方式

package Sort;public class SortMethods { public static void main(String[] args) { int a[]={51,56,86,99,-2,5,4,9,3}; //1.第一种排序,比较简单,冒泡排序 //bubbleSort(a); //bubbleSort2(a); //2.选择排序,先遍历一遍,

2016-03-16 17:44:57 451

原创 一个简单的文本编辑器

 package UserJFrame;import java.awt.BorderLayout;import java.awt.Button;import java.awt.Color;import java.awt.Dimension;import java.awt.FileDialog;import java.awt.Font;import java.awt.Graph...

2016-03-06 20:06:21 1007

flask搭建.md

由于flask属于轻量级web框架, 更加自由、灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的Python库 。所以这个框架的代码架构需要自己设计。以下手把手教会你如何搭建flask,及项目设计结构。

2019-11-20

Python+Web开发实战

与其它Web后端语言不同,Python语言需要自己编写Web服务器。 如果你使用一些现有的框架的话,可以省略这一步; 如果你使用Python CGI编程的话,也可以省略这一步;

2018-05-17

空空如也

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

TA关注的人

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