自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 阅读源码技巧总结

阅读源码的方法

2021-12-16 14:28:57 231

转载 Springboot项目启动原理详细解析

springboot 项目启动原理

2021-12-16 13:48:32 456

转载 Spring Task

定时任务 Spring Task

2021-12-14 15:17:44 162

转载 终于有人把Java内存模型(JMM)说清楚了

前几天,发了一篇文章,介绍了一下JVM内存结构、Java内存模型以及Java对象模型之间的区别。有很多小伙伴反馈希望可以深入的讲解下每个知识点。Java内存模型,是这三个知识点当中最晦涩难懂的一个,而且涉及到很多背景知识和相关知识。网上有很多关于Java内存模型的文章,在《深入理解Java虚拟机》和《Java并发编程的艺术》等书中也都有关于这个知识点的介绍。但是,很多人读完之后还是搞不清楚,甚至有的人说自己更懵了。本文,就来整体的介绍一下Java内存模型,目的很简单,让你读完本文以后,就知道到底Java

2021-11-10 15:49:56 131

原创 网络基础一些常见概念

RPC是什么RPC(Remote Procedure Call)是远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息

2021-10-26 16:56:45 803

转载 ZuulFilter 执行顺序

1 按照filterType决定顺序Pre 优先 Post执行,此时filterOrder没有作用。2 filterType相同filterOrder有作用,数字越小,越先执行。(负数也是这个规则,0和-1的话,-1先执行)3 相同filterType,相同filterOrder,都执行,执行顺序不清楚。prefilter先执行了,post后执行了。...

2021-10-24 01:10:10 1166

转载 从零开始搭建Yapi环境

Yapi是去哪儿网开源的一款接口管理工具。接口的文档的管理是一件比较痛苦的事情,后端开发不得不使用很长的时间去维护繁杂冗余的文档,而前端开发也因为文档的不精确也浪费开发时间。工作中接口返回的参数值包含很多的异常场景,前端不得不写一大串的判断逻辑。配合前段调试需要模拟很多场景,比较费时费力,而且很多场景到了项目后期才能调试,在提交测试时时间就会显得很紧张。总结起来文档式的接口管理方式浪费心里和时间,Aapi这款工具的旨意将接口作为一个公共的可视化的方式打通前段、后台、测试环节,整合在一块,共同使用维护,降

2021-10-24 00:57:28 210

转载 如何提高服务器qps

QPS(TPS)= 并发数/平均响应时间 可以看出,要提高qps,我们必须做2个方面努力1 增加并发数1.比如增加tomcat并发的线程数,开和服务器性能匹配的线程数,可以更多满足服务请求。2.增加数据库的连接数,预建立合适数量的TCP连接数3.后端服务尽量无状态话,可以更好支持横向扩容,满足更大流量要求4.调用链路上的各个系统和服务尽量不要单点,要从头到尾都是能力对等的,不能让其中某一点成为瓶颈。5.RPC调用的尽量使用线程池,预先建立合适的连接数。2减少平均响应时间1.请求尽量越前结束,

2021-10-21 16:46:07 2276

转载 Lombok的基本使用

以前的Java项目中,充斥着太多不友好的代码:POJO的getter/setter/toString;异常处理;I/O流的关闭操作等等,这些样板代码既没有技术含量,又影响着代码的美观,Lombok应运而生。为什么推荐使用Lombok:@Lombok有啥牛皮的?SpringBoot和IDEA官方都要支持它!最近IDEA 2020最后一个版本发布了,已经内置了Lombok插件,SpringBoot 2.1.x之后的版本也在Starter中内置了Lombok依赖。为什么他们都要支持Lombok呢?今天我来讲

2021-10-18 18:26:26 130

原创 微服务项目结构

项目在独立仓库中整体|–总项目|–项目A|–项目B单独项目|–pom|–src|–controller(控制层)|–serviceimpl接口|–daoentitymapper|–manager(是service层中沉淀下的方法)|–constant(常量)|–request(接受的参数BEAN)|–response(返回参数BEAN)|–resource|–mapper|–xxxMapper.xmlyml...

2021-10-16 22:51:36 321

转载 什么是RESTful?RESTfule风格又是什么?

