<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[陈晨_软件五千言]]></title><description><![CDATA[资深Java从业人员，精通企业级应用服务架构，大数据相关架构，RUP、Scrum等过程管理/技术团队管理方法与培训]]></description><link>https://blog.youkuaiyun.com/pluto4596</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pluto4596]]></copyright><item><title><![CDATA[To B 业务主导的环境中软件研发定位]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/113879880</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/113879880</guid><author>pluto4596</author><pubDate>Sat, 20 Feb 2021 11:30:50 +0800</pubDate><description><![CDATA[背景说明
不得不从当前所处的行业 - 共享单车说起。共享单车目前一般分为C端，B端，G端三个方向。
C端面对的是普通用户，主要针对订单、营销、增长、会员体系等。是直接的收入部门，用户量大，逻辑链路相对较短。所以对于系统架构的稳定性，质量要求较高，发现和暴露问题也比较快。
G端面对的是各地政府，主要针对政府相关职能部门的监管需求进行上报、核验、异常处置等。需求的紧急程度往往很高，链路不会特别复杂，个性化需求较强。主要还是接口的适配，系统架构、稳定性、质量要求等相对较低。
B端面对的是内部的业务团队，目前共享单]]></description><category></category></item><item><title><![CDATA[BLM（业务领导模型）]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/111923743</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/111923743</guid><author>pluto4596</author><pubDate>Tue, 29 Dec 2020 15:54:44 +0800</pubDate><description><![CDATA[BLM的概念
BLM（Business Leadership Model）是华为2006年花3000万从IBM引进的模型。
华为导入BLM的初衷是为了统一华为中高层管理者的战略思维方法和框架，并提升这些人的领导力，因为管理者的领导力就是制定战略规划并推动战略执行的过程中逐步培养起来的。华为在使用这套工具的过程中发现这是一套包容性很强的思维框架，可以把之前指定战略规划所使用的各种工具如IPD（集成产品开发）、MM（市场管理）、战略解码、战略地图、平衡计分卡等融入其中，并可以从公司战略到业务单元战略再到各职能体]]></description><category></category></item><item><title><![CDATA[分布式系统中间件整理]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/107905672</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/107905672</guid><author>pluto4596</author><pubDate>Mon, 10 Aug 2020 09:55:19 +0800</pubDate><description><![CDATA[文章目录Redis集群架构（主从模式+哨兵）选主算法集群架构（Redis-Cluster）选主算法负载均衡其他Kafka集群架构选主算法负载均衡RabbitMQ集群架构Federation（联邦交换器）Shovel镜像队列网络分区RocketMQ集群架构Name ServerBrokerProducerConsumerElasticsearch集群架构节点和分片（物理设计）选主算法MongoDB集群架构Replica Sets 复制集选主算法Sharding 分片整合 Replica Sets+Shardi]]></description><category></category></item><item><title><![CDATA[Kafka源码解析与实战]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/107250833</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/107250833</guid><author>pluto4596</author><pubDate>Fri, 10 Jul 2020 14:48:22 +0800</pubDate><description><![CDATA[Kafka的架构
包括Kafka的基本组成，Kafka的拓扑结构以及Kafka的内部通信协议。Kafka内部的通信协议是建立在Kafka的拓扑结构之上，而Kafka的拓扑结构是由Kafka的基本模块所组成的。
AK RELEASE 2.5.0
APRIL 15, 2020
Kafka的基本组成
Kafka集群中生产者将消息发送给以Topic命名的消息队列Queue中，消费者订阅发往以某个Topic命名的消息队列Queue中的消息。其中Kafka集群由若干个Broker组成，Topic由若干个Partitio]]></description><category></category></item><item><title><![CDATA[Redis实战]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/107055689</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/107055689</guid><author>pluto4596</author><pubDate>Wed, 01 Jul 2020 08:51:49 +0800</pubDate><description><![CDATA[文章目录Redis命令字符串命令列表集合散列有序集合Redis事务过期与删除数据安全与性能保障创建快照有以下几种方式：AOF持久化复制（replication，MS）事务分布式锁降低占用内存短结构分片结构打包存储二进制位和字节扩展RedisRedis的Lua脚本编程内存淘汰策略LRU淘汰TTL淘汰随机淘汰：多路复用Redis无中心集群Redis Cluseter 主要组件多个从节点选主故障转移分布式锁version1version2version3
redis 和 memcached 的区别

redis支]]></description><category></category></item><item><title><![CDATA[RabbitMQ实战]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/106756256</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/106756256</guid><author>pluto4596</author><pubDate>Mon, 15 Jun 2020 09:26:45 +0800</pubDate><description><![CDATA[文章目录RabbitMQ概念交换器类型运转流程AMQP协议生产消息exchangeDeclare方法queueDeclare方法queueBind方法exchangeBind方法发送消息 basicPublish 方法消费消息推模式拉模式RabbitMQ进阶持久化生产者确认消费端要点消息传输保障RabbitMQ运维集群搭建集群迁移集群监控跨越集群限制Federation（联邦交换器）ShovelRabbitMQ高阶存储机制流控镜像队列网络分区RabbitMQ扩展消息追踪负载均衡
RabbitMQ是采用Erl]]></description><category></category></item><item><title><![CDATA[Spring源码理解]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/106525927</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/106525927</guid><author>pluto4596</author><pubDate>Wed, 03 Jun 2020 15:47:55 +0800</pubDate><description><![CDATA[文章目录Spring整体架构容器Beans项目核心类介绍容器的基础 XmlBeanFactory配置文件封装加载Bean获取XML的验证模式解析及注册BeanDefinitions解析BeanDefinition注册解析的BeanDefinition通知监听器解析以及注册完成bean的加载FactoryBean的使用缓存中获取单例bean从bean的实例中获取对象获取单例准备创建beanSpring处理循环依赖创建bean创建bean的实例属性注入初始化bean注册DisposableBean容器的功能扩展]]></description><category></category></item><item><title><![CDATA[Java并发编程实践]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/106329134</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/106329134</guid><author>pluto4596</author><pubDate>Mon, 25 May 2020 11:19:51 +0800</pubDate><description><![CDATA[文章目录内部锁重进入（Reentrancy）Java监视器模式（Java monitor pattern）ConcurrentModificationException死锁(Deadlock)、饥饿(Starvation)、活锁(Livelock)ConcurrentHashMap阻塞队列和生产者-消费者模式阻塞和可中断的方法SynchronizerFutureTaskExecutor框架CompletionService：Executor遇见BlockingQueue中断与取消队列饱和减小锁的粒度Lock]]></description><category></category></item><item><title><![CDATA[高性能MySQL分析]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/106205906</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/106205906</guid><author>pluto4596</author><pubDate>Tue, 19 May 2020 05:27:29 +0800</pubDate><description><![CDATA[文章目录Schema与数据类型优化选择优化的数据类型Scheme设计中的陷阱创建高性能索引高性能的索引策略查询性能优化慢查询基础：优化数据访问是否请求了不需要的数据是否在扫描额外的记录重构查询的方式一个复杂查询还是多个简单查询切分查询分解关联查询执行查询的基础Mysql客户端/服务器通信协议查询状态查询缓存查询优化处理语法解析器和预处理查询优化器MySQL执行关联查询关联查询优化器排序优化查询执行引擎查询优化的局限性优化特定类型的查询优化count查询优化关联查询优化子查询优化group by和distin]]></description><category></category></item><item><title><![CDATA[单元测试实践思考(junit5+jmockit+testcontainer)]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/105237993</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/105237993</guid><author>pluto4596</author><pubDate>Wed, 01 Apr 2020 08:58:41 +0800</pubDate><description><![CDATA[文章目录背景方案设计单元测试指导思想单层隔离内部穿透技术实现依赖管理基础架构封装Junit5&amp;Jmockit单元测试配置TestContainer封装官方方案实际方案完整类代码实现实例总结
背景
之前整理过一篇，基于（SpringCloud+Junit5+Mockito+DataMocker）的框架整理的单元测试。当时的项目是一个编排层的服务项目，所以没有涉及到数据库或者其他中间件的复杂问...]]></description><category></category></item><item><title><![CDATA[Jira项目管理配置指南（三）—— 其他配置与总结]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/104775480</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/104775480</guid><author>pluto4596</author><pubDate>Tue, 10 Mar 2020 15:24:56 +0800</pubDate><description><![CDATA[文章目录权限配置问题链接配置解决方式配置其他用户组网络钩子总结
我们仍然以这张图作为开头，之前已经讲了，Project创建、问题相关、字段相关、界面相关、工作流相关的内容。大部分的内容已经完成，剩余就是权限相关与问题链接相关，其他一些相对比较不重要的配置。

权限配置
权限控制的是数据的查询和操作权限，我们来看一下概览

这里分为如下几块（主要讲关键点）：

项目权限：

管理权限：就是点击项目左...]]></description><category></category></item><item><title><![CDATA[Jira项目管理配置指南（二）—— 工作流配置]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/104758542</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/104758542</guid><author>pluto4596</author><pubDate>Mon, 09 Mar 2020 18:43:41 +0800</pubDate><description><![CDATA[文章目录工作流概述属性触发器条件验证器后处理功能工作流类型主任务子任务Bug默认工作流设计主任务后处理功能主任务总结子任务后处理功能待办到处理中日期规则解决结果责任人主任务流程推进处理中到完成主任务流程推进子任务总结Bug后处理功能解决问题未解决Bug总结默认任务总结
我们仍然以这张图作为开头，之前已经讲了，Project创建、问题相关、字段相关、界面相关的内容。接下来就是最重要也是最复杂的工作流...]]></description><category></category></item><item><title><![CDATA[Jira项目管理配置指南（一）—— 基础配置]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/104714705</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/104714705</guid><author>pluto4596</author><pubDate>Sat, 07 Mar 2020 14:44:55 +0800</pubDate><description><![CDATA[文章目录Project 搭建概述Project基本信息问题相关问题类型问题类型方案字段相关自定义字段字段配置界面相关界面配置界面方案问题类型界面方案
很多大型的软件公司会自研项目管理平台，为了满足自己内部特殊的组织架构和个性流程。但是对于大部分公司而言 ，能够找到一套合适的项目管理产品更加实际。Jira是Atlassian和核心产品，相对与禅道、Redmine甚至Worktile等等，都有很多的争...]]></description><category></category></item><item><title><![CDATA[研发环境容器化实施过程（docker + docker-compose + jenkins）]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/103742716</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/103742716</guid><author>pluto4596</author><pubDate>Sat, 28 Dec 2019 11:28:51 +0800</pubDate><description><![CDATA[文章目录背景介绍改造思路容器构建基础准备中间件容器外部依赖容器业务应用容器容器整合自动构建容器Maven相关非Maven项目总结
背景介绍
目前公司内部系统（代号GMS）研发团队，项目整体微服务规模大概是4+9+3的规模，4个内部业务微服务，9个是外部平台或者基础服务（文件资源/用户中心/网关/加密等），3个中间件服务（数据库/Redis/Nacos）。
分为2个组，迭代周期为2周。需求和排期都是...]]></description><category></category></item><item><title><![CDATA[Java虚拟机-字节码执行引擎]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/103655192</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/103655192</guid><author>pluto4596</author><pubDate>Sun, 22 Dec 2019 17:43:21 +0800</pubDate><description><![CDATA[概述
Java虚拟机规范中制定了虚拟机字节码执行引擎的概念模型，成为各种虚拟机执行引擎的统一外观（Facade）。不同的虚拟机引擎会包含两种执行模式，解释执行和编译执行。
运行时帧栈结构
栈帧（Stack Frame）支持虚拟机进行方法调用和方法执行的数据结构，它是虚拟机运行时数据区中的虚拟机栈（Virtual Machine Stack）的栈元素。栈帧存储了方法的局部变量、操作数栈、动态连接和方...]]></description><category></category></item><item><title><![CDATA[Java虚拟机-类加载机制]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/103324373</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/103324373</guid><author>pluto4596</author><pubDate>Sat, 30 Nov 2019 14:34:52 +0800</pubDate><description><![CDATA[文章目录概述类加载的时机加载类加载的过程加载验证准备解析初始化类加载器类与类加载器双亲委派模型破坏双亲委派模型
概述
虚拟机把描述类的数据从Class文件加载到内存，并且对数据进行校验、转换解析和初始化，最终形成可以被虚拟机直接使用的Java类型，这就是虚拟机的类加载机制。
编译时无需进行连接工作，类的加载、连接和初始化过程都是在程序运行期间完成的。如面向接口的应用程序可以等到运行时再指定其实际的...]]></description><category></category></item><item><title><![CDATA[Java虚拟机-字节码指令]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/103116492</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/103116492</guid><author>pluto4596</author><pubDate>Mon, 18 Nov 2019 07:05:17 +0800</pubDate><description><![CDATA[文章目录字节码指令字节码与数据类型加载和存储指令运算指令类型转换指令对象创建与访问指令操作数栈管理指令控制转移指令方法调用和返回指令异常处理指令同步指令
字节码指令
Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字（称为操作码，Opcode）以及跟随其后的零至多个代表此操作所需参数（称为操作数，Operands）构成。Java虚拟机采用面向操作数栈而不是面向寄存器的架构，所以大多...]]></description><category></category></item><item><title><![CDATA[Java虚拟机-类文件结构]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/103096413</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/103096413</guid><author>pluto4596</author><pubDate>Sat, 16 Nov 2019 11:08:15 +0800</pubDate><description><![CDATA[文章目录类文件结构Class类文件的结构魔数与Class文件的版本常量池访问标志类索引、父类索引和接口索引集合字段表集合方法表集合属性表集合完整结构描述实例源码Class文件分析魔数、Class版本常量池长度常量池内容访问标志类索引、父类索引、接口索引字段表集合方法表集合总结
类文件结构
Class类文件的结构
任何一个Class文件都对应着唯一一个类或者接口的定义信息，但是类或者接口并不一定都要...]]></description><category></category></item><item><title><![CDATA[Java虚拟机理解-内存管理]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/102764820</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/102764820</guid><author>pluto4596</author><pubDate>Sun, 27 Oct 2019 11:05:13 +0800</pubDate><description><![CDATA[运行时数据区域
jdk 1.8之前与之后的内存模型有差异，方法区有变化（https://cloud.tencent.com/developer/article/1470519）。

java的内存数据区域划分：

程序计数器
虚拟机栈
本地方法栈
堆
方法区

程序计数器（Program Counter Register）
理解为当前线程所执行的字节码的行号指示器，字节码解释器工作时通过改变这个计...]]></description><category></category></item><item><title><![CDATA[单元测试实践（SpringCloud+Junit5+Mockito+DataMocker）]]></title><link>https://blog.youkuaiyun.com/pluto4596/article/details/102636802</link><guid>https://blog.youkuaiyun.com/pluto4596/article/details/102636802</guid><author>pluto4596</author><pubDate>Sat, 19 Oct 2019 11:48:41 +0800</pubDate><description><![CDATA[网上看过一句话，单元测试就像早睡早起，每个人都说好，但是很少有人做到。从这么多年的项目经历亲身证明，是真的。
这次借着项目内实施单元测试的机会，记录实施的过程和一些总结经验。
项目情况
首先是背景，项目是一个较大型的项目，多个团队协作开发，采用的是SpringCloud作为基础微服务的架构，中间件涉及Redis，MySQL，MQ等等。新的起点开始起步，团队中讨论期望能够利用单元测试来提高代码质量。...]]></description><category></category></item></channel></rss>