摘要:1. 下载ealastic search和kibana docker pull elasticsearch:7.6.2 docker pull kibana:7.6.2 2. 预配置 //新建一些文件夹,之后要用作目录挂载 mkdir -p /mydata/elasticsearch/config
阅读全文
摘要:总结 linux drwxr-xr-x意思如下: 第一位表示文件类型。d是目录文件,l是链接文件,-是普通文件,p是管道。 后面的分三个三个来看d/rwx/r-x/r-x,即 rwx 、r-x 、r-x。 第一个: root :r 是可读,w 是可写,x 是可执行,rwx 意思是可读可写可执行。 第
阅读全文
摘要:1.容器未生成,去命令行指定文件查看log docker run --name optz_service_20240907 -it -e COPT_LICENSE_DIR=/opt/copt65 -p 60003:60003 -v /opt/copt65:/opt/copt65 -v /app/op
阅读全文
摘要:一、什么是JSR303 JSR是Java Specification Requests的缩写,意思是Java 规范提案。JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation。 二、为什么要使用JSR303 在通常的情况下,应用程序是分层的,不同的层由不同的开发人员
阅读全文
摘要:1.线程池参数 2.线程池执行流程 2.1 流程图 2.2 线程创建的流程 当任务提交之后,线程池首先会检查当前线程数,如果当前的线程数小于核心线程数(corePoolSize),比如最开始创建的时候线程数为 0,则新建线程并执行任务。当提交的任务不断增加,创建的线程数等于核心线程数(corePoo
阅读全文
摘要:1.拒绝时机 线程池会在以下两种情况下会拒绝新提交的任务 当我们调用 shutdown 等方法关闭线程池的时候,如果此时继续向线程池提交任务,就会被拒绝当任务队列(workQueue)已满,而且线程达到最大线程数(maximumPoolSize),如果再增加任务,也会被拒绝 2.拒绝策略 2.1 核
阅读全文
摘要:一、总结 TestNG与JUnit的相同点 使用annotation,且大部分annotation相同。 都可以进行单元测试(Unit test)。 都是针对Java测试的工具。 TestNG与JUnit的不同点 JUnit只能进行单元测试,不能做“依赖性测试”;TestNG可以进行单元测试,也能做
阅读全文
摘要:答案:不能 线程之间的关系,是“协同式”的,不是“抢占式”的。 yield不会强制让渡CPU, interrupt也不会强制停止线程。 根据源码注释: 调用yield,只是想处理器processor暗示:“当前线程愿意让渡yield时间片”。但是处理器可以自由的忽略这个暗示。 这就说明了:线程之间的
阅读全文
摘要:定义 Bid Price:buyer愿意出的最高价格,去购买这个债券 -- 一般高于现在的价格 Ask Price:seller愿意出的最低价格,去出售这个债券 -- 一般低于现在的价格
阅读全文
摘要:全价交易dirty price 是指债券价格中将应计利息(Accrued interest)包含在内的债券交易方式,其中应计利息Accrued interest是指从上次付息日到购买日债券的利息。应计利息是根据票面利率coupon rate计算出来的。 净价交易是以不含利息的价格进行的交易。这种交易
阅读全文
摘要:一、为什么要有Survivor区 如果没有Survivor,Eden区每进行一次Minor GC,存活的对象就会被送到老年代。老年代很快被填满,触发Major GC。 又因为老年代的内存空间远大于新生代,进行一次Full GC消耗的时间比Minor GC长得多。频发的Full GC消耗的时间是非常可
阅读全文
摘要:总结 1.分布式组件的优先级 1、服务发现、服务路由、服务容错:这是最基本的微服务基础设施。 2、接口框架、API 网关:主要是为了提升开发效率,接口框架是提升内部服务的开发效率,API 网关是为了提升与外部服务对接的效率。 3、自动化部署、自动化测试、配置中心:主要是为了提升测试和运维效率。 4、
阅读全文
摘要:总结 关键点1:Redis 有序集合(sorted set) Redis 有序集合sorted set和集合一样也是 string 类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个 double 类型的分数。Redis 正是通过分数来为集合中的成员进行从小到大的排序。 有序集合的成
阅读全文
摘要:一、关键概念 1.1 元数据 元数据包含以下内容: queue元数据:queue名称、属性 exchange元数据:exchange名称、类型、属性 binding元数据:exchange和queue之间、exchange和exchange之间的绑定关系 vhost元数据:vhost内部的命名空间、
阅读全文
摘要:建立连接Connection。由producer和consumer创建连接,连接到broker的物理节点上。 建立消息Channel。Channel是建立在Connection之上的,一个Connection可以建立多个Channel。producer连接Virtual Host 建立Channel
阅读全文
摘要:一、数据丢失的三个场景 一条消息从生产者发送到消费者消费的过程: 可以看出,一条消息整个过程要经历两次的网络传输: 从生产者发送到RabbitMQ服务器,从RabbitMQ服务器发送到消费者 在消费者未消费前存储在队列(Queue)中 所以可以知道,有三个场景下是会发生消息丢失的: 生产者发送消息到
阅读全文
摘要:vhost本质上是一个mini版的RabbitMQ服务器,拥有自己的队列、绑定、交换器和权限控制; vhost通过在各个实例间提供逻辑上分离,允许你为不同应用程序安全保密地运行数据; vhost是AMQP概念的基础,必须在连接时进行指定,RabbitMQ包含了默认vhost:“/”; 当在Rabbi
阅读全文
摘要:总结 1.异步处理: 用户注册后,发送“注册邮件”和“注册短信”。用户注册完成后,提交任务到 MQ,发送模块并行获取 MQ 中的任务。 2.系统解耦:比如用注册完成,再加一个发送微信通知。只需要新增发送微信消息模块,从 MQ 中读取任务,发送消息即可。无需改动注册模块的代码,这样注册模块与发送模块通
阅读全文
摘要:一、缓存和数据库一致性问题 读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数据库(MySQL)间的数据一致性问题。因为写和读是并发的,没法保证顺序,就会出现缓存和数据库的数据不一致的问题。 无论是“先删除缓存,再写库”,还是“先写MySQL数据
阅读全文
摘要:一、管道概念 1.1 为什么要有redis管道? redis本身处理速度很快,但是如果你连续调用10条redis命令,它们要有10个网络来回,这速度就会降下来了,那么有没有办法把这10条命令一起发送到服务端呢?有,它就是redis管道 1.2 redis管道的本质是什么? redis管道的本质是将要
阅读全文