全栈开发那些事

全栈开发那些事

最新文章

java中的日期类

一、日期类 在程序的开发中我们经常会遇到日期类型的操作,Java对日期类型的操作提供了很好的支持。在最初的版本下,java.lang包中的System.currentTimeMillis();可以获取当前时间与协调时间(UTC)1970年1月1日午夜之间的时间差(以毫秒为单位测量)。我们往往通过调用
16
0
0
2024-06-25

Object类

1、Object类 java.lang.Object类是类层次结构的根类,每个类(除了Object类本身)都使用Object类作为超类。一个类如果没有显示声明继承另一个类,则相当于默认继承了Object类。换句话说,Object类的变量可以接收任意类型的对象。Java规定Object[]可以接收任意
11
0
0
2024-06-25
异常和异常处理

异常和异常处理

1、异常体系结构 1.1 什么是异常? Java将程序执行过程中发生的不正常情况成为异常。Java使用统一的异常机制来提供一致的错误报告模型,从而使程序更加健壮。 编程的错误分为语法错误、逻辑错误、异常三种,其中语法错误和逻辑错误不属于异常。因为如果发生语法错误,Java程序根本无法运行;而如果发生
4
0
0
2024-06-25

java中的抽象类与抽象方法

1、设计理念 父类要体现所有子类的共同特征,在设计某些方法(行为特征或功能)时,我们发现父类中无法给出合理的具体实现,而应该交由子类来实现,那么这样的方法就应该设计为抽象方法,而包含抽象方法的类就必须为抽象类。 从另一个角度说,当父类表现为更通用的概念类,以至于创建它的实例对象没有实际意义,那么这样
8
0
0
2024-06-25
分布式锁+AOP实现缓存

分布式锁+AOP实现缓存

1、分布式锁+AOP实现思想 随着业务中缓存及分布式锁的加入,业务代码变的复杂起来,除了需要考虑业务逻辑本身,还要考虑缓存及分布式锁的问题,增加了程序员的工作量及开发难度。而缓存的玩法套路特别类似于事务,而声明式事务就是用了aop的思想实现的。 以 @Transactional 注解为植入点的切点,
分布式锁

分布式锁

1、分布式锁 这里是在我的一个分布式项目中演示的,我们只关注分布式锁相关的代码即可。 1.1 本地锁的局限性 我们在Java中学习过了synchronized及lock锁,这些锁都是本地锁,我们通过一个案例演示本地锁的问题。 我们通过并发操作对一个redis中的值进行自增操作。 1.1.1 测试代码
6
0
0
2024-06-25
布隆过滤器

布隆过滤器

1、布隆过滤器原理 1.1 什么是布隆过滤器 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。 主
22
0
0
2024-06-25
CompletableFuture异步编排

CompletableFuture异步编排

1、CompletableFuture异步编排 1.1 为什么需要异步编排 问题:查询商品详情页的逻辑非常复杂,数据的获取都需要远程调用,必然需要花费更多的时间。 目前我业务中商品详情页包含如下7个方法: 获取sku的基本详情和图片列表 获取实时价格 获取三级分类 获取销售属性和选中状态 获取商品切
18
0
0
2024-06-25
一文看懂RabbitMQ

一文看懂RabbitMQ

1、MQ引言 1.1 什么是MQ MQ(Message Quene) : 翻译为消息队列,通过典型的 生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现系统间解耦。别名为 消息中
35
0
0
2024-06-25
ES聚合分页

ES聚合分页

聚合分页 ES支持同时返回查询结果和聚合结果,前面的博客在介绍聚合查询时,查询结果和聚合结果各自封装在不同的子句中。但有时我们希望聚合的结果按照每组选出前N个文档的方式进行呈现,最常见的一个场景就是电商搜索,如搜索苹果手机6S,搜索结果应该展示手机6S型号中的一款手机即可,而不论该型号手机的颜色有多
12
0
0
2024-06-25