![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 66
hhkun0120
这个作者很懒,什么都没留下…
展开
-
TypeNotPresentExceptionProxy异常解决
1、首先理解这个异常是什么:类型不存在异常代理2、大多数想偷懒的人都是百度查询了一圈,肯定解决不掉,解决掉了你到不了这篇文章。3、这的确是spring boot启动过程中报错的。定位源码在Breakpoints里面加入AnnotationParser,打上断点。4、看看是哪个类缺失了。引入相应的jar包就可以了。...原创 2021-09-24 17:11:52 · 6926 阅读 · 0 评论 -
JAVA领域10位大神
在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。下面给大家介绍一些在Java开发史上的名人。James Gosling1983年,Gosling获得了卡尔加里大学的计算机科学学士学位。1990年,他获得了卡内基梅隆大学的计算机科学博士学位,师从Bob Sproull。在攻读博士期间,他自己开发了一款e原创 2021-09-08 10:40:40 · 7300 阅读 · 0 评论 -
CompletableFuture源码解析与应用实战
前言:我们在实际的业务代码中经常会出现这样的场景:业务调用方给我们发送一个指令,希望我们接受到指令后立即返回表示已经收到指令,同时开始进行导出文件的操作,并上传到某个地方去,等这个过程全部结束后,再调用业务提供方的服务进行告知任务已经完成。这样的操作不会阻塞业务调用方的主流程,尤其在移动端的应用场景中,用户体验会比较好。我们这篇文章讨论使用jdk1.8中的一个新类CompletableFuture进行实现。这种业务场景,我们想着大概有如下两种实现方案:1、双方使用mq进行交互,基于生产-消费模.原创 2021-09-06 17:05:33 · 397 阅读 · 0 评论 -
HashMap底层原理分析(一)(基于jdk1.8)
HashMap的数据结构数组+链表+红黑树(JDK1.8增加了红黑树部分)为什么要用这三者的组合?1 只用数组存储,会产生hash冲突(两个不同的元素,通过哈希函数得出的实际存储地址相同),加入链表可以解决这个问题:不同的key映射到了数组的同一位置处,就将其放入单链表中。定位到的数组位置不含链表(当前entry的next指向null),那么查找,添加等操作很快,仅需一次寻址即可;如果定位到的数组包含链表,对于添加操作,其时间复杂度为O(n),首先遍历链表,存在即覆盖,否则新增;原创 2021-07-20 19:48:00 · 112 阅读 · 1 评论 -
oracle 中的or 到底走不走索引,inner join ,left join ,merge join
看具体情况,有的情况下走,有的情况不走。-- 有表t1plcbase 和t1isd ,plcno都是这两个表的索引-- 你觉得下面的or走索引么?select* from t1plcbase x,t1isd y where x.plcno=y.plcno and x.plcno = '2021120106294500019728' or x.plcno = '2021120106294500019728' ;--看执行计划,里面cost 284593 。cost可以理解为成本,值越大成本越原创 2021-07-16 16:01:01 · 4688 阅读 · 1 评论 -
synchronized与异常表
synchronized简介在Java的并发编程中,保证线程同步最为程序员所熟悉的就是synchronized关键字,synchronized关键字最为方便的地方是他不需要显示的管理锁的释放,极大减少了编程出错的概率。在Java1.5及以前的版本中,synchronized并不是同步最好的选择,由于并发时频繁的阻塞和唤醒线程,会浪费许多资源在线程状态的切换上,导致了synchronized的并发效率在某些情况下不如ReentrantLock。在Java1.6的版本中,对synchronized进行了原创 2021-07-14 22:55:15 · 183 阅读 · 0 评论 -
RequestMappingHandlerAdapter源码解析
/** * AbstractHandlerMethodAdapter类的子类,支持@RequestMapping注解* 若要自定义参数和返回值类型的支持可以通过setCustomArgumentResolvers和setCustomReturnValueHandlers两个方法*或者,要重新配置所有参数和返回值类型,*使用setArgumentResolvers和setReturnValueHandlers方法。 */public class RequestMappingHandlerAdap.原创 2021-07-09 17:20:38 · 221 阅读 · 0 评论 -
application/octet-stream是什么意思
octet-stream指任意类型的二进制流数据。octet 八重奏,在这里指八个byte。octet这个词是从拉丁文和希腊文的数字octo派生而来的,意指八。原创 2021-07-09 16:00:43 · 11778 阅读 · 0 评论 -
RequestResponseBodyMethodProcessor类源码解析
近期遇到一个问题,当使用公司内部框架的时候,用@RequestBody Sting 接收来自于postman的请求String入参时,提示Content Type "text/plain ;charset=utf-8" not supported org.springframework.web.HttpMediaTypeNotSupportedException .单独的spring boot框架是没有限制的,所以打算看看源码是如何限制的。这个类用于解析@RequestBody入参和@ResponseB原创 2021-07-09 15:56:55 · 633 阅读 · 0 评论 -
@RequiredArgsConstructor注解
此注解位于lombok包中,是lombok提供的构造器注入方式的一种实现,另外还有@NoArgsConstructor和 @AllArgsConstructor@NoArgsConstructor顾名思义,@NoArgsConstructor 注解是针对无参数的构造函数,它会生成一个无参数的构造方法。@RequiredArgsConstructor@RequiredArgsConstructor 注解是针对标有 @NonNull 注解的变量和 final 变量进行参数的构造方法。@All原创 2021-07-07 14:10:34 · 1597 阅读 · 0 评论 -
gRPC系列(四) 框架如何赋能分布式系统
本系列分为四大部分:gRPC系列(一) 什么是RPC? gRPC系列(二) 如何用Protobuf组织内容 gRPC系列(三) 如何借助HTTP2实现传输 gRPC系列(四)框架如何赋能分布式系统前面的系列,我们已经从技术要素透视了RPC的本质,包括其三大要素: 语义约定、网络传输、编解码。以及gRPC如何通过Protobuf和HTTP2实现这三大要素,并达到更低成本、更高效率、更高性能等终极目标。本文我们将回归到RPC的使用场景: 分布式系统。从分布式系统的角度,来看待gRPC这个框架。.原创 2021-06-27 15:31:09 · 707 阅读 · 1 评论 -
gRPC系列(三) 如何借助HTTP2实现传输
本系列分为四大部分:gRPC系列(一) 什么是RPC? gRPC系列(二) 如何用Protobuf组织内容 gRPC系列(三)如何借助HTTP2实现传输 gRPC系列(四) 框架如何赋能分布式系统回顾在系列二中,我们一起学习了gRPC如何使用Protobuf来组织数据,达到高效编解码、高压缩率的目标。本文我们将更进一步,看看这些数据是如何在网络中被传输的,达到以更低的资源实现更高效传输的目标。内容将围绕以下几点展开:HTTP2 要解决的问题,HTTP1.1的缺点 HTTP2 的原理,它转载 2021-06-27 15:29:53 · 897 阅读 · 0 评论 -
gRPC系列(二) 如何用Protobuf组织内容
本文分为四大部分:gRPC系列(一) 什么是RPC? gRPC系列(二) 如何用Protobuf组织内容 gRPC系列(三) 如何借助HTTP2实现传输 gRPC系列(四) 框架如何赋能分布式系统回顾在系列(一)中,我们从全局鸟瞰了RPC,其有三大特点:具有需要约定调用语法 需要约定内容编码方式 需要网络传输所有RPC框架都是在围绕这几个点不断优化,以更优的方案,达到更低的成本,更快的速度。要想达到这个目的,内容编码方式就是一个非常重要的点,RPC调用的request和respon转载 2021-06-27 15:13:44 · 246 阅读 · 0 评论 -
gRPC系列(一) 什么是RPC?
本系列分为四大部分:gRPC系列(一) 什么是RPC? gRPC系列(二) 如何用Protobuf组织内容 gRPC系列(三) 如何借助HTTP2实现传输 gRPC系列(四) 框架如何赋能分布式系统初步印象RPC的语义是远程过程调用,在一般的印象中,就是将一个服务调用封装在一个本地方法中,让调用者像使用本地方法一样调用服务,对其屏蔽实现细节。而具体的实现是通过调用方和服务方的一套约定,基于TCP长连接进行数据交互达成。上面的解释似云里雾里,仅仅了解到这种程度是远远不够的,还需要更进一步,原创 2021-06-27 15:11:43 · 256 阅读 · 0 评论 -
【系统梳理】微服务的注册和发现中心
今天讲一下服务治理里面一块重要的内容,服务注册发现中心。主要讲三块内容:1、横向列举现存注册发现中心的特性2、每个特性是什么意思3、纵向深入各个注册发现中心的原理原创 2021-06-26 22:44:22 · 183 阅读 · 0 评论 -
【系统梳理】当我们在说服务治理的时候,其实我们说的是什么?
1、WHAT 什么是服务治理?首先要明白什么是治理?治理:整治、统治、管理。服务治理(SOA governance),按照Anne Thomas Manes的定义是:企业为了确保事情顺利完成而实施的过程,包括最佳实践、架构原则、治理规程、规律以及其他决定性的因素。服务治理指的是用来管理SOA的采用和实现的过程。对,我知道,你看这种学术描述的时候跟我一样懵逼。SOA =Service-Oriented Architecture,面向服务的架构。所以通俗意义上说,就是治理面向服务的架构。面向服务的架构有原创 2021-06-26 00:43:55 · 116 阅读 · 0 评论