自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Dubbo笔记六:进程缓存GuavaCache的使用

Dubbo笔记六:进程缓存GauvaCache的使用文章目录Dubbo笔记六:进程缓存GauvaCache的使用缓存的好处和坏处缓存设计Google GauvaCache的使用HashTable和HashMap和LoadingCache的区别缓存的好处和坏处好处1、缓存加速读写速度2、降低后端负载缓存的坏处1、数据不一致:缓存层和数据层有时间窗口不一致,和更新策略有关。2、代码维护成本:需要开发人员维护缓存。增加代码复杂度3、堆内缓存可能带来内存溢出的风险影响用户进程,如e

2020-07-22 07:45:03 49

原创 Dubbo笔记五:JMH基准测试与分析

Dubbo笔记五:JMH基准测试与分析文章目录Dubbo笔记五:JMH基准测试与分析优惠券功能逻辑图优惠券列表开发JMH基准测试JMH基准测试HelloWorldSpringBoot整合JMH测试JMH数字分析优惠券功能逻辑图优惠券特点1、对于用户==》读优惠券2、对于运营人员==》写优惠券读多,写少。优惠券列表开发数据库添加两个字段,end_time,优惠券生效结束时间。start_time,优惠券生效开始时间添加静态变量。不要在代码中直接写0,1等状态。用自动生成的map

2020-05-27 07:50:53 72

原创 SpringCloud笔记十:springCloud和Docker整合部署

SpringCloud笔记十:springCloud和Docker整合部署文章目录SpringCloud笔记十:springCloud和Docker整合部署构建SpringBoot应用Docker镜像打包SpringCloud镜像并上传私有仓库并部署docker配置redis生产环境常见问题以及中心配置技术未来构建SpringBoot应用Docker镜像官方文档官方文档maven里面添加配置<properties><docker.image.prefix>公司名

2020-05-22 07:09:45 64

原创 SpringCloud笔记九:微服务消息总线Bus结合消息队列RabbitMQ

SpringCloud笔记九:微服务消息总线Bus结合消息队列RabbitMQ文章目录SpringCloud笔记九:微服务消息总线Bus结合消息队列RabbitMQ消息总线介绍和使用场景消息队列RabbitMQ使用Docker安装RabbitMQ消息总线整合配置中心总结客户端保留配置和需要引入的依赖。消息总线介绍和使用场景配置中心问题将配置中心存放到git仓库里面,好处有很多,但是仍然没有解决一个问题,当我们将系统部署以后,如果想修改配置里面的内容,如何在不重启的情况下仍然能应用新增的内容。显

2020-05-22 07:08:32 72

原创 SpringCloud笔记八:分布式配置中心Config

SpringCloud笔记八:分布式配置中心Config文章目录SpringCloud笔记八:分布式配置中心Config什么是配置中心SpringCloud的配置中心组件config-server使用git服务器结合config搭建分布式配置中心分布式配置中心客户端使用什么是配置中心统一管理配置,快速切换各个环境的配置相关产品1、百度的disconf百度disconf2、阿里的diamand阿里diamand3、springCloud的configs-server

2020-05-22 07:06:44 63

原创 SpringCloud笔记七:微服务下Docker

