java
文章平均质量分 69
拾 -.-
这个作者很懒,什么都没留下…
展开
-
Optional 干掉空指针常用方式
简介空指针异常是导致Java应用程序失败的最常见原因。为了解决空指针异常更加优雅,Java8 提供了 Optional 类库。Optional实际上是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。代码示例Optional.of()或者Optional.ofNullable():创建Optional对象,差别在于of不允许参数是null,而ofNullable则无限制。// 参数不能是nullOptional o原创 2021-11-21 15:52:44 · 267 阅读 · 0 评论 -
java List根据属性去重,排序
public class demoTest { @Test public void text() { List<UserBean> list=new ArrayList<>(); UserBean userBean=new UserBean(); userBean.setPassword("123456"); userBean.setUsername("张三"); list.ad原创 2021-10-01 13:47:55 · 490 阅读 · 0 评论 -
Spring Security + OAuth2.0
授权服务器授权服务器中有4个端点。说明如下:Authorize Endpoint :授权端点,进行授权。Token Endpoint :令牌端点,经过授权拿到对应的Token。lntrospection Endpoint :校验端点,校验Token的合法性。Revocation Endpoint :撤销端点,撤销授权。Spring Security Oauth2架构说明如下:用户访问,此时没有Token。Oauth2RestTemplate会报错,这个报错信息会被Oauth2Cli原创 2021-02-17 21:35:10 · 4732 阅读 · 3 评论 -
接口幂等性
任意多次执行所产生的影响均与一次执行的影响相同,这是幂等性的核心特点。其实在我们编程中主要操作就是CURD,其中读取(Retrieve)操作和删除(Delete)操作是天然幂等的,受影响的就是创建(Create)、更新(Update)。一、接口幂等性概念1. 接口调用存在的问题现如今我们的系统大多拆分为分布式SOA,或者微服务,一套系统中包含了多个子系统服务,而一个子系统服务往往会去调用另一个服务,而服务调用服务无非就是使用RPC通信或者restful,既然是通信,那么就有可能在服务器处理完毕后返回结原创 2021-01-03 20:50:49 · 307 阅读 · 0 评论 -
消息队列RabbitMQ-Springboot 整合
一、RMQ相关配置1、引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>2、启动类开启RMQ注解/**使用RabbitMQ1、引入amqp场景;RabbitAutoConfiguration就会自原创 2020-12-28 20:43:20 · 514 阅读 · 0 评论 -
异步-异步与线程池及异步编排
一、异步在业务开发中,有很多异步场景,为了节约时间或或者提高系统的吞吐量,要做一些异步任务,在Java中要实现异步通常都是Thread,开启一个线程Thread,开启线程有四种方式。1、初始化线程池的4中方式1)、继承Thread2)、实现Runnable接口3)、实现Callable接口+FutureTask(可以拿到返回结果,可以处理异常)4)、线程池方式1和方式2:主进程无法获取线程的运算结果。不适合我们当前的场景。方式3:主进程可以获取线程的运算结果,但是不利于控制服务器中的线程资源原创 2020-12-18 20:40:58 · 414 阅读 · 1 评论