自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

严文文 Chris

人生不设限,越努力越美丽!

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

原创 设计模式类型

创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚其具体的实现细节,使整个系统的设计更加符合单一职责原则。创建型模式在创建什么(What),由谁创建(Who),何时创建(When)等方面都为软件设计者提供了尽可能大的灵活性。创建型模式隐藏了类的实例的创建细节,通过隐藏对象如何被创建和组合在一起达到使整个系统独立的目的。

2023-11-08 17:30:27 283

原创 行为型模式-命令模式

将一个 请求封装为一个 对象,可以使用不同的请求进行参数化;对请求排队或者记录请求日志以及 支持可撤销的操作。别名动作模式或事务模式在命令模式中,将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作模式或事务模式。命令模式包含四个角色:抽象命令类中声明了用于执行请求的execute()等方法,通过这些方法可以调用请求接收者的相关操作;

2023-11-08 16:53:35 545

原创 RestTmplate

发送 http 请求,估计很多人用过 httpclient 和 okhttp,确实挺好用的,而 Spring web 中的 RestTemplate 和这俩的功能类似,也是用来发送 http 请求的,不过用法上面比前面的 2 位要容易很多。spring 框架提供的 RestTemplate 类可用于在应用中调用 rest 服务,它简化了与 http 服务的通信方式,统一了 RESTful 的标准,封装了 http 链接, 我们只需要传入 url 及返回值类型即可。

2023-09-22 10:36:37 192

原创 如何设计API接口

why:有时,API接口直接传递非常重要的数据 ,比如,用户的银行卡号,身份证号等,如果直接将这些参数直接明文暴露到公网上是非常危险的事情,因此我们需要对数据加密。也就是说要支持在极短的时间内,第三方平台用相同的参数请求API接口多次,第一次请求数据库会新增数据,但第二次请求以后就不会新增数据,但也会返回成功。之前虽说对API接口做了限流,但是实际上API接口是否能够达到限制的阀值,这是一个问号,如果不做压力测试,是有很大风险的。统一字段的类型和长度,比如:id字段用Long类型,长度规定20。

2023-09-15 09:52:00 168

原创 微服务之流控、容错组件sentinel

请求沿着处理者链进行发送,每个处理者都可以对请求进行处理,或者将台传递给恋上的下一个 处理者sentinel 是流量整形,提升服务容错能力的组件。

2023-09-11 21:29:40 348

原创 微服务之架构演变

随着互联网的发展,网站应用规模不断扩大,网站架构随之不断演变,演变历史大致分为单体应用架构-垂直应用架构-分布式架构-SOA架构-微服务架构-云原生架构。

2023-09-01 09:39:52 966

原创 程序员的职业素养(一)

程序员的职业素养

2023-02-07 18:44:44 523

原创 linux日志查询

linux常用日志查询命令

2023-02-07 12:01:59 339

原创 Spring事务注解

spring注解事务特性介绍,失效场景总结

2022-08-26 14:36:01 7033

原创 RocketMQ生产者启动流程(三)