SpringCloud笔记七:微服务下Docker文章目录SpringCloud笔记七:微服务下DockerDocker介绍和使用场景Centos7安装DockerDocker仓库,镜像,容器核心知识讲解Docker在云服务器上的实际应用使用Docker部署Nginx服务器构建自己的镜像仓库Docker介绍和使用场景什么是Docker1、可以快速的部署和启动应用2、实现虚拟化,完整资源隔离3、一次编写,四处运行(有一个定的限制,比如Docker是基于Linux x64的,无法在32bit的

2020-05-22 07:05:11 53

原创 SpringCloud笔记六:分布式链路追踪系统Sleuth和ZipKin

SpringCloud笔记六:分布式链路追踪系统Sleuth和ZipKin文章目录SpringCloud笔记六:分布式链路追踪系统Sleuth和ZipKin微服务下链路追踪分布式链路追踪组件Sleuth链路组件Sleuth常见问题可视化链路跟踪系统Zipkin链路追踪组件Zipkin+Sleuth微服务下链路追踪链路系统就是追踪数据在各个服务传递的情况。可以通过链路追踪系统知道那个系统传递的比较慢。分布式链路追踪组件Sleuth什么是Sleuth一个组件,专门用于追踪每个请求的完整调用

2020-05-22 07:02:47 77

原创 SpringCloud笔记五:微服务网关zuul

SpringCloud笔记五:微服务网关zuul文章目录SpringCloud笔记五:微服务网关zuul什么是网关SpringCloud的网关组件zuul基本使用Zuul常见问题分析和网关过滤器原理分析自定义Zuul过滤器实现登录鉴权功能高并发情况下接口限流的特技Zuul微服务网关集群搭建什么是网关API Gateway,是系统的唯一对外入口,介于客户端和服务端之间的中间层,处理非业务功能,提供路由请求,鉴权,监控,缓存,限流等功能。统一接入​ 智能路由,​ AB测试,灰度测试​

2020-05-22 07:00:41 45

原创 SpringCloud笔记四:互联网架构服务降级熔断Hystrix

SpringCloud笔记四:互联网架构服务降级熔断Hystrix文章目录SpringCloud笔记四:互联网架构服务降级熔断Hystrix分布式核心知识,熔断降级Netflix开源组件断路器HystrixFeign结合Hystrix熔断开发Feign结合Hystrix断路器开发熔断降级服务异常报警通知实战深入源码剖析Hystrix降级策略和调整断路器Dashboard监控仪表盘断路器监控仪表参数讲解和模拟熔断分布式核心知识,熔断降级系统负载过高,突发流量或者网络等各种异常情况介绍,常用解决方案

2020-05-22 06:57:27 48

原创 SpringCloud笔记三:服务消费者ribbon和feign和注册中心高可用

SpringCloud笔记三:服务消费者ribbon和feign和注册中心高可用文章目录SpringCloud笔记三:服务消费者ribbon和feign和注册中心高可用常用的服务间调用方式微服务调用之ribbon实战,订单调用商品服务Ribbon负载均衡源码分析调整ribbon的负载均衡策略微服务调用方式feignFeign源码解读以及Feign和Ribbon的选择常用的服务间调用方式RPC调用方式远程过程调用,像调用本地服务一样调用服务器的服务。支持同步,异步调用。客户端和服务端之间建立

2020-05-22 06:55:14 43

原创 SpringCloud笔记二:springCloud核心组件注册中心

SpringCloud笔记二:springCloud核心组件注册中心文章目录SpringCloud笔记二:springCloud核心组件注册中心微服务注册中心分布式应用知识CAP理论知识CAP面试题和注册中心的选择Eureka Server服务搭建实战服务注册和发现Eureka Client搭建商品服务实战Eureka服务注册中心配置控制台问题处理微服务注册中心什么是注册中心服务管理,核心是有个服务注册表,心跳机制动态维护。服务提供者provider启动的时候向注册中心上报自己的网

2020-05-22 06:52:57 61

原创 springCloud笔记一:架构演进与分布式系统基础知识

springCloud笔记一:架构演进与分布式系统基础知识文章目录springCloud笔记一:架构演进与分布式系统基础知识传统架构演进到分布式系统微服务核心基础讲解常见的微服务框架微服务下电商项目基础模块设计传统架构演进到分布式系统互联网刚开始的架构用户增多后用户继续增多增加nginx的集群分发:和网关分发网关主要用来拦截用户信息,是否登录的。负载均衡器:高可用,LVS+keepalive单体应用开发速度慢,启动时间长,依赖庞大,等等。微服务易开

2020-05-22 06:50:10 48

原创 JVM笔记二:jvm中对象的创建

JVM笔记二:对象文章目录JVM笔记二:对象对象的创建对象的内存布局访问对象过程对象的创建java对象创建底层执行图创建对象流程1、虚拟机遇到一个new指令时,首先检查这个对应的类能否在常量池中定位到一个类的符号引用。2、判断这个类是否已被加载、解析和初始化。3、为这个新生对象在java堆中分配内存空间,其中java堆分配内存空间的方式主要有两种:指针碰撞,空闲列表4、...

2020-05-10 11:35:06 51

原创 Jdk8新特性三:jdk8之函数式编程Function

Jdk8新特性三:jdk8之函数式编程Function文章目录Jdk8新特性三:jdk8之函数式编程FunctionFunction接口的使用BiFunction接口解决传入两个参数问题JDK8函数式编程消费型接口Consumer\Function接口的使用Lambda表达式必须先定义接口,创建相关方法后才能使用,这样弄十分不便,干脆开发者就直接内置了接口,所有标注@FunctionalIn...

2020-05-10 11:34:46 72

原创 jdk8新特性四: jdk8Stream流操作

jdk8新特性五: jdk8Stream流操作文章目录jdk8新特性五: jdk8Stream流操作jdk8之流Streamstream中的函数jdk8里面的并行流parallelStreamjdk8里面的聚合操作reducejdk8的forEach集合jdk8收集器和集合统计jdk8新内存空间Metaspacejdk7里面的新特性try-with-resourcesjdk8之流Stream...

2020-05-10 11:34:11 109

原创 java-3年面试总章:解决面试中的问题

java-3年面试总章:解决面试中的问题文章目录java-3年面试总章:解决面试中的问题面试官想问的问题分析面试官问题。面试题:java线程池的创建面试中的sql问题:where 和having的区别java常用的五大包面试官想问的问题你说一下对线程的理解。你说一下多线程开发。你给我讲解一下JWT的优势。你讲解一下shiro开发。分析面试官问题。你要明白面试官要考察什么?这个...

2020-05-10 11:33:48 277

原创 Shiro笔记八:分布式应用下的鉴权方式

Shiro笔记八:分布式应用下的鉴权方式文章目录Shiro笔记八:分布式应用下的鉴权方式单体应用下的鉴权方式shiro整合SpringBoot下自定义SessionId单体应用下的鉴权方式使用tomcat的广播方式,但是会引起广播风暴。也占用大量内存空间。使用UUID+Redis存储SessionIDJWTJWTOauth2.0:实现第三方登录。Oauth2.0shiro整合SpringBoot下自定义SessionId重写SessionIdGenerator的方法

2020-05-10 11:32:53 97

原创 Shiro笔记七:自定义Shiro Filter过滤器

Shiro笔记七:自定义Shiro Filter过滤器shiro自带的Filter的问题shiro有自带的过滤器在DefaultFilter里面,但是有个问题。filterChainDefinitionMap.put("/admin/**",“roles[admin,root]”);//中括号里面的是角色的名字这里面的问题是:只有当用户属于admin和root角色时,才能访问这个路径,如果只有root角色或者只有admin角色,是不能访问的。相当于hasAllRole()现在的需求是:只

2020-05-10 11:30:21 118

原创 Shiro笔记六:shiro整合SpringBoot

Shiro笔记六:shiro整合SpringBoot文章目录Shiro笔记六:shiro整合SpringBoot技术规划基于RBAC权限控制mysql的设计自定义RealmShiroFilterFactoryBean配置logout的使用技术规划采用技术前后端分离的权限检验+SpringBoot2.x+Mysql+mybatis+Shiro+Redis+IDEA+JDK8基于RBAC权限控制mysql的设计权限控制包含三个表:用户表,角色表,权限表用户和角色是多对多关系。角色和

2020-05-10 11:29:12 64

原创 Shiro笔记五:Shiro内置Filter过滤器

Shiro笔记五:Shiro内置Filter过滤器shiro内置的过滤器核心过滤器类:DefaultFilter,配置哪个路径对应哪个拦截器进行处理。authc:org.apache.shiro.web.filter.authc.FormAuthenticationFilter需要认证登录才能访问user:org.apache.shiro.web.filter.authc.UserFilter用户拦截器,表示必须存在用户。anon:org.apache.shiro.web.f

2020-05-10 11:27:01 113

原创 Shiro笔记四:Shiro安全数据来源之Realm

Shiro笔记四:Shiro安全数据来源之RealmRealm和常见方法Realm的作用:shiro从Realm获取安全数据两个概念principal:主体的标识,可以有多个,但是需要具有唯一性,常见的有用户名,手机号,邮箱等。credential:凭证,一般是密码。所以一般我们说principal+credential 就是账号+密码。开发中往往是自定义realm.即集成AuthorizingRealm配置shiro.ini# 格式 name=password,role1,r

2020-05-10 11:25:48 78

原创 Shiro笔记三:SpringBoot2.x整合Shiro

Shiro笔记三:SpringBoot2.x整合ShirospringBoot2.x整合shiro引入依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency&g

2020-05-10 11:22:52 78

原创 shiro笔记二:shiro基础概念和架构

shiro笔记二:shiro基础概念和架构shiro核心知识架构图和四大模块身份认证:Authentication:身份认证就是一般就是登录。什么是授权Authorization:给用户分配角色或者访问某些资源的权限。会话管理Session Management 用户的会话管理,多数 情况下是web Session加密Cryptography:数据加解密,比如密码加解密等。其他小组件WebSupporting:支持web开发组件catching

2020-05-10 11:20:54 52

原创 shiro笔记一:权限控制

shiro笔记一:权限控制权限控制权限:用户和资源,让指定的用户,只能操作指定的资源。javaweb通过doFilter过滤进行处理权限控制。public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws Exception { HttpServletRequest httpRequest = (HttpServletRequest) request;

2020-05-10 11:18:09 96

原创 java基础:IO流大总结

java基础:IO流大总结文章目录java基础:IO流大总结IO流分类IO流之节点流IO流之处理流File类节点流FileInputStream和FileOutputStream多态总结缓冲流BufferedInputStream和BufferedOutputStream字符缓冲流ferReader和BufferWrite转换流InputStreamReader和OutputStreamWrit...

2020-05-04 00:15:17 197

原创 记一次解决Hype-v的端口占用问题

win10开通Hype-v功能,占用了其他端口解决方案cmd命令查询是否被占用netsh interface ipv4 show excludedportrange protocol=tcp如果你的端口在里面的区间内可以通过以下命令修改这个区间netsh int ipv4 set dynamicportrange tcp start=49152 num=16384重启...

2020-03-28 14:29:49 569

原创 java面试笔记六:并发编程,进程调度算法,线程里面的锁,CAS和ABA问题

1. java面试笔记六:并发编程文章目录1. java面试笔记六:并发编程1.1. 并发编程三要素1.2. 进程作业调度算法1.3. java多线程里面的锁1.4. 多线程里面的不可重入锁设计1.5. synchronized的理解1.6. Compare and Swap知多少?1.1. 并发编程三要素java并发编程三要素,并举个栗子。1、原子性:多个操作要么全部执行,要么全部...

2020-03-14 16:51:05 188

原创 java面试笔记五:线程、进程、以及协程,java多线程实现方式,java线程常见状态

java面试笔记五:线程、进程、以及协程文章目录java面试笔记五:线程、进程、以及协程进程、线程、协程并发和并行java实现多线程有几种方式?有什么不同?java线程常见的基本状态进程、线程、协程线程,协程,进程的关系进程:本质上是一个独立执行的程序,进程是操作系统进行资源分配和调度的基本概念,操作系统进行资源分配和调度的一个独立单位。线程:是操作系统能够进行运算调度的最小单位,...

2020-03-13 23:14:24 214

原创 java面试笔记四:集合框架Map集合

1. java面试笔记四:集合框架Map集合文章目录1. java面试笔记四:集合框架Map集合1.1. 常用的map实现类1.2. HashMap和Hashtable的区别1.3. HashMap和TreeMap应该如何选择1.4. 线程安全且效率高的Map集合1.5. 了解ConcurrentHashMap吗?为什么性能比Hashtable高?说下原理?1.1. 常用的map实现类1、...

2020-03-13 02:39:17 85

原创 java面试基础三:集合框架List面试题

1. java面试基础三:集合框架List面试题文章目录1. java面试基础三:集合框架List面试题1.1. java集合框架里面List常见面试题1.2. LIst的扩容机制1.1. java集合框架里面List常见面试题说一下Vector和ArrayList,LinkedList的联系和区别?分别使用场景从两点回答:1、线程安全​ ArrayList:底层是数组实现,线...

2020-03-12 00:29:28 131

原创 java面试基础二:字符串,面向对象,接口抽象类的考察

1. java面试基础二:字符串,面向对象,接口抽象类的考察文章目录1. java面试基础二:字符串,面向对象,接口抽象类的考察1.1. 常用字符串的考察1.2. String 、StringBuffer和StringBuilder的区别1.3. 面向对象思想OOP1.4. Overload和Override的区别1.5. java的接口1.1. 常用字符串的考察String str=ne...

2020-03-11 13:13:58 53

原创 java面试题基础知识一:运算符操作以及一些基础问题

1. java面试题基础知识一:运算符操作以及一些基础问题文章目录1. java面试题基础知识一:运算符操作以及一些基础问题1.1. 运算符1.2. 用最有效率的方法计算2乘以81.3. 传递两个非0的int数值进去,实现变量交换的方式,有几种方式?1.4. 数据类型分类:1.5. 返回值问题1.6. ==和equals的区别1.7. try-catch-finally的返回值问题1.8. 新版...

2020-03-11 00:52:03 63

原创 微信支付项目五:nginx的安装配置和nginx的集群处理

1. 微信支付项目五:nginx的安装配置和nginx的集群处理1.1. 一些网络知识前端静态页面一般静态页面的上面引入样式,下面引入框架的js跨域问题与cdn内容分发网络跨域:浏览器从一个域名的网页请求另一个域名的资源时,域名,端口,协议,任一不同,都是跨域。也就是访问两个不同的域名,该域名下的资源文件比如cookie等,不能相互访问。只有域名,协议,端口相同的时候才能同...

2020-03-09 16:11:48 126

原创 微信支付项目六:全局异常处理和Logback日志整合

1. 微信支付项目六:全局异常处理和Logback日志整合文章目录1. 微信支付项目六:全局异常处理和Logback日志整合1.1. 全局异常处理1.2. 整合logback日志打印1.1. 全局异常处理自定义异常类继承运行时异常,RuntimeException,添加构造函数:别忘记superpublic class XdException extends RuntimeExc...

2020-03-08 12:37:38 104

原创 微信支付项目四:微信支付笔记

1. 微信支付项目四:微信支付交付文章目录1. 微信支付项目四:微信支付交付1.1. 微信支付交付方式1.2. 互联网架构知识时序图1.3. 微信支付模式二的时序图1.4. 微信支付订单接口之增删改查操作1.5. IDE生成订单接口测试1.6. 创建微信签名等工具类1.7. 使用谷歌二维码工具生成二维码1.8. 微信支付回调功能1.9. 微信回调处理以及更新订单状态,和幂等性问题1.10. 微信...

2020-03-07 21:36:18 90

原创 微信支付项目笔记二:mybatis分页插件的使用,mybatis动态sql语句,JWT的使用

1. 微信支付项目笔记二:文章目录1. 微信支付项目笔记二:1.1. mybatis的增删改查1.2. Mybatis的动态sql语句1.3. Mybatis中分页插件的使用1.4. 单机和分布式应用登录检验1.5. 微服务下登录检验解决方案:JWT (json wen token)1.6. JWT实操1.7. Idea使用JUnit4测试1.1. mybatis的增删改查由于mybat...

2020-03-04 18:10:33 55

原创 微信公众平台开发三:微信的OAuth2.0登录开发

1. 微信公众平台开发三:微信的OAuth2.0登录开发文章目录1. 微信公众平台开发三:微信的OAuth2.0登录开发2. 登录方式的优缺点和微信一键登录3. 微信登录步骤4. 微信一键登录开发之授权5. 微信扫一扫登录6. HttpClient4.x工具开发7. 微信回调本地域名映射工具Ngrock8. 微信登录回调本地域名9. 微信登录获取用户信息10. 保存,查询用户信息11. 使用JW...

2020-03-04 18:05:07 138

原创 微信支付项目开发笔记一:项目搭建和测试

1. 微信支付项目开发笔记一:项目搭建和测试文章目录1. 微信支付项目开发笔记一:项目搭建和测试1.1. 项目开发流程1.2. 项目开发架构图1.3. 技术选择1.4. 后台数据库设计1.5. Eclipse快速搭建SpringBoot框架1.6. Eclipse/Idea部署热部署1.7. 后端项目分包1.8. 开源工具类的优缺点1.9. mysql逆向工程,IDEA自动生成java实体类1....

2020-02-25 22:54:38 244

原创 JS学习笔记六:js中的DOM操作

1. JS学习笔记六:js中的DOM操作文章目录1. JS学习笔记六:js中的DOM操作1.1. 获取Dom节点1.2. 元素属性的操作方式1.3. DOM节点的创建、插入和删除1.4. 文档碎片以及文档碎片的作用1.5. DOM快速操作表格元素1.1. 获取Dom节点DOM节点分为元素节点(也就是代码中的标签)一个是文本节点即:一些空格,换行和一些字符。DOM获取子节点1、使用c...

2020-02-20 21:50:32 173

原创 Jdk8新特性三:jdk8之函数式编程Function

Jdk8新特性三:jdk8之函数式编程Function文章目录Jdk8新特性三:jdk8之函数式编程FunctionFunction接口的使用BiFunction接口解决传入两个参数问题JDK8函数式编程消费型接口Consumer\Function接口的使用Lambda表达式必须先定义接口,创建相关方法后才能使用,这样弄十分不便,干脆开发者就直接内置了接口,所有标注@FunctionalIn...

2020-02-17 23:33:48 666

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