自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何在java中把两个PDF拼接到一个

package com.controller;import java.io.FileOutputStream;import com.lowagie.text.Document;import com.lowagie.text.pdf.PdfCopy;import com.lowagie.text.pdf.PdfImportedPage;import com.lowagie.text.pdf.PdfReader;/** * @author Crazy.jia 不同pdf文件 合并.

2021-08-31 14:33:13 2009

原创 ACID(事务四大特性)

一、事务的四大特性1.1 原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么全部成功,要么全部失败。比如在同一个事务中的SQL语句,要么全部执行成功,要么全部执行失败。那么就有两种情况:事务提交(commit)和事务回滚(rollback)。1.2 一致性(Consistency)事务执行后,数据库状态与其他业务规则保持一致。如转账业务,无论事务执行成功与否,参与转账的两个账户余额之和应该保持不变。1.3 隔离性(Isolation)事务的隔离性是多个用户并发访

2021-08-03 07:41:23 270 1

原创 (接上章)

目录6 过滤器6.1 局部过滤器6.1.1 内置局部过滤器6.2 全局过滤器6.2.1 内置全局过滤器6.2.2 自定义全局过滤器7 网关限流7.1常见的限流算法8网关高可用6 过滤器三个知识点: 1 作用: 过滤器就是在请求的传递过程中,对请求和响应做一些手脚 2 生命周期: Pre Post 3 分类: 局部过滤器(作用在某一个路由上) 全局过滤器(作用全部路由上) 在Gateway中, Filter的生命周期只有两个:“pre” 和...

2021-07-09 21:58:40 214

原创 Sentinel规则

1 Sentinel规则1 流控规则流量控制,其原理是监控应用流量的QPS(每秒查询率) 或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。 第1步: 点击簇点链路,我们就可以看到访问过的接口地址,然后点击对应的流控按钮,进入流控规则配置页面。新增流控规则界面如下:资源名:唯一名称,默认是请求路径,可自定义 针对来源:指定对哪个微服务进行限流,默认指default,意思是不区分来源,全部限制 阈值类型/单机阈值: QPS

2021-07-09 19:27:12 811

原创 Sentinel入门

1 Sentinel入门1 什么是SentinelSentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。Sentinel 分为两个部分: 核心库(Java 客户端) 不依赖任何框架/库,能够运行于所有Java 运行时环境,同时对Dubbo /Spring Cloud 等框架也有较好的支持。 控制台(Dashboard)基于Spring Boot 开发,打包后可以...

2021-07-09 19:14:59 122

原创 Sentinel--服务容错

1 高并发带来的问题在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务堆积,最终导致服务瘫痪。例如: 对于一个依赖于30个服务的应用程序,每个服务都有99.99%的正常运行时间,你可以期望如下:99.9930= 99.7% 可用也就是说一亿个请求的0.3% = 3000000 会失败接下来,...

2021-07-09 19:06:01 172

原创 springcloud微服务的配置中心

为什么使用配置中心?有哪些组件可以作为配置中心来使用?(1) nacos 它是阿里的产品,可以作为配置中心。(2)apollo 携程的产品。 (3)springcloud config 这是springcloud自带的配置 nacos作为配置中心。(1) nacos服务端只需要下载nacos的压缩文件。(2)解压并启动nacos服务器。nacos配置中心的客户端使用。---微服务。在微服务中使用配置中心的配置文件。必须使用bootstrap.prop..

2021-07-09 18:55:26 848

原创 使用eureka作为注册中心

什么是eureka?Eureka是Netflix开发的服务发现框架,SpringCloud将它集成在自己的子项目spring-cloud-netflix中,实现SpringCloud的服务发现功能。1. 创建一个eureka服务端2.在eureka服务端引入相关的依赖<dependencies> <!--eureka-server--> <dependency> <groupId>org.springframe

2021-07-07 19:44:49 72

原创 nacos简单介绍

1. nacos简介 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速 实现动态服务发现、服务配置、服务元数据及流量管理。 从上面的介绍就可以看出,nacos的作用就是一个注册中心,用来管理注册上来的各个微服务。2. nacos实战入门 接下来,我们就在现有的环境中加入nacos,并将我们的两个微服务注册上去。 2.1 搭建nacos环境 第1步: 安装nacos下载地址: https://github.com/aliba.

2021-07-07 19:39:31 4222

原创 Nacos Discovery--服务治理

先来思考一个问题通过上一章的操作,我们已经可以实现微服务之间的调用。但是我们把服务提供者的网络地址 (ip,端口)等硬编码到了代码中,这种做法存在许多问题: 一旦服务提供者地址变化,就需要手工修改代码 一旦是多个服务提供者,无法实现负载均衡功能 一旦服务变得越来越多,人工维护调用关系困难那么应该怎么解决呢, 这时候就需要通过注册中心动态的实现服务治理。 什么是服务治理 服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。 服务注册:在服务治理框.

2021-07-07 19:16:43 256

原创 微服务环境搭建

目录1.案例准备1.1 技术选型1.2 模块设计1.3 微服务调用2 创建父工程2.1创建一个maven工程3 创建基础模块3.1 创建 shop-common 模块,在pom.xml中添加依赖3.2 创建实体类4 创建用户微服务4.1 创建pom.xml4.2 编写启动类4.3 创建配置文件5 创建商品微服务5.1 创建一个名为 shop_product 的模块5.2 创建工程的启动类5.3 创建配置文件5.4 创建Produc...

2021-07-07 19:12:26 181

原创 微服务的介绍

1.系统架构演变随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。 从互联网早起到现在,系统架构大体经历了下面几个过程: 单体应用架构--->垂直应用架构--->分布式架构--->SOA架构--->微服务架构,当然还有悄然兴起的Service Mesh(服务网格化)。接下来我们就来了解一下每种系统架构是什么样子的, 以及各有什么优缺点。1.1单体应用架构互联网早期,一般的网站应用流量较小,只需一个应用,将所有功能代码都部署在一起就可以

2021-07-06 20:10:09 313

原创 自旋锁和互斥锁区别 --- 经典

摘要:POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Critical Section)进行保护(另一种常用的同步机制是barrier)。Pthreads提供了多种锁机制:MuPOSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线.

2021-07-01 21:32:27 198

原创 springboot使用redis作为缓存(注解版)

(1)添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <.

2021-06-30 21:11:37 384

原创 springboot整合redis

1.java连接redis(1) 引入redis的依赖------>jedis<dependencies> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.6.0</version>

2021-06-29 21:17:40 172

原创 Redis存储数据时乱码

key和value可以存放Object类型,那么它的key和value默认采用的序列化方式为JDK序列化方式。一key和value可以存放Object类型,那么它的key和value默认采用的序列化方式为JDK序列化方式。一般我们需要为key和value指定序列化方式。redisTemplate.setKeySerializer(new StringRedisSerializer());redisTemplate.setValueSerializer(new GenericJackson

2021-06-29 15:56:36 552

原创 org.springframework.data.redis.serializer.SerializationException: Cannot serialize; nested exception

org.springframework.data.redis.serializer.SerializationException: Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.l

2021-06-29 15:31:38 1696

原创 org.springframework.data.redis.RedisSystemException: Error in execution; nested exception is io.lett

org.springframework.data.redis.RedisSystemException: Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: WRONGTYPE Operation against a key holding the wrong kind of value。atorg.springframework.data.redis.connection.l..

2021-06-29 15:17:55 3104

原创 redis的使用(2)

1.redis的持久化(1)什么是持久化?把内存中的数据持久化到磁盘。这个过程就是持久化。 当redis启动时会从磁盘上读取数据并加载到内存。(2)持久化的好处Redis作为分布式缓存架构中重要的一环,用于保存一些较为重要的数据,抗住系统的高并发访问。因此Redis中的数据必须持久化,防止服务或系统宕机导致数据丢失。(3)redis持久化的方式1. RDB: 以快照的方式进行持久化。 在一定时间间隔内进行快照。把数据进行保存到磁盘。2. AOF: 会把每次对redi...

2021-06-28 18:46:58 262

原创 redis的简单使用

目录1.图形化界⾯2. redis中基本的命令3.redis⽀持的常⻅数据类型3.1 string字符串类型。 value值为字符串类型。3.2 list列表数据类型。 value的值为⼀串列表3.3 hash散列数据类型 value的值为 map数据结构。3.4 set集合 value类型为集合类型 它的值不能重复3.5 sorted set 有序集合类型 和set区别就是增加了⼀个新的score字段1.图形化界⾯默认redis不允许远程连接。2..

2021-06-26 17:05:55 138

原创 redis的安装

1 redis的介绍Redis(Remote Dictionary Server ),是⼀个开源的使⽤ANSI C语⾔编写、可基于内存亦可持久化 的⽇志型、Key-Value数据库。2 特点1.Redis读取的速度是110000次/s,写的速度是81000次/s 2.原⼦ 。Redis的所有操作都是原⼦性的,同时Redis还⽀持对⼏个操作全并后的原⼦性执⾏。3.⽀持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)4.

2021-06-26 14:44:23 48

原创 使用jenkins部署项目(Linux)

一、使用jenkins部署项目1简易版使用jenkins部署项目 将war包部署到tomcat中,下面给出一个简单示例,将已有的war包部署到tomcat中(jenkins与tomcat在同一台主机) 点击Jenkins主页的新建任务 输入任务名称 选择构建一个自由风格的软件项目后点击确定 在构建内添加构建步骤,选择执行shell 输入执行脚本,脚本如下: #!/bin/shtomcat_path=/usr/java/tomcat/tomc

2021-06-24 21:03:44 989 2

原创 在Linux中安装jenkins

一、持续集成工具(CI)1.1Jenkins和Hudson1)Jenkins是一个持续集成(CI)工具。它可以持续编译,运行你的代码;运行单元测试(UT)或集成测试;将运行结果发送至邮件,或展示成报告。2)Jenkins起源于Hudson。Hudson在商业软件的路上继续前行,而Jenkins则作为开源软件,从hudson分支出来。 因此现在的jenkins和hudson非常类似,但是随着二者各自的发展,已经有了一些不同。1.2技术组合Jenkins 可以整合 GitHub 或...

2021-06-24 20:24:05 226

原创 nginx的使用

目录1.动静分离动静分离原理2.nignx集群的搭建1.动静分离动静分离原理动静分离可通过location对请求url进行匹配,将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。通常将静态资源放到nginx中,动态资源转发到tomcat服务器中。(1)创建⼀个springboot⼯程.(2)把项⽬打包jar 并放⼊linux系统(3)在linux上启动项⽬(4)修改

2021-06-23 21:24:00 263

原创 nginx

目录1. 什么是nginx?2. 为什么使⽤nginx3. 如何使⽤nginx4. nginx集群搭建1. 什么是nginx? Nginx是⼀款轻量级的Web 服务器/反向代理服务器及电⼦邮件(IMAP/POP3)代理服务器,其特点是占有 内存少,并发能⼒强,Nginx因为它的稳定性、丰富的模块库、灵活的配置和低系统资源的消耗而闻名。2. 为什么使⽤nginx3. 如何使⽤nginx 4. nginx集群搭建...

2021-06-22 19:43:09 73

原创 mybatis-plus------入门篇

1. 介绍mybatis-plusMyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 但是对于联表操作还必须使用mybatis.2. 特性 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:

2021-06-21 19:12:15 125

原创 springboot自动装配原理

配置核心注解是@SpringBootApplication,该注解是springboot的启动类注解,它是一个复合注解,里面包含@EnableAutoConfiguration表示开启配置,也是个复合注解,里面包含@AutoConfigurationPackage注解,表示自动配置包,该注解下有个@Import(AutoConfigurationPackages.Registrar.class)注解,其中Registrar类的作用就是将启动类所在包下的所有子包的组件扫描注入到Spring容器中。...

2021-06-21 17:34:18 50

原创 springboot整合定时器Quartz

学习quartz需要知道的几个概念下面的概念来自网上1. Job:是一个接口,只有一个方法void execute(JobExecutionContext context),开发者实现该接口定义运行任务,JobExecutionContext类提供了调度上下文的各种信息。Job运行时的信息保存在JobDataMap实例中;2. JobDetail:Quartz在每次执行Job时,都重新创建一个Job实例,所以它不直接接受一个Job的实例,相反它接收一个Job实现类,以便运行时通过newInst

2021-06-21 16:46:49 111

原创 SpringBoot整合Thymeleaf

Thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模。在Spring Boot中使用Thymeleaf只需在pom中加入Thymeleaf的starter即可。Thymeleaf的使用:(1)引入相关的依赖<dependency> <groupId>org.springframework.boot&l..

2021-06-21 16:36:48 159

原创 spring boot 中分页插件PageHelper的使用

PageHelper它的优缺点:优点:封装分页sql,使我们不需要每个地方都去写分页的查询语句;同时,使我们select的sql语句向下兼容,换了数据库也不需要更改sql代码。缺点:pagehelper数据量达到一定数量时limit分页时会特别慢,count(*)会把数据库卡死。(1)加入PageHelper的启动依赖 <dependency> <groupId>com.github.pagehelper</groupId> <a

2021-06-21 16:18:04 675

原创 springboot如何注册web三大组件

1.web三大组件包含哪些?

2021-06-18 19:28:30 151

原创 springboot整合mybatis.

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0..

2021-06-18 16:26:07 68

空空如也

空空如也

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

TA关注的人

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