DefaultMQProducerDefaultMQProducer是RocketMQ中默认的生产者实现核心属性namesrvAddr:继承自 ClientConfig,表示 RocketMQ 集群的 Namesrv 地址,如果是多个则用分号分开。比如:127.0.0.1:9876;127.0.0.2:9876clientIP:使用的客户端程序所在机器的 IP地址。支持 IPv4和 IPv6,IPv4 排除了本地的环回地址(127.0.xxx.xxx)和私有内网地址(192.168.xxx.xxx

2022-04-26 17:53:40 690

原创 RocketMQ生产者(二)

生产者生产者组:一个逻辑概念,在使用生产者实例的时候需要制定一个组名,一个生产者组可以生产多个Topic消息生产者实例:一个生产者组部署了多个进程,每个进程可以成为一个生产者实例topic:主题名字,一个topic由若干个Queue组成消息结构Topic:主题名字,可以通过RocketMQ Console创建Flag:目前没用Properties:消息扩展信息,Tag、keys、延迟级别都保存在这里Body:消息体,字节数组。需要注意生产者使用什么编码,消费者也必须使用相同编码解码,否则

2022-04-26 15:28:21 1022

原创 RocketMQ概述(一)

什么是消息队列消息队列是一种异步的服务间通信方式,适用于无服务器和微服务架构。消息在被处理和删除之前一直存储在队列上。每条消息仅可被一位用户处理一次。消息队列可被用于分离重量级处理、缓冲或批处理工作以及缓解高峰期工作负载。为什么需要消息队列削峰填谷业务系统在超高并发场景中,由于后端服务来不及同步处理过多,过快的请求,可能导致请求阻塞,严重时可能由于高负荷拖垮Web服务器。程序间解耦不同的业务端在开发功能时,可能由于排期不同,人员调配不方便等原因导致项目延期,根本原因是业务耦合过渡。异步处理

2022-04-25 17:30:59 413

原创 并发机制底层实现原理(二)

Java代码在编译后会变成java字节码,字节码类加载器被加载到JVM, JVM执行字节码,最终转化为汇编指令在CPU上执行,所以JAVA的并发编程依赖于JVM的实现和CPU的指令。volatile的应用在多线程并发编程中synchronized,volatile是并发编程的扛把子,但是两者的区别是volatile是轻量级的synchronized,在多线程中保证共享变量的“可见性”,可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。volatile比synchronized的

2022-04-25 15:57:55 439 1

原创 并发编程挑战及解决方案(一)

为什么需要并发编程让程序运行更快,但不是线程越多,程序运行越快。挑战接下来讲讲并发编程的挑战上下文切换的挑战单核处理器也可以支持多线程执行代码,cput通过给每个线程分配CPU时间片来实现。当前任务执行一个时间片后会切换到下一个任务,但是切换前会保存上一个任务的状态,方便下次切换回这个状态。任务从保存到再加载的过程就是一次上下文切换。上下回切换带来性能消耗,所以尽量减少上下文切换如何减少上下文切换无锁并发编程。多线程争夺锁会造成上下文切换,所以可采取避免锁的方式。如将数据ID按照hash算

2022-04-25 11:28:36 529

原创 网络拓扑之DNS

DNS是什么域名系统(Domain Name System) ,根据域名查出IP地址。因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS可以使用TCP和UDP的53端口,基本使用UDP协议的53端口。DNS 的分布式数据库是以域名为索引的,每个域名实际上就是一棵很大的逆向树中路径,这棵逆向树称为域名空间(domain name space)。出

2022-04-11 19:05:47 1336

原创 网络拓扑学习之SLB

什么是SLB负载均衡(Server load Balance) 是一种对流量进行按需分发的服务,通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,并且可以消除系统中单点故障,提升应用系统的可用性。SLB的功能检查云服务器ESC的健康状态,自动隔离异常状态的ECS。解决单点问题,提供应用整体服务能力。具备TCP和HTTP抗DDos的特性,增强防护能力。组成部分CLB实例 instances一个CLB实例是一个运行的负载均衡服务,用来接收流量并将其分配给后端服务器。监听 Lis

2022-04-11 18:06:18 2679

原创 企业级API网关学习总结

网关的产生背景微服务架构演变单体架构所有服务集中在单个项目中,每次部署需要部署整个项目好处:弊端:新人上手难;扩缩容困难;业务规模扩大后,分布式架构将系统进行垂直和横向拆分后分别部署在服务器上纵向拆分:根据业务分类进行拆分横向拆分:将拆分后的业务横向部署多个节点,保证服务高可用性SOA架构面向服务即将共用的服务抽取出来做为一个服务供所有系统使用,每个系统不再各自实现ESB:是一个集中式的服务总线。通过ESB,可以实现集成业务处理,监控系统间消息流动,管理系统间交互的业务服务

2022-03-24 20:16:04 968

原创 高级项目管理师之10大管理5大过程组

5大过程组 10大管理 启动过程组 规划过程组 执行过程组 监控过程组 首位过程组 整体管理 范围管理 进度管理 成本管理 质量管理 人力资源管理 规划人力资源管理 组建项目团队 建设项目团队 管理项目团队

2022-03-23 20:50:38 646

原创 腾讯COS分块上传踩坑记录

背景项目中用到腾讯COS去存储、查询文件,但是未做分块上传的优化逻辑,所以决定增加大文件分块上传逻辑步骤腾讯COS官网显示分块上传有7个方法Initiate Multipart Upload实现初始化分块上传,成功执行此请求后将返回 UploadId,用于后续的 Upload Part 请求。Upload Part实现将对象按照分块的方式上传到 COS。最多支持10000分块,每个分块大小为1MB - 5GB,最后一个分块可以小于1MB。Upload Part -Copy实现将

2022-03-22 18:39:22 2525 4

原创 JAVA IO流

JAVA IO流背景为什么需要IO流什么是流 streamIO流的分类类图结构为什么字符流需要 flush,而字节流不需要背景本人在实践COS分块上传是发现需要使用到IO流,但是对流如何分段获取有疑惑,所以系统学习下IO流。为什么需要IO流当我们程序需要从硬盘,网络,或其他程序读取或者写入数据时,数据传输量可能很大,但是我们的内存和带宽有限,无法一次新读取或者写入大量数据流可以帮助我们实现分批逐步传输数据下载一个大文件是可以在内存中划分一个缓冲区,一点一点下载到自己的内存,等缓存区满了再写到

2022-03-21 11:37:05 337

原创 高级信息项目管理师规划

为什么学习高项扩大格局,不把自己局限在开发的领域温故知新,将所学和工作联系起来,并结合实际实践,提升个人能力锻炼自学,自学能力的强弱对生活,工作是否顺利有很大影响,所以需要不断锻炼自己的学习能力和完善自己的学习方式选择自由,互联网时代孕育机遇,也暗藏无奈,想要让自己的路越走越宽,选择也越来越多升职加薪,世人慌慌张张,不过为了碎银几两,偏偏这碎银几两,可解世间万种惆怅。我要大把大把的Money!高项计划考试时间2022年5月28日学习方法费曼学习法 思维导图 三遍读书法资料

2022-03-20 19:07:04 384 3

原创 注解、元注解、自定义注解的原理

文章目录前言叙述一、基本概述二、原理三、元注解定义注解格式:小结前言叙述一、基本概述Annontation是Java5开始引入的新特征。中文名称一般叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。更通俗的意思是为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,...

2019-10-13 13:13:33 226 1

原创 Java基础---反射

文章目录前言叙述是什么相关的类Java中的Class三种获取方式注意小结前言叙述是什么是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制相关的类    Java中的Class三种获取方式利用对象...

2019-09-27 11:01:37 141

原创 数组、集合、泛型

文章目录前言叙述数组是什么?为什么有?特点?集合是什么?为什么有?特点?泛型是什么?为什么有?特点?衍生是什么?为什么有?特点?小结前言叙述数组是什么?为什么有?特点?    集合是什么?为什么有?特点?泛型是什么?为什么有?特点?衍生是什么?为什么有?特点?黑色背景 小结感谢您的阅读~~...

2019-09-27 10:26:53 154 1

原创 抽象类和接口

文章目录前言叙述抽象类是什么特点接口是什么特点 接口和抽象类的区别 抽象类和接口的相同点抽象类和接口的使用场景 衍生小结前言叙述抽象类是什么what :抽象多个具体类特点抽象-方法只包含方法声明抽象类不能实例化有抽象方法,类一定是抽象类具体派生类必须覆盖基类抽象方法抽象派生类可以不覆盖jdk1.8后可以包含静态方法   &nbsp...

2019-09-27 10:22:54 133

原创 封装、继承、多态

文章目录前言叙述封装是什么?为什么有?封装的原则?继承是什么?为什么需要继承? 继承类型 继承特性 构造器多态是什么作用是什么 多态的三个条件实现多态方式子类转换成父类时的规则:多态的好处多态实现的原理小结前言叙述封装是什么?每个对象都包含他能进行操作的所有信息为什么有?良好的封装能减少耦合类内部可以自由修改类具有清晰的接口封装的原则?关于对象封装的原则:内聚:内...

2019-09-27 10:11:42 145

原创 方法重载和方法重写

文章目录前言叙述方法重载是什么特点方法重写是什么作用是什么小结前言叙述方法重载是什么java中的方法重载发生在同一个类里面两个或者多个方法的方法名相同但是参数不同的情况。特点(1)方法重载是让类以统一的方法处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数(类型)。重载Override是一个类中多态性的一种表现。(2)java的方法重载,就是在类中可以创建多个...

2019-09-27 09:46:00 120

原创 修饰符、属性、构造方法

文章目录前言叙述修饰符Java有哪些修饰符?他们有什么区别属性属性和字段的区别构造方法是什么?什么时候调用?特点小结前言叙述修饰符Java有哪些修饰符?public protected default private他们有什么区别default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。private : 在同一类内...

2019-09-27 09:37:16 103

原创 类与类图,以及类间关系

文章目录前言叙述类与类图如何表示类图间关系关联关系1、双向关联2、单项关联3、自关联4、多重关联5、聚合关系6、组合关系依赖关系泛化关系接口与实现关系前言叙述类与类图二者分别是什么?类封装了数据和行为,是具有相同属性,操作,关系的对象集合的总称。类图是描述系统的静态结构,用来描述不同类以及他们之间的关系类图的种类?实体类、控制类、边界类如何表示类的UML表示类使用包含类名...

2019-09-27 09:16:31 264 1

原创 知道做到

文章目录前言叙述为什么要知道做到问题驱动式读书过程中的问题如何知道做到无法知道做到的原因信息量超负载如何解决消极性过滤如何解决缺少跟进如何解决小结前言叙述为什么要知道做到问题驱动式读书为什么要知道做到?为什么很多人知道做不到?知道做不到的后果是什么?如何才能知道做到?知道做到能解决生活学习中的哪些问题?过程中的问题    如何知...

2019-09-13 16:00:04 172 1

转载 如何快速阅读

why传统阅读模式图:眼睛——视觉中枢——语言中枢——听觉中枢——理解记忆快速阅读模式图:眼睛——视觉中枢——理解记忆从阅读方式来比较。我们一般可以把阅读分为两大类:一是传统阅读法(俗称为慢读),即按照字、词等少数几个单字为单位逐个阅读;二是快速阅读或称“速读”。它是将被阅读的文字以组或行、块为单位进行大小不一的整体阅读,而“组”或“块”内所包含的往往可能是词组、半行、一行、多行甚至整...

2019-09-10 12:33:34 1604

原创 10年职业规划

自我认知我兴趣广泛,接受新事物的能力也较强。我活泼开朗,很积极向上,非常乐观,有着平和的心态,要求上进,对于好的一定会去争取,而且一定全力去做,迎难而上。喜欢挑战。能团结周围的人,和他们和睦相处,我喜欢旅游做饭 ,看书,看电影,跑步,爬山等。身体是革命的本钱,锻炼好身体才能好好工作。我是一个很有集体荣誉感的人,只要对集体有利的事情,我会很乐意去做,而且我工作负责,认真。对于未来,我觉得...

2019-07-03 12:16:35 278 2

原创 redis系列(二)

redis系列(二)

2019-06-30 23:18:37 107 2

原创 Redis 系列(一)

Redis 系列(一)

2019-06-30 23:18:02 140 1

原创 高度决定视野,角度决定方向!

无数的牛人成长经历都透漏这样一个定律: 选择: 这个公式里,选择是三次幂,这说明选择的重要性。人的一生都是在选择中度过。在每个重要的关头,最头痛的也是选择,一个正确的选择可以使人飞黄腾达,生活在幸福之中,一个错误的选择会害人不浅,甚至断送掉一生的前途。米老师在我们上课的第一天就说过一句话,选择大于努力! 方法: 做任何...

2019-06-25 09:40:02 878 7

原创 Mybatis 学习(一)

文章目录概述Mybatis的历史及发展来源为什么使用MybatisJDBC七步骤Mybatis的优化 (1)连接获取和释放 (2)SQL统一存取 (3)传入参数映射和动态SQL (4)结果映射和结果缓存 (5)解决重复SQL语句问题小结概述Mybatis 是一款持久层框架。支持定制sql,存储过程以及高级映射,而且它避免了JDBC代码和手动设置参数,可以用XML或注解来配置和映射接口,jav...

2019-06-17 12:17:46 168 3

原创 Mybatis学习(二)

Mybatis学习(二)

2019-06-09 21:57:55 120 1

原创 Mybatis_plus学习(二)

Mybatis_plus学习(二)

2019-06-09 21:57:35 107 1

原创 Mybatis_plus学习(一)

Mybatis_plus学习(一)

2019-06-09 21:57:17 113 2

原创 服务器简介

文章目录前言常用的web服务器软件tomcat的目录服务器前言打开浏览器访问网址,次吃会向网址所在的服务器发送请求,服务器获得请求后会将请求的数据响应发送给发送请求的浏览器,服务器主要的额作用之一就是在网络环境中提供外界可以访问的资源,在服务器中提供对外界访问的资源一般分为两种静态资源html css js等,提供给客户端浏览器的数据内容不会改变动态资源servlet ...

2019-05-17 19:35:07 278 4

空空如也

空空如也

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

TA关注的人

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