10 Wang-Junchao

尚未进行身份认证

暂无相关简介

等级
TA的排名 635

go源码阅读——value.go

【博文目录>>>】【项目地址>>>】基本内容value文件主要提供值的一些调用方法,value所需要的值在在type.go文件中定义package reflectimport ( "math" "runtime" "unsafe")const ptrSize = 4 << (^uintptr(0) >> 63) /...

2020-04-01 08:41:03

go源码阅读——type.go

基本结构图reflect包基础类型是Type,其主要实现是rtype,在rtype下会有基于种类型的实现,主要结构图。基本常量数据类型常量type Kind uintconst ( Invalid Kind = iota Bool Int Int8 Int16 Int32 Int64 Uint Uint8 Uint16 Uint32 Uint64 Uintp...

2020-03-26 08:17:30

事件源模式

【博文目录>>>】事件源模式使用仅追加存储来记录描述在域中对数据执行的操作的完整事件序列,而不是仅存储当前状态,以便可以使用该存储来实现域对象。这种模式可以通过避免同步数据模型和业务域的要求,简化复杂领域中的任务;提高性能、可伸缩性和响应性;为事务性数据提供一致性;并维护完整的审计追踪和历史记录,以支持采取补偿措施。背景与问题大多数应用程序使用数据,并且典型的方法是应用...

2020-03-21 10:48:24

命令和查询责任隔离(CQRS)模式

【博文目录>>>】命令和查询责任隔离(CQRS)模式使用单独的接口将读取数据的操作与更新数据的操作隔离开来。这种模式可以最大限度地提高性能、可伸缩性和安全性;通过更高的灵活性支持系统随时间的发展;并防止更新命令在域级别造成合并冲突。背景与问题在传统的数据管理系统中,命令(对数据的更新)和查询(对数据的请求)都针对单个数据存储库中的同一组实体执行。这些实体可以是关系数据库...

2020-03-14 08:33:00

计算资源整合模式

【博文目录>>>】计算资源整合模式将多个任务或操作整合到一个计算单元中。这种模式可以提高计算资源利用率,并减少与在云托管应用程序中执行计算处理相关的成本和管理开销。背景与问题云应用程序经常实现各种操作。在某些解决方案中,最初可能会遵循关注点分离的设计原则,并将这些操作划分为单独托管和部署的离散计算单元(例如,作为Microsoft Azure Cloud Service...

2020-03-08 09:21:18

竞争消费者模式

【博文目录>>>】竞争消费者模式使多个并发使用者能够处理在同一消息通道上接收的消息。这种模式使系统能够同时处理多条消息,以优化吞吐量,提高可伸缩性和可用性,并平衡工作负载。背景与问题运行在云中的应用程序可能会处理大量请求。与其同步处理每个请求,不如让应用程序通过消息系统将它们传递给另一个服务(消费者(服务)异步处理它们的服务。此策略有助于确保在处理请求时应用程序中的业务...

2020-03-07 07:39:32

补偿交易模式

【博文目录>>>】补偿交易模式如果一个或多个步骤失败,则撤消由一系列执行的工作的步骤组成,这些步骤一起定义最终一致的操作。遵循最终一致性模型的操作通常可在实现复杂业务流程和工作流的云托管应用程序中找到。背景与问题运行在云中的应用程序经常修改数据。这些数据可以分布在各种地理位置的各种数据源上。为了在这样的分布式环境中避免争用和提高性能,应用程序不应该试图提供强大的事务一致...

2020-02-29 09:02:09

缓存旁路模式

【博文目录>>>】缓存旁路模式根据需要从数据存储区将数据加载到缓存中。这种模式可以提高性能,并有助于保持缓存中的数据与基础数据存储中的数据之间的一致性。语境与问题应用程序使用缓存优化对数据存储中保存的信息的重复访问。然而,期望缓存的数据始终与数据存储中的数据完全一致是不切实际的。应用程序应该实现一种策略,以帮助确保缓存中的数据尽可能地更新,但也可以检测和处理缓存中的数据...

2020-02-09 09:59:27

云设计模式:云应用程序的规范体系结构指南

本指南包含24种设计模式和10个相关的指导主题,通过展示如何将每一项应用于云应用程序体系结构的全局图来阐明应用模式的好处。它还讨论了每种模式的好处和注意事项。大多数模式代码样例或者显示如何使用MicrosoftAzure的特性实现模式的片段。然而,本指南中描述的大多数主题与各种分布式系统同样相关,无论是在Azure上还是在其他云平台上。设计模式以下设计模式在云托管应用程序中非常有用。每个模式都...

2020-02-08 10:29:12

Java——Retry重试机制详解

Java——Retry重试机制详解@[TOC](Java——Retry重试机制详解)[【博文目录>>>】](http://blog.csdn.net/derrantcm/article/details/73456550)[【项目源码>>>】](https://github.com/Wang-Jun-Chao/spring-all/tree/master/boot...

2019-05-20 16:40:52

深入浅出Event Sourcing和CQRS

深入浅出Event Sourcing和CQRSEvent Sourcing也叫事件溯源,是这些年另一个越来越流行的概念,是大神Martin Fowler提出的一种架构模式。简单来说,它有几个特点:整个系统以事件为驱动,所有业务都由事件驱动来完成。事件是一等公民,系统的数据以事件为基础,事件要保存在某种存储上。业务数据只是一些由事件产生的视图,不一定要保存到数据库中。什么是Event ...

2019-01-18 10:49:14

Java新一代垃圾回收器——ZGC

Java新一代垃圾回收器——ZGC在JDK 11当中,加入了实验性质的ZGC。它的回收耗时平均不到2毫秒。它是一款低停顿高并发的收集器。ZGC几乎在所有地方并发执行的,除了初始标记的是STW的。所以停顿时间几乎就耗费在初始标记上,这部分的实际是非常少的。那么其他阶段是怎么做到可以并发执行的呢?ZGC主要新增了两项技术,一个是着色指针Colored Pointer,另一个是读屏障Load B...

2018-11-20 08:35:10

【31-Redis分布式锁进化史】

【博文总目录>>>】Redis分布式锁进化史近两年来微服务变得越来越热门,越来越多的应用部署在分布式环境中,在分布式环境中,数据一致性是一直以来需要关注并且去解决的问题,分布式锁也就成为了一种广泛使用的技术,常用的分布式实现方式为Redis,Zookeeper,其中基于Redis的分布式锁的使用更加广泛。但是在工作和网络上看到过各个版本的Redis分布式锁实现,每种实现都...

2018-11-19 09:33:09

MAC Pro 装Ubuntu 18 虚拟机字太小的调节方法

macpro 装Ubuntu18 虚拟机 字太小的调节方法用的macpro安装了ubuntu15虚拟机。结果因为分辨率太高,ubuntu里字体图标都很小。最后发现了一个可调节的方法:1.点击ubuntu的setting2.点击弹出窗口的dispalys3.弹出的Displays窗口中,选择分辨率和放大倍数,保存。...

2018-07-21 06:40:34

消息对队的使用和常用消息对列对比

【博文总目录>>>】一、消息队列使用的四种场景介绍消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题 实现高性能,高可用,可伸缩和最终一致性架构 使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ二、消息队列应用场景以下介绍消息队列在实际应用中常用的使用场景。...

2018-03-11 10:29:07

使用cglib在内存中动态生成类

【博文总目录>>>】|【项目源码>>>】CGLIB是一个强大的、高性能的代码生成库。其被广泛应用于AOP框架(Spring、dynaop)中,用以提供方法拦截操作。本示例展示了如何使用cglib动态生成类。package wjc.cglib;import net.sf.cglib.beans.BeanGenerator;import net.sf....

2018-02-22 09:55:05

使用javaassist在内存中动态生成类

【博文总目录>>>】|【项目源码>>>】Javassist是一个开源的分析、编辑和创建Java字节码的类库。是由东京工业大学的数学和计算机科学系的 Shigeru Chiba (千叶 滋)所创建的。它已加入了开放源代码JBoss 应用服务器项目,通过使用Javassist对字节码操作为JBoss实现动态”AOP”框架。下面我们来学习如何使用javaass...

2018-02-22 09:08:23

最简RPC框架实现

【博文总目录>>>】|【项目源码>>>】RPC概述RPC(Remote Proceduce Call 远程过程调用) 一般用来实现部署在不同机器上的系统之间的方法调用,使程序能够像访问本地系统资源一样,通过网络传输过去访问远端系统资源。RPC 调用过程 1、Client 客户端调用方法实现,负责发起RPC调用。2、ClientStub/SereverStub 可以看作

2018-02-04 10:56:01

第八章JAVA CAS原理深度分析

【博文总目录>>>】【Java 7 并发编程实战手册目录>>>】java.util.concurrent包完全建立在CAS之上的,没有CAS就不会有此包。可见CAS的重要性。CASCAS:Compare and Swap, 翻译成比较并交换。 java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁。本文先从CAS

2018-01-21 19:52:53

【第13章】【TCP粘包/拆包问题和Netty的解决方案】

【博文总目录>>>】工程下载【1>>>】|【2>>>】什么是TCP协议?TCP(Transmission Control Protocol传输控制协议)是Internet协议组的主要协议之一。起源于初始的网络实现,补充了IP协议。因此通常称为TCP/IP协议。TCP在运行在IP通信网络的应用程序之间提供稳定的、有序的和错误检查的8字节流分发功能。—— from wiki

2018-01-20 22:48:30

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    参与《原力计划【第二季】— 学习力挑战》获得推荐的原创文章的博主