摘要: 一、List接口 继承于Collection接口,并且扩展出了自己的方法,是有序集合; List集合中的元素都是与索引有关系的,因此List集合扩展的方法都是与索引有关系的。 例:add(int index, E) 添加元素在所对应的索引位置。 特点:存储有序的、不唯一的数据; 二、list接口的实 阅读全文
posted @ 2021-05-08 17:20 于科 阅读(278) 评论(0) 推荐(0)
摘要: 一、业务场景介绍 假设咱们现在开发一个电商网站,要实现支付订单的功能,流程如下: 创建一个订单后,如果用户立刻支付了这个订单,我们需要将订单状态更新为“已支付” 扣减相应的商品库存 通知仓储中心,进行发货 给用户的这次购物增加相应的积分 针对上述流程,我们需要有订单服务、库存服务、仓储服务、积分服务 阅读全文
posted @ 2021-04-30 17:10 于科 阅读(266) 评论(0) 推荐(0)
摘要: 工厂方法模式:工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。(在基类中定义创建对象的一个接口,让子类决定实例化哪个类。工厂方法让一个类的实例化延迟到子类中进行) 为什么要用工厂模式: 1)解耦 :把对象的创建和使用的过程分开 2)降低代码重复 阅读全文
posted @ 2021-04-21 17:14 于科 阅读(786) 评论(0) 推荐(0)
摘要: 1、Java发送和接收Queue的消息 1.1 创建Maven工程01-rabbitmq-send-java 添加Maven依赖 <dependencies> <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</ 阅读全文
posted @ 2021-04-15 14:25 于科 阅读(895) 评论(0) 推荐(0)
摘要: 1、安装RabbitMQ 1.1 安装前的准备 一般来说安装 RabbitMQ 之前要安装 Erlang ,可以去Erlang官网下载。接着去RabbitMQ官网下载安装包,之后解压缩即可。 Erlang官方下载地址:https://www.erlang.org/downloads RabbitMQ 阅读全文
posted @ 2021-04-15 11:08 于科 阅读(207) 评论(0) 推荐(0)
摘要: 一、RabbitMQ基本概念 1.1 Broker Broker:简单来说就是消息队列服务器实体 1.2 Producer Producer: 消息生产者,就是投递消息的程序 1.3 Consumer Consumer: 消息消费者,就是接受消息的程序 1.4 ConnectionFactory、C 阅读全文
posted @ 2021-04-14 11:36 于科 阅读(234) 评论(0) 推荐(0)
摘要: 分几种情况: 1)其他方法前是否加了synchronized关键字,如果没加,则能。 2)如果这个方法内部调用了wait,则可以进入其他synchronized方法。 3)如果其他个方法都加了synchronized关键字,并且内部没有调用wait,则不能。 4)如果其他方法是static,它用的同 阅读全文
posted @ 2021-04-12 14:00 于科 阅读(134) 评论(0) 推荐(0)
摘要: 启动一个线程是调用start()方法,使线程就绪状态,以后可以被调度为运行状态,一个线程必须关联一些具体的执行代码,run()方法是该线程所关联的执行代码。 阅读全文
posted @ 2021-04-12 13:54 于科 阅读(314) 评论(0) 推荐(0)
摘要: sleep就是正在执行的线程主动让出cpu,cpu去执行其他线程,在sleep指定的时间过后,cpu才会回到这个线程上继续往下执行,如果当前线程进入了同步锁,sleep方法并不会释放锁,即使当前线程使用sleep方法让出了cpu,但其他被同步锁挡住了的线程也无法得到执行。 publicclass M 阅读全文
posted @ 2021-04-12 13:53 于科 阅读(158) 评论(0) 推荐(0)
摘要: 如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。 当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有 阅读全文
posted @ 2021-04-12 13:44 于科 阅读(151) 评论(0) 推荐(0)