什么是REST?REST(英文:Representational State Transfer,简称REST,意思:表述性状态转换,描述了一个架构样式的网络系统,比如web应用)。它是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件,它主要用于客户端和服务端交互类的软件。基于这个风格设计的软件可以更简介,更有层次,更易于实现缓存等机制。它本身并没有什么使用性,其核心价值在于如何设计出符合REST风格的网络接口。什么是RESTful?REST:指的是一组架构约束条件和原则。满

2021-10-15 00:38:04 119

原创 springboot项目创建

start.spring.io 不能访问 使用阿里云国服链接替代https://start.aliyun.com/

2021-10-13 16:03:32 46

原创 spring-boot一些注解的解释

@ConditionalOnProperty具体代码如下@Configurationpublic class WebConfig {@Bean@ConditionalOnProperty(prefix = “rest”, name = “auth-open”, havingValue = “true”, matchIfMissing = true)public AuthFilter jwtAuthenticationTokenFilter() {return new AuthFilter();

2021-10-05 02:45:22 1936

原创 JWT(JAVA WEB TOKEN)

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。优点因为json的通用性,所以JWT是可以进行跨语言支持的,像JAVA,JavaScript,Nod

2021-09-20 01:12:31 1056

转载 怎样来实现流量削峰方案

流量削峰的由来主要是还是来自于互联网的业务场景,例如,马上即将开始的春节火车票抢购,大量的用户需要同一时间去抢购;以及大家熟知的阿里双11秒杀, 短时间上亿的用户涌入,瞬间流量巨大(高并发),比如:200万人准备在凌晨12:00准备抢购一件商品,但是商品的数量缺是有限的100-500件左右。这样真实能购买到该件商品的用户也只有几百人左右, 但是从业务上来说,秒杀活动是希望更多的人来参与,也就是抢购之前希望有越来越多的人来看购买商品。但是,在抢购时间达到后,用户开始真正下单时,秒杀的服务器后端缺不希望同

2021-09-09 11:02:07 719

转载 通俗理解maven的加SNAPSHOT和不加SNAPSHOT

疑惑我们在开发中经常会看到maven的pom文件里有如下两种版本形式:xxx-SNAPSHOT和xxx这其实分别描述的是快照版和正式版。为什么要这么区分因为maven的远程仓库一般分为public(Release)仓和SNAPSHOT仓,前者存放正式版本,后者存放快照版本。开发案例xxx此时,假设你现在正在开发一个订单模块,打完包发布到公司管理的远程仓库:java-order-1.0.0.jar,你隔壁组的开发小明需要依赖你这个包,那么他们就会按照maven的配置规则配置好artifactId

2021-08-28 01:43:52 2292

转载 eureka心跳_8个Eureka优化技巧,让效率提高10倍

1. Eureka的自我保护服务注册到Eureka中以后。默认情况下每30s(默认)给Eureka发一次心跳,如果Eureka一段时间(默认90s)没收到心跳就会把该服务剔除。但是有时候服务正常,只是由于网络异常抖动没有把心跳发送至Eureka,如果Eureka这时把服务剔除,当网络恢复正常时,服务也不会重新注册到Eureka(服务只有在启动得时候才注册Eureka)。服务通过Eureka是访问不了的。为了防止这种误杀,Eureka提供了自我保护机制:Eureka在15分钟内收到服务端心跳数小于Eur

2021-08-28 00:38:49 965

转载 服务注册和发现之Eureka原理篇

概念在传统应用组件间调用,通过接口规范约束来实现的,从而实现不同模块间良好协作;但是被拆分成微服务后,每个微服务实例的数量和网络地址都可能动态变化,使得原来硬编码的地址极不方便,故需要一个中心化的组件来进行服务的登记和管理。服务注册中心:实现服务治理,管理所有的服务信息和状态。注册中心好处:不用关心服务提供方数量、地址等细节。注册中心技术栈:Eureka、Nacos、Consul、Zookeeper等。服务注册与发现包括两部分:一个是服务器端,另一个是客户端Server是一个公共服务,为Clie

2021-08-27 14:55:35 1873

空空如也

空空如也

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

TA关注的人

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