自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

乡村鬼畜级码叼

本博客只为记录撸码时出现的问题,即一些技术上的文章,不作为任何商业用途

  • 博客(45)
  • 收藏
  • 关注

原创 Gateway网关认证

SpringCloud-Gateway网关组件网关通常是在项目中为了简化前端调用逻辑,同时也简化内部服务之间调用的复杂度;具体作用就是转发服务,转发并接收所有内外部的客户端请求。常见功能就是权限认证,限流控制等。功能特征动态路由,集成hystrix断路器,支持配置文件配置类,限流,路由重写。工作原理客户端向gateway发送请求。然后在 Gateway Handler Mapping 中找到与请求相匹配的路由,将其发送到 Gateway Web Handler。Handler 再通过指定的过滤器链

2021-03-27 17:23:57 683

原创 Eureka工作原理

SpringCloudEureka服务注册中心主要职责是对于微服务的治理,提供服务注册,服务发现,服务同步,服务续约等功能大体分为两部分eureka-server和eureka-clineeureka-server用于服务端 eureka-cline用于客户端其工作原理:1.eureka-server启动后会等待服务进行注册,来存储客户端的基本信息。例如ip 服务名 端口号等;2.eureka-cline启动根据配置文件的eureka-server地址注册本身服务信息。3.eureka-cli

2021-03-27 16:57:45 368

原创 什么是springCloud

SpringCloud是基于springBoot一整套实现的微服务架构。它提供了微服务所需要的 配置管理,服务发现,智能路由,断路器,控制总线,分布式会话等组件。基于springBoot也使得微服务架构开发非常方便。核心组件:SpringCloudGatewaySpringCloudGateway为微服务架构提供了一种简单有效的统一网关api路由的管理方式。其不仅提供了统一的路由方式,还基于filter链提供了网关的基本功能。例如:安全 监控 限流等。SpringCloudNetflixspr

2021-03-27 14:52:52 170

原创 什么是微服务架构

一般我们传统得单体架构 就是一个应用 一个数据库 一个web容器就能跑起来。适用于一些功能不多也不复杂的小型项目,但是这就导致可扩展性和可靠性比较差,因为每当修改一个功能或者集成一个服务的时候就要重新把所有的服务都重新打包。而且一旦出现检查异常错误就会导致整个项目宕机对用户体验不友好。SOA架构就是服务架构服务架构一套松耦合的架构,服务的拆分原则服务内部高内聚,服务之间低耦合。微服务架构其实就是对SOA架构的扩展,更强调服务个体的独立性。微服务架构其实就是由众多小服务组成的应用,每个服务都是独立运行

2021-03-27 14:21:15 98

原创 jenkins+docker+gitlub+springCloud分布式服务自动部署 (前言思路)

1.jenkins作为代码拉取 出发打包工具2.docker制作镜像3.shell脚本联合jenkins和docker实现自动化部署安装Jenkins从gitlub上面拉取下来源码然后对源码进行打包 通过shell脚本把打的包替换到docker的镜像制作目录下然后docker制作镜像 启动容器访问...

2020-06-22 18:05:05 233

原创 jenkins+docker+gitlub+springCloud分布式服务自动部署(三)

上一篇docker镜像以及容器启动后我们就可以进行访问了打开浏览器 输入ip加端口号到这里我们的镜像就成功了但是我们最后的目的还是没有实现 因为我们需要的是自动部署这时候我们整理下思路1.我们有了jenkins可以实现拉取源代码2.Jenkins可以实现根据不同的服务进行打包3.docker制作镜像后可以运行jenkins所打的jar包有了这些东西后我们就可以把jenkins和docker串联起来就可以实现自动打包部署了我们回到jenkins的配置里面这是代表这jenkins构建项

2020-06-22 17:55:50 299 3

原创 jenkins+docker+gitlub+springCloud分布式服务自动部署(二)

教程一已经讲过了如何安装jinkins和一些基础配置 现在我们就说下如何利用jinkins构建项目自动打包1.点击新建任务输入项目名随便输入 选择构建maven项目 如果没有maven选项就去插件管理里面下载一个 然后点击确定输入项描述 gitlub的下载地址 上一篇我们配置的ssh的私钥密码构建触发器 就是在什么情况下执行我们的构建计划 根据自身需求选择环境我选择的是前面配置的jdk是构建前要执行那些命令 可以执行shell脚本这就是我们根据什么打包 因为我是mav

2020-06-22 17:32:07 345

原创 jenkins+docker+gitlub+springCloud分布式服务自动部署(一)

