自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jym的博客

积极向上的小码农

  • 博客(165)
  • 资源 (13)
  • 收藏
  • 关注

原创 并发编程---并发安全

类的线程安全定义如果多线程下使用这个类,不管多线程如何使用和调度这个类,这个类总是表示出正确的行为,这个类就是线程安全的。类的线程安全表现为:操作的原子性内存的可见性不做正确的同步,在多个线程之间共享状态的时候,就会出现线程不安全。如何能做到类的线程安全栈封闭所有的变量都是在方法内部声明的,这些变量都处于栈封闭状态。无状态没有任何成员变量的类,就叫无状态的类。让类不可变让状态不可变,两种方式:加final关键字,对于一个类,所有的成员变量应该是私有的,同样的只要有可能,所有的

2020-08-25 13:30:58 249

原创 记录springboot 项目 freemarker找不到问题

问题记录:别人传的新项目,或者从远程仓库拉取的项目,项目启动成功,但是访问浏览器报错, freemarker找不到。猜想原因:拉取项目的时候,.idea文件也一起带过来了,导致里面的某些信息不是自己运行的环境。解决办法:设置启动参数访问成功!!!...

2020-07-24 09:39:13 1453

原创 并发编程 --- 线程池

为什么要用线程池降低资源的消耗。降低线程创建和销毁的资源消耗;提高响应速度:线程的创建时间为T1,执行时间T2,销毁时间T3,免去T1和T3的时间提高线程的可管理性。线程池的创建ThreadPoolExecutor,jdk所有线程池实现的父类。各个参数的含义corePoolSize :线程池中核心线程数,< corePoolSize ,就会创建新线程,= corePoolSize ,这个任务就会保存到BlockingQueue,如果调用prestartAllCoreThreads()

2020-07-15 19:06:59 267

原创 并发编程--- 并发容器(除ConcurrentHashMap )与阻塞队列

ConcurrentSkipListMap 和 ConcurrentSkipListSet相当于 TreeMap 和 TreeSet 有序的容器,这两种容器的并发版本SkipList(跳表):以空间换时间,在原链表的基础上形成多层索引,但是某个节点在插入时,是否成为索引,随机决定,所以跳表又称为概率数据结构。ConcurrentLinkedQueueLinkedList的并发版本。无界非阻塞队列,底层是个链表,遵循先进先出原则。add,offer将元素插入到尾部,peek(拿头部的数据,但是不

2020-07-13 10:59:47 376

原创 并发编程--- ConcurrentHashMap 简单梳理

ConcurrentHashMap为什么多线程环境下使用 ConcurrentHashMap :Hashmap :在多线程环境下,会导致HashMap的Entry链表形成环形数据结构,一旦形成环形的数据结构,Entry 链表 next 节点永远不为空,就会产生死循环获取 Entry。HashTable : HashTable使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法,其他线程也访问HashTabl

2020-07-13 10:36:21 730

原创 并发编程---浅析AQS

LockSupportpark开头的方法:负责阻塞线程。unpark方法:负责唤醒线程。AbstractQueuedSynchronizer (AQS)分析:AQS中使用的设计模式:模板模式。模板方法:独占式获取:accquireacquireInterruptiblytryAcquireNanos共享式获取acquireSharedacquireSharedInterruptiblytryAcquireSharedNanos独占式释放锁release共享式释放锁

2020-07-03 11:07:19 2682

原创 并发编程---显示锁Lock

lock (显示锁)Lock是一个接口,提供了无条件的、可轮询的、定时的、可中断的锁获取操作,所有的加锁和解锁操作方法都是显示的,因而称为显示锁。Lock接口和核心方法lock,unlock,trylockLock 使用的标准范式package com.jym.concurrent.lock;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class

2020-07-03 10:52:17 198

原创 并发编程---- CAS与原子操作类

CAS什么是CAS:Compare and Swap,即比较再交换。CAS原理:三个运算符:一个内存地址V,一个期望的值A,一个新值B。基本思路:如果地址V上的值和期望的值A相等,就给地址V赋给新值B,如果不是,不做任何操作。在多线程的环境下,对一个变量进行写操作,可以在循环里不断的进行CAS操作。CAS产生的问题:ABA 问题:并发1(上):获取出数据的初始值是A,后续计划实施CAS乐观锁,期望数据仍是A的时候,修改才能成功。并发2:将数据修改成B。并发3:将数据修改回A。并

2020-07-03 09:55:15 167

原创 并发编程----Callable、Future和FutureTask

FutureTask 常用的 Apiget():获取任务的返回结果,如果任务没执行完,会一直阻塞等待任务执行完毕。isDone :结束,正常还是异常结束,或者自己取消,返回true;isCancelled:任务完成前被取消,返回true;cancel(boolean):任务还没开始,返回false任务已经启动,cancel(true),中断正在运行的任务,中断成功,返回true,cancel(false),不会去中断已经运行的任务。任务已经结束,返回false。代码实例:packag.

2020-06-23 15:31:59 190

原创 并发编程工具类 ---- CountDownLatch 与 CyclicBarrier 的用法与区别

CountDownLatch作用:是一组线程等待其他的线程完成工作以后在执行,加强版join。await用来等待,countDown负责计数器的减 1.代码演示:package com.jym.thread;import java.util.concurrent.CountDownLatch;/** * @program: jym-concurrent * @description: 定义一个阈值为6的 CountDownLatch ,启动5个线程来 countdown,来开启业务线程的

2020-06-12 11:18:37 211

原创 并发编程---- Fork-Join框架

什么是分而治之?规模为N的问题,N<阈值,直接解决,N>阈值,将N分解为K个小规模子问题,子问题互相对立,与原问题形式相同,将子问题的解合并得到原问题的解。工作密取当有线程子任务结束后,该线程就会从子任务的队列中密取最后的任务继续执行。Fork/Join使用的标准范式Fork/Join的同步用法(invoke)需求:计算一个数组中所有元素的和。package com.jym.thread.forkJoin;import java.util.Random;/** * @

2020-06-12 11:12:50 179 1

原创 并发编程---- 线程的优先级,协作,通信

线程的生命周期:yield 方法 :将线程从运行转到可运行状态。直接调用run方法,相当于 main 线程的调用调用 start 方法,相当于新建的那个线程调用了 run 方法。线程的优先级:线程的优先级为 1-10 ,如果不设置 默认为5 通过setPriority 方法来设置。1为最高优先级。守护线程和主线程共死的,主线程退出了 守护线程也会退出。所以守护线程中的finally代码块 不能保证一定执行。线程间的共享synchronized 内置锁: 保证只能有一个线程 处于同步块

2020-06-12 11:02:58 164

原创 并发编程---- 如何让线程安全的停止工作

常用让线程停止工作的 APIstop() :终结一个线程的时候,无法保证资源释放。suspend() :线程不会释放资源。其他线程拿不到资源,容易出现死锁问题。interrupt() :中断一个线程。并不是强行关闭这个线程,打个招呼。中断标志位 置为 trueisInterrupted() :判断当前线程是否处于中断状态 判读中断标志位 是否为 truestatic 的 isInterrupted()方法 :判断当前线程是否处于中断状态,会把中断标志位 改为 false继承Thread 使用

2020-06-12 10:43:22 240

原创 并发编程----基本概念以及启动线程的三种方式

基本概念1.CPU的核心数 和线程数的关系核心数 :线程数 = 1:1 ; 超线程技术 1:22.CPU 时间片轮转机制RR调度:给每一个进程分配一个时间段,这个时间段被称为该进程的时间片,进程允许运行的时间。过了这段时间片,会上下文切换。3.什么是进程和线程进程:程序运行资源分配的最小单位,一个进程内部可以有多个线程,多个线程会共享这个进程的资源,进程与进程之间相互独立线程:cpu 调度的最小单位,本身不能独立运行,要依赖于进程。4.澄清并行和并发并行:同一时间段,处理事情的能力并发

2020-06-12 10:33:31 152

原创 Mysql优化

查询优化尽量全值匹配如果是联合索引,尽量在联合索引中的字段都能用到。最佳左前缀法则(让索引不失效的一个法则)如果索引了过多列,要遵守最左前缀法则。指的是查询从索引的最左前列并且不跳过索引中的列。当把最左边的索引 code 去掉 就留name 后 索引失效不要在索引上做任何操作不在索引列上做任何操作(计算,函数,(自动 or 手动)类型转换),会导致索引失效而全表扫描。范围条件放最后存储引擎不能使用索引中范围条件右边的列。如果使用了范围查询,会导致范围查询以后的索引失效。覆盖索引要

2020-05-19 09:18:58 189

原创 Mysql 执行计划

当客户端发送给mysql 服务器一条查询语句后,经过sql的优化器,会产生一个执行计划。执行计划使用 EXPLAIN 关键字可以模拟优化器执行 SQL 查询语句,从而知道 MYSQL 是如何处理你的 sql 语句的。分析你的查询语句或是表结构的性能瓶颈。语法: Explain + sql执行计划的作用表的读取顺序数据读取操作的操作类型哪些索引可以使用哪些索引被实际使用表之间的引用每张表有多少行被优化器查执行计划包含的信息id:获取 select 子句的操作表顺序,有几种情况

2020-05-19 09:03:37 7006 1

原创 Mysql 索引 简介

什么是索引?索引是帮助 Mysql 高效获取数据的数据结构索引的类型:哈希索引 :时间复杂度o1 哈希索引是无序的 不能用来排序和范围查询,并且不允许表里有太多重复值出现,避免哈希冲突。B+Tree:扫库,扫表能力更强,排序能力强,磁盘读写能力强,效率更加稳定。Innodb 只有主键是聚集索引(唯一索引),如果表里没有主键,会选择第一个没有null值唯一索引当作聚集索引,如果没有符合条件的,就会选择rowid。当使用辅助索引来查找数据的时候,会先从辅助索引中找到符合条件的数据的id,然后在从聚合

2020-05-19 08:29:16 152

原创 Mysql 慢查询

慢查询的定义及作用慢查询日志,就是查询慢的日志,是指mysql 记录所有执行超过 long_query_time 参数设定的时间阈值的sql 语句的日志,该日志能为 SQL 语句的优化带来很好的帮助。默认情况下是关闭的,要使用慢查询日志,首先需要开启日志功能。慢查询的配置常用配置:slow_query_log 启动停止慢查询日志set GLOBAL slow_query_log =1slow_query_log_file 指定慢查询日志的存储路径及文件(默认和数据文件放一起)lo

2020-05-15 11:34:56 243

原创 Mysql 业务(表)设计

Mysql 表的设计需要从两个方面进行:逻辑设计(范式设计,反范式设计)物理设计(命名规范,存储引擎选择,数据类型选择)重要性:如果表设计的不好,sql语句再怎么优化也没用,主要避免多表join,大数据量用join可能会急剧变慢,因为笛卡尔积的缘故逻辑设计:范式设计:数据库设计的第一大范式:数据表中的所有字段都只具有单一属性。单一属性的列是由基本数据类型所构成的。设计出来的表都是简单的二维表。数据库设计的第二大范式:要求表中只具有一个业务主键,也就是说符合第二范式的表并不能存

2020-05-15 11:20:11 1198

原创 Mysql 事务说明

事务的简介数据库是所有系统的核心模块,它存储在磁盘中,在逻辑上,以数据的形式呈现给用户,支持增删改查(CRUD)并在过程中保证数据的正确,可靠。而做到这一点的,就是事务(Transaction)。事务是数据库处理的最小单位,如果再细粒度划分,就会出现问题事务的四个特性(ACID):原子性(Atomicity):要么全部完成,要么全部取消,当对数据库进行操作时,根据业务逻辑,我们会操作个表中的数据,当一步操作出错时,会让该事务中的所有操作都回滚,数据还是未操作时的样子。举例: 当A向B转账时,具体

2020-05-12 09:32:42 156

原创 Mysql 锁简单梳理

锁的概念:锁是计算机协调多个线程或进程并发访问同一资源的机制。在数据库中,数据也是一种多个用户访问的资源,如何保证数据并发的一致性,有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。锁对数据库而言非常重要,也更加复杂Mysql 中的锁表级锁:开销小,加锁快;不会出现死锁,锁粒度大,发生锁冲突高,并发度最低行级锁:开销大,加锁慢,会出现死锁,粒度小,支持高并发,发生锁冲突低页面锁:开销和加锁事件介于 表级锁与行级锁之间,会出现死锁,锁表粒度介于锁表与锁行之间,

2020-05-12 09:15:12 158

原创 Mysql 逻辑架构 与存储引擎

架构图:Mysql 逻辑架构- 连接层当 Mysql 启动(Mysql 服务器就是一个线程),等待客户端连接,每一个客户连接请求,服务器都会创建一个线程来处理(如果是一个线程池的话,就分配一个空闲线程来处理),每个线程独立,拥有各自的处理空间,但是如果这个请求只是查询,就没关系,但是若是修改同一块内存,就会出现数据同步的问题。连接到服务器,服务器会对用户名,密码等进行验证,一旦连接成功,还...

2020-05-08 13:26:43 309

原创 Mysql 优化概述之 MysqlSlap 压测

优化的衡量指标:QPS:Queries Per Seconds (每秒查询的处理量) 同时适用于 InnoDB 和 MyISAM 引擎。QPS = QUESTIONS/UPTIME (查询的次数)/ 服务器的启动时间TPS:Transactions Per Seconds (每秒传输的事务处理个数),这是指服务器每秒处理的事务数,支持事务的存储引擎如 In...

2020-05-08 11:37:41 317

原创 Activemq 高级特性

异步投递:Activemq 支持同步,异步两种发送的模式将消息发送到 broker ,模式的选择对发送延时有巨大的影响。producer 能达到怎样的产出率主要受发送延时的影响,使用异步发送可以显著的提高发送的性能。Activemq 默认使用异步的发送模式:除非明确指定使用同步发送的方式或者未使用事务的前提下发送持久化的消息,这两种情况都是同步发送的。异步发送:它可以最大化 produc...

2020-05-07 09:16:08 177

原创 Activemq 消息的存储和持久化

Activemq 的消息存储持久化:开启事务设置持久设置签收方式可持久化什么是可持久化:为了避免意外宕机丢失信息,需要做到重启后可以恢复消息队列。消息系统一般都会采用持久化机制。Activemq 的消息持久化机制有 JDBC AMQ KahaDB 和 LevelDB ,无论使用哪种持久化方式,消息的存储逻辑是一致的。就是发送者消息发送后,消息中心首先将消息存储在本地数据文件,内存...

2020-05-07 08:38:25 329

原创 Activemq 使用nio传输协议

默认协议:Activemq默认为TCP 进行socket 网络连接。打开activemq.xml文件,可以看到协议描述TCP默认的协议,性能相对可以。NIO基于TCP协议之上,进行了扩展和优化,具有更好的扩展性UDP性能比TCP更好,但是不具有可靠性SSL安全连接HTTP(S)基于HTTP 或 HTTPSVMVM 本身不是协议...

2020-05-06 15:44:38 631

原创 springboot 整合 activemq

activemq 消息生产方:1.新建 boot 工程 导入依赖: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta...

2020-05-06 15:12:40 99

原创 spring 整合 activemq

使用spring框架 整合 activemq1.新建maven工程,添加pom依赖: <dependencies> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-al...

2020-05-06 14:58:57 100

原创 ActiveMQ 之Jms 可靠性 与 broker

MQ宕机了,消息丢失情况如何?消息持久性:消息通过设置持久 setJMSDeliveryMode(DeliveryMode.PERSISTENT)宕机了重启 消息依然存在。Topic jymTopic = session.createTopic(TOPIC_NAME);MessageProducer producer = session.createProducer(jymTopic);...

2020-04-29 15:49:23 223

原创 ActiveMQ jms组成的四大元素 以及常用API

JMSjava message service (java 消息服务是 javaEE中的一个技术)JMS组成的四大元素JMS provider : 实现JMS接口和规范的消息中间件,也就是我们的MQ服务器JMS producer :消息生产者,创建和发送JMS消息的客户端应用JMS consumer :消息消费者,接收和处理JMS消息的客户端应用JMS me...

2020-04-29 15:27:17 208

原创 ActiveMQ 使用主题发布消息与两种订阅模式的差异

ActiveMQ 使用主题发布消息:说明:生产者将消息发布到topic中,每个消息可以有多个消费者,属于1:N的关系生产者和消费者有时间关联性,订阅某一个主题的消费者,只能消费他订阅之后的消息生产者生产消息时,topic 不保存消息它是无状态不落地,假如无人订阅就去生产,那就是一条废消息,所以,一般是先启动消费者,在启动生产者1.启动 ActiveMQ 服务端2.创建工程 添加po...

2020-04-29 10:03:28 952

原创 ActiveMQ 搭建消息消费者

使用 receive方法 消费消息public class JmsConsumer { public static final String ACTIVEMQ_URL = "tcp://localhost:61616"; public static final String QUEUE_NAME = "jymQueue"; public static void mai...

2020-04-27 10:51:06 315

原创 ActiveMQ 的基本概念与消息生产者的搭建

为什么要引入 MQ?举个例子:去银行办理业务,有很多人去银行窗口办理业务,都在窗口排队,而且有的人耗时长,有的人耗时短,这样业务人员压力会比较大,并且办理业务的人也只能排队,无法干其他事情,浪费时间。但是如果有了大堂经理,询问办理业务的人办理的业务,排队叫号,到谁了谁就去窗口办理业务。办理业务的人在等待期间,可以去上厕所,或者出去转转。就减轻了彼此的压力。上个例子中,大堂经理的作用就相当于M...

2020-04-27 10:14:21 254

原创 SpringCloud入门(三十二) ------Seata 解决分布式事务

微服务下的分布式事务问题:比如有三个微服务,订单服务调用库存服务,库存减少库存后,需要调用支付服务,从用户余额里减少余额。但是如果如果库存出现问题,报错了,或者扣除余额的时候出错了,订单依然出库了,就会出现很大的问题。什么是 SeataSeata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模...

2020-04-23 09:53:46 1654 1

原创 SpringCloud入门(三十一) ------Sentinel 之流控,降级与热点与配置持久化

上一节说了sentinel dashboard 的搭建与集成,这节说说它都能干什么?sentinel dashboard 流控作用:限制某段时间内的访问数量,防止服务器的压力过大具体配置:上图的流控规则为:1秒内只能访问一次该资源,否则快速失败,直接提示失败。流控模式:直接:配置的请求违规操作后,再次访问,给出错误提示。关联:当A资源请求违规后,配置的B操作将会提示失败。比如当...

2020-04-17 10:42:49 1002

原创 SpringCloud入门(三十) ------微服务集成 Sentinel

Sentinel 基本定义:随着微服务的流行,服务和服务之间的稳定性变得越来越重要。sentinel 以流量为切入点,从流量控制,熔断降级,系统负载保护等多个维度保护服务的稳定性。Sentinel 具有以下特性:丰富的应用场景: Sentinel 承接了阿里巴巴近10年的双十一大促流量的核心场景,例如面纱,消息削峰填谷,集群流量控制,实时熔断下游不可用应用等。完备的实时监控: Senti...

2020-04-16 11:44:26 512

原创 SpringCloud入门(二十九) ------ Nacos 多配置中心管理

多配置中心管理:当有多个项目,或者多个环境时,每个配置文件都放在相同的空间内会很混乱,并且难以分辨,nacos图形化管理页面 提供了分组,以及分工作空间的功能。分命令空间配置新建命名空间,并在bootstrap.yml文件中新增配置:namespace: 46b07c0a-3310-4e21-af2c-1046932b493b在该命名空间内新增配置即可。分组配置:在配置文件中新...

2020-04-13 13:34:27 363 1

原创 SpringCloud入门(二十八) ------ spring cloud Alibaba Nacos之配置中心

搭建配置中心:pom:父pom管理的版本:<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.1.0.RELE...

2020-04-13 11:47:21 159 1

原创 SpringCloud入门(二十七) ------ spring cloud Alibaba Nacos实现服务注册与发现

spring cloud Alibaba2018年10月31日,spring cloud Alibaba 正式入驻spring cloud 官方孵化器,并在Maven中央库发布第一个版本。spring cloud Alibaba 作用:服务限流降级:默认支持 servlet,feign,RestTemplate,Dubbo和Rocket限流降级功能的接入,可以在运行时通过控制台实时修改限流...

2020-04-09 16:50:00 620

原创 SpringCloud入门(二十六) ------ 使用 sleuth 链路监控展现

cloud sleuth在微服务框架中,一个由客户端发起的请求在后台系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现问题都会导致整个请求失败。大概示意图:Trace: 类似于树结构的Span集合,表示一条调用链路,存在唯一标识Span: 表示调用链路来源,通俗的理解span 就是一次请求信息集成sleu...

2020-04-04 21:59:00 260

Xshell+Xftp.zip

Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。

2020-06-23

TranslucentTB

TranslucentTB 是 win10 系统的一款桌面美化工具,可以让任务栏透明化,看起来非常美观。此应用是从微软的应用商城下载。大家可放心使用

2020-06-23

pdman win10 64

用户数据库建模,支持多数据库,多操作系统,内置各种数据库模板。根据数据库方言模板,生成不同的数据库DDL语句。内置代码模板生成JavaBean,并且带中文注释等功能

2020-06-23

typora win10 64

Typora是一款由Abner Lee开发的轻量级Markdown编辑器,适用于OS X、Windows和Linux三种操作系统,是一款免费软件。与其他Markdown编辑器不同的是,Typora没有采用源代码和预览双栏显示的方式,而是采用所见即所得的编辑方式,实现了即时预览的功能,但也可切换至源代码编辑模式

2020-06-23

spring cloud nacos 注册中心

spring cloud nacos的可视化界面,微服务可以注册进nacos,支持CP,AP两种方式。

2020-06-23

nginx-1.16.1.zip

Nginx可以部署在网络上使用FastCGI脚本、SCGI处理程序、WSGI应用服务器或Phusion Passenger模块的动态HTTP内容,并可作为软件负载均衡器。[11] Nginx使用异步事件驱动的方法来处理请求。Nginx的模块化事件驱动架构可以在高负载下提供更可预测的性能。

2020-06-23

git,可连接github,码云等

git是用于Linux内核开发的版本控制工具。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。git最为出色的是它的合并追踪(merge tracing)能力。

2020-06-23

apache-jmeter-5.2.1.zip

apache-jmeter 是apache的一款压力测试工具,能有效的测试出接口的性能,从而提高质量

2020-06-23

consul.zip

虽然Eureka还可以用,但是官网已经发出了停更公告,所以可以使用其他的注册中心(Zookeeper,Consul等)

2020-03-22

zookeeper-3.4.9.zip

虽然Eureka还可以用,但是官网已经发出了停更公告,所以可以使用其他的注册中心(Zookeeper,Consul等)

2020-03-22

zookeeper-3.4.11.zip

dubbo常用的注册中心,可以通过dubbo-admin来管理各个生产者,消费者该版本为window版本,祝大家使用愉快

2020-02-18

protoc3.6.1.zip

Protobuf3.6.1自动生成代码的程序,Protobuf 是Google发布的开源项目,全程Google Protocol Buffers,是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化,它很适合做数据存储活RPC数据交换格式

2020-02-12

spring5.1.9.zip

spring5.1.9版本 jar包,与jdk 1.8 以上的版本兼容,祝大家使用愉快~~~

2019-08-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除