jenkins+docker+springCloud分布式服务自动部署1.业务背景在实际开发中由于项目每天都在迭代更新,会导致我们在服务部署上面浪费大量的时间,特别是分布式服务,jar包多每次启动服务都要人 工手动的去打包上传启动,这就导致我们会浪费一部分时间在这些机械化可以代替的操作上面。程序员应多把精力放在代码结构优化上面。jenkins和docker就能够帮我们解决掉这些繁琐的问题。2.jenkins安装1.首先我们先有一台自己可以操作的linux服务器,镜像选择CentOS7.3 64位

2020-06-22 15:55:20 601

原创 Nginx 篇

1. nginx是什么?Nginx是一个轻量级的高性能得Http和反向代理得服务器也是一个电子邮件和SMTP服务器。2.nginx的特点其特点就是占用内存少,并发能力强,开源免费,配置简单,性能稳定,国内很多大型网站都有应用。3如何启动和关闭nginx?nginx服务启动命令 start nginx停止命令 nginx.exe -s stop启动不成功检查命令 nginx.exe...

2020-03-19 11:18:31 1988

转载 实现redis缓存与数据库之前同步

一.通过注解的方式,Spring3以上提供了注解的方式进行缓存编程@Cacheable:查询时使用,注意Long类型需转换为Sting类型,否则会抛异常@CachePut:更新时使用,使用此注解,一定会从DB上查询数据@CacheEvict:删除时使用;@Caching:组合用法 具体注解的使用可参考官网注意:注解方式虽然能使我们的代码简洁,但是注解方式有局限性:对key的获...

2019-07-25 16:14:14 229

原创 什么是redis缓存穿透,缓存雪崩,缓存击穿

一.缓存穿透缓存穿透是指查询数据库中一定不存在的数据,我们正常的操作流程,在查询数据库前,先去查询缓存,如果key不存在或者key过期失效,再去查询数据库,并把查询到的对象放到缓存中,如果查询到的数据为null,不添加缓存。代码流程查询前先查询缓存,如果查询对象问空,查询数据库,返回对象,存入缓存如果查询对象不为空,返回对象我们缓存的key一般通过主键进行命名,主键是自增唯一的,那么我...

2019-07-25 15:17:46 105

原创 MySql基础语法第二篇表的操作

1.创建表 关键字:create table 表名create table 表名(字段1 类型 [字段类型],字段n 类型 [字段类型])create table test( id int(10)not null auto_increment comment 'id', name varchar(20) not null comment '名字', age i...

2019-06-28 17:04:51 103

原创 MySql基础语法巩固记录第一篇

1连接数据库操作mysql-h 地址-P端口号-u用户名-p密码例如:mysql -h 192.168.1.1 -P 3306 -u root -p admin2.创建数据库关键字 create databasecreate database test default charset utf8 collate utf8_bin数据库名 test字符集 utf8校...

2019-06-28 14:21:29 99

转载 SpringCloud初步理解

1.什么是SpringCloud?SpringCloud是就是一个微服务架构的框架,实际上微服务SpringCloud就是一个全家桶式的技术栈,包含了很多的组件,主要的有:Eureka,Ribbon,Feign,Hystrix,Zuul。2.我们首先来了解一下业务背景。假如我们现在要去开发一个电商网站,现在需要去实现一个支付的功能。那么现在实现这个支付的功能我们需要连带着几个操作1.修...

2019-05-05 17:36:25 336 1

原创 SpringBoot的核心注解是那个? 它由那几个注解组成?

1.SpringBoot的核心注解是@SpringBootApplication由以下3个注解组成:@SpringBootConfiguration:它组合了Configuration注解实现了 配置文件的功能。@EnableAutoConfiguration:打开自动配置功能,也可以关闭某个指定的自动配置选项如关闭数据源自动配置功能: @SpringBootApplication...

2019-05-05 11:03:57 10697

原创 SpringBoot的核心配置文件有哪些?他们的区别是什么?都有什么格式?

1.SpringBoot的核心配置文件有哪些?SpringBoot的核心配置文件有application和bootstarp配置文件。2.他们的区别是什么?application文件主要用于Springboot自动化配置文件。bootstarp文件主要有以下几种用途:使用Spring Cloud Config注册中心时 需要在bootStarp配置文件中添加链接到配置中心的配置属性...

2019-05-05 10:35:04 23102 6

原创 什么是Spring boot?为什么使用SpringBoot?

springboot就是Spring开源框架下的子项目,是Spring的一站式解决方案,主要是简化了spring的使用难度,降低了对配置文件的要求,使得开发人员能够更容易得上手。...

2019-05-05 09:48:33 7196

原创 static关键字的含义?

static是为了在没有创建对象的时候调用。1.我们一般称被static修饰的方法为静态方法,静态就意味着不依赖任何对象就可以访问,既然不依赖对象静态方法也就没有This。依靠这个特性,在静态方法中就不能存在非静态的成员变量和非静态的成员方法,非静态的变量以及方法都是依赖对象来调用的。2.static关键字还有一个作用就是形成静态代码块和优化程序性能 。static 块可以置于类中的任何地...

2019-04-30 17:08:12 410

原创 Spring自动装配Bean的方式有哪些?

no:默认值 表示没有自动装配,应使用显示bean引用进行装配byName:根据bean的名称进行注入byType:根据类型进行注入构造函数:通过构造函数来注入依赖项 需要设置大量参数autodetect:容器首先通过使用autowire装配,如果不能使用byType进行自动装配...

2019-04-30 10:46:42 2155

原创 Spring中Bean的作用域都有哪些?

singleton:Spring容器内只存在一个Bean实例 单例模式 是系统默认值prototype:每次调用都会创建一个Bean 也就是每次getBean()就相当于是new Bean()的操作WEB环境下的作用域:request:每次HTTP请求都会创建一个Beansession:HTTP Session共享一个Bean实例global-session:用于 ...

2019-04-30 10:32:23 3475

原创 Spring中的Bean是线程安全的吗?

Spring中的Bean默认是单例模式的,框架并没有对bean进行多线程的封装处理实际上大部分时间Bean是无状态的(比如Dao) 所以说在某种程度上来说Bean其实是安全的但是如果Bean是有状态的 那就需要开发人员自己来进行线程安全的保证,最简单的办法就是改变bean的作用域 把 "singleton"改为’‘protopyte’ 这样每次请求Bean就相当于是 new Bean(...

2019-04-30 10:17:30 5056

原创 SpringMVC运行原理

SpringMVC首先将请求交给DispatcherservletDispatcherservlet查询到一个或者多个HandlerMapping 交给相应的ControllerController处理完以后会返回一个ModleAndView最后根据ModelAndView找到指定的视图解析器ViewResolver 对象视图渲染返回客户端...

2019-04-29 17:03:44 81

原创 try{}catch{}finall{}中那部分可以被省略?

其实在try{}catch{}finall{}中catch{}finall{}都可以被省略但是不能被同时省略 也就是说try{}后面必须有一个catch{}或者finall{}

2019-04-29 15:41:44 1115

原创 Final Finally Finalize有什么区别?

Final 是修饰符 被final修饰的变量都是常量 被final修饰的类不能被继承 被final修饰的方法和类都只能被使用不能被更改Finally 是try{}cath{}finally最后的一部分 表示不管什么情况下finally块里的代码总会在return 前被执行 finall可以被省略 但是存在就一定会执行Finalize 是object类的一个方法 在垃圾回收...

2019-04-29 15:14:29 143

原创 如何实现数组和List之间的转换?

数组转List 使用arrays.asList(array)进行转换List 转数组:使用 List 自带的 toArray() 方法。// list to array List<String> list = new ArrayList<String>(); list. add("王磊"); list. add("的博客"); list. toArray(); //...

2019-04-29 14:44:04 1412

原创 Files的常用方法有哪些?

Files.exists() 检测文件路径是否存在Files.createFile()创建文件Files.cteateDirectory()创建文件夹Files.delete() 删除文件或者目录Files.copy() 复制文件Files.move() 移动文件Files.size()查看文件个数Files.read() 读取文件Files.write()写入文...

2019-04-29 14:13:22 16211 2

原创 String类常用的方法有哪些?

indexOf() 返回指定字符得索引charAt() 返回指定索引处得字符repalce() 字符串替换trim() 去除字符串两端的空白split() 分割字符串 返回分割后的字符串数组getBytes() 返回字符串的byte类型数组length() 返回字符串的长度toLowerCase() 字符串转小写toUpperCase() ...

2019-04-29 14:03:09 9234

原创 Java中的字符串都有那些类?去区别是什么?

1.Java中创建字符串类有以下三种:String StringBuffer StringBuilder1)String是不可变类型的 每声明一个字符就会创建一个对象 然后将指针指向新的对象2)StringBuffer 和StringBuilder都是可变的。3)String StringBuffer是线程安全的 多线程环境下推荐使用StringBuffer4)...

2019-04-29 13:28:02 1437

原创 java中的八大数据类型

1.byte short int long boolean char double float2.String不是基本数据类型 String属于对象

2019-04-29 11:25:36 100

原创 java中随机数的向上取整

1.在java中Math.round(-1.5)的取值是多少?答案:-1 因为java中的值是向上取整的 -0.5中间值在数轴上是向右取整的 所以0.5直接舍去。

2019-04-29 11:22:52 631

原创 ==和equals()有什么区别

1.基本数据类型和引用数据类型==的比较作用效果是不同的1)基本数据类型 = =比较的是值是相同2)引用数据类型 = =比较的是引用的地址是都相同2.equals()本质上还是= = 只是很多类重写了equals()方法1)equals()默认使用的是引用比较,只是很多类重写了equals()让其变成了值比较,所以通常情况下equals()是值比较3.两个对象的hashCode()...

2019-04-29 11:17:29 951

原创 JDK和JRE有什么区别?

1.JDK 全称Java Development kit java开发工具包 提供了java开发环境,运行环境。2.JRE 全称Java Runtime Environment 提供了java运行时环境具体来讲JDK其实包含了JRE同时还包含了java源码的编译器Javac,还有很多程序调试,和分析工具。也就是说 你只需要运行java安装JRE环境就...

2019-04-29 10:56:41 85

原创 Sql语法

1.select 1 from table_name 增加临时列 每行的值都是select 后面的值 【1】2.select count(1) from table 得出table的总行数3.select sum(1)计算临时列的和...

2019-04-29 09:50:04 176

原创 关于python实现简单爬虫

第一步 准备环境1.1安装seleniumcmd窗口进入到解压的selenium的目录输入命令 python setup.py install 进行安装1.2 配置Chrome浏览器驱动 将Chromedriver.exe放入Chrome安装目录下,再把Chrome安装路径加入环境变量中 注意Chromedriver.exe 要和Chrome的版本保持对应1.3完整代码impor...

2019-03-05 18:57:37 94

原创 类什么时候被初始化

1.创建一个类的实例,也就是说new一个对象的时候2.访问某个类或者接口的中的静态变量,或者对静态变量赋值的时候3.调用类的静态方法4.反射(class.forName(“com.ysd.entity”))5.初始化一个类的子类 (首先会先初始化它的父类)6.JVM启动时标明的启动类,就是文件名和类名相同的那个类类的初始化步骤1.如果这个类没有被加载或者链接 那么先加载类和链接...

2019-03-05 18:56:54 810

原创 python实现简单爬虫

第一步 准备环境1.1安装seleniumcmd窗口进入到解压的selenium的目录输入命令 python setup.py install 进行安装1.2 配置Chrome浏览器驱动 将Chromedriver.exe放入Chrome安装目录下,再把Chrome安装路径加入环境变量中 注意Chromedriver.exe 要和Chrome的版本保持对应1.3完整代码impor...

2019-02-12 17:45:18 186

原创 mysql触发器 存储过程

一、触发器MYSQL包含对触发器的支持,触发器是一种与表操作有关的数据库对象,当触发器在表上出现指定事件时,调用该对象,也就是说表的操作事件触发表上的触发器执行。创建触发器语法如下:CREATE TRIGGER trigger_nametrigger_timetrigger_event NO tb1_nameFOR EACH ROWTRIGGER_STMTtrigger_name...

2019-01-23 20:21:19 384

原创 SQL视图 多表链接查询

SQL视图 是数据对象 可以看做虚拟表式储存对象 是建立在基本表之上的表一般用于多表链接查询外链接:1.左外链接 :以左表为基准进行查询,左表数据会全部显示出来右表则显示于左表匹配的相应字段的数据,不匹配显示NULL。2.右外链接:以右表为基准进行查询,右表数据会全部显示出来左表则显示于左表匹配的相应字段的数据,不匹配显示NULL。3.全连接:先以左表进行左外链接,在以右表进行右外链接。...

2019-01-22 22:44:52 1120

原创 数据库访问优化五个法则

1.减少数据访问量2.返回更少的数据3.减少交互次数4.减少服务器cpu开销5.利用更多资源(索引之类的)

2019-01-22 22:37:10 193 1

原创 MySql数据开发问题及优化

mysql数据库是被广泛应用的关系型数据库,其体积小,支持多处理器、开源并免费的特性使其在小型网站中使用率很高。但是在使用mysql的过程中不规范的sql编写、非最优的策略选择都可能导致其系统性能及功能上的缺陷。本文将就以下三个问题进行展开:1.库表设计2.慢 SQL 问题3.误操作、程序 bug 时怎么办一、库表设计1.引擎选择在 mysql 5.1 中,引入了新的插件式存储引擎...

2019-01-22 22:11:59 162

空空如也

空空如也

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

TA关注的人

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