OR

面向大规模队列,百万并发的多优先级消费系统设计

大规模队列的核心诉求,不仅需要「快」,还需要兼顾「公平」。 01 引言 HTTP是一种常用的通信协议,除了常见网站访问、上传下载,HTTP协议还经常被用在消息推送场景上。 设想你搭建了一个电商平台,有很多大型商家入驻了该电商平台并售卖各类商品,在消费者购买某个商品后,平台会通过HTTP协议将消费者购 ......

一文深度解读边缘计算产业发展前景

算力在云端澎湃,云计算技术日新月异。 过去十年间,全球云计算市场快速扩张,市场规模爆发性增长。 中心化的云计算架构提供了集中、大规模的计算、网络和存储等资源,解决了泛互联网行业在前二十年快速发展所面临的业务迅速增长、流量急剧扩张和大规模计算需求等问题。 边缘计算是构筑在边缘基础设施之上,位于尽可能靠 ......
产业发展 深度 前景 边缘 产业

JDK动态代理深入剖析

1 基于接口的代理模式 什么是代理? 简单来说,代理是指一个对象代替另一个对象去做某些事情。 例如,对于每个程序员来说,他都有编程的能力: interface Programmable { void developSoftware(); } 对于Java程序员,他会编写Java代码: class J ......
动态 JDK

Java lambda表达式基本使用

代码示例:java.lambda.LambdaExpression 1 本质 lambda表达式本质上是对匿名内部类实例的一种简化写法。 1.1 案例 有以下List<Integer>对象: List<Integer> list = Arrays.asList(1, 3, 5, 7, 9, 2, 4 ......
表达式 lambda Java

Spring MVC文件请求处理详解:MultipartResolver

org.springframework.web.multipart.MultipartResolver是Spring-Web针对RFC1867实现的多文件上传解决策略。 1 使用场景 前端上传文件时,无论是使用比较传统的表单,还是使用FormData对象,其本质都是发送一个multipart/for ......
MultipartResolver 文件 Spring MVC

模拟Promise的功能

模拟Promise的功能, 按照下面的步骤,一步一步 1. 新建是个构造函数 2. 传入一个可执行函数 函数的入参第一个为 fullFill函数 第二个为 reject函数; 函数立即执行, 参数函数异步执行3. 状态一旦更改就不可以变更 只能 pending => fulfilled 或者 pen ......
Promise 功能

运用领域模型——DDD

模型被用来描述人们所关注的现实或想法的某个方面。模型是一种简化。它是对现实的解释 —— 把与解决问题密切相关的方面抽象出来,而忽略无关的细节。 每个软件程序是为了执行用户的某项活动,或是满足客户的某种需求。这些用户应用软件的问题区域就是软件的领域。 一些领域涉及物质世界,例如,机票预定程序的领域中包 ......
模型 领域 DDD

Go | 闭包的使用

闭包基本介绍 闭包就是 一个函数 和其相关的 引用环境 组合的一个整体 好处: 保存引用的变量,下次继续使用,不会销毁 下面通过闭包的方式,写一个数字累加器,体验一下闭包的妙处👇 闭包实现数字累加 package main import "fmt" // 累加器 // 闭包 - 函数柯里化 // ......
闭包 Go

深刻理解JAVA并发中的有序性问题和解决之道

问题 Java并发情况下总是会遇到各种意向不到的问题,比如下面的代码: int num = 0; boolean ready = false; // 线程1 执行此方法 public void actor1(I_Result r) { if(ready) { r.r1 = num + num; } ......
有序性 问题 JAVA

盘点JAVA中基于CAS实现的原子类, 你知道哪些?

前言 JDK中提供了一系列的基于CAS实现的原子类,CAS 的全称是Compare-And-Swap,底层是lock cmpxchg指令,可以在单核和多核 CPU 下都能够保证比较交换的原子性。所以说,这些原子类都是线程安全的,而且是无锁并发,线程不会频繁上下文切换,所以在某些场景下性能是优于加锁。 ......
原子 JAVA CAS

Golang反射修改变量值

1. 前言 前面的随笔Golang反射获取变量类型和值分享了如何通过反射获取变量的类型和值, 也就是Golang反射三大定律中的前两个,即从interface{}到反射对象和从反射对象到interface{}。 这篇随笔主要分享通过反射修改各种类型变量值的方法。 2. 判断是否可修改 reflect ......
量值 Golang

Golang反射获取变量类型和值

1. 什么是反射 反射是程序在运行期间获取变量的类型和值、或者执行变量的方法的能力。 Golang反射包中有两对非常重要的函数和类型,两个函数分别是: reflect.TypeOf 能获取类型信息reflect.Type; reflect.ValueOf 能获取数据的运行时表示reflect.Val ......
变量 类型 Golang

JavaScript入门①-基础知识筑基

JavaScript(缩写:JS)是一种具有面向对象能力的、解释型的程序语言,基于对象和事件驱动,具有相对安全性的客户端脚本语言。JavaScript是一门完备的 动态编程语言,当应用于 HTML 文档时,可为网站提供动态交互特性,是前端开发最主要、正式的编程语言。 ......
基础知识 JavaScript 基础 知识

JavaScript入门②-函数(1)基础{浅出}

函数(方法)就是一段定义好的逻辑代码,函数本身也是一个object引用对象。JS的深入浅出,全面了解函数,从作用域到词法分析,从箭头函数到call/apply/bind,从this到闭包,从上下文到调用栈,从内核到外延... ......
JavaScript 函数 基础

JavaScript入门③-函数(2)原理{深入}执行上下文

被JavaScript的闭包、上下文、嵌套函数、this搞得很头痛,这语言设计的,感觉比较混乱,先勉强理解总结一下???。● 为什么有闭包这么个东西?闭包包的是什么?● 什么是词法作用域?● 函数是如执行的呢? ......
上下文 JavaScript 函数 上下 原理

JavaScript入门④-万物皆对象:Object

Object是 JavaScript 的一种 数据类型,它用于存储各种键值集合和更复杂的实体,是一组数据和功能的集合。JS中几乎所有对象都是继承自Object,Array、RegExp、Math、Map、Set都是他的子类型。 ......
JavaScript 万物 对象 Object

JavaScript入门⑤-欲罢不能的对象原型与继承-全网一般图文版

JavaScript 中的所有对象本质上都是通过new ()创建出来的,包括字面量的{obj},也是new Object()的语法糖。每一个实例对象都有自己的原型,基于原型创建这个对象,Function本身也是一个对象。 ......
欲罢不能 全网 原型 JavaScript 对象

JavaScript入门⑥-WEB浏览器API

JavaScript入门系列目录 JavaScript入门①-基础知识筑基 JavaScript入门②-函数(1)基础{浅出} JavaScript入门③-函数(2)原理{深入}执行上下文 JavaScript入门④-万物皆对象:Object JavaScript入门⑤-欲罢不能的对象、原型与继承 ......
JavaScript 浏览器 API WEB

重学c#系列——订阅发布与事件[二十六]

前言 简单介绍一下订阅发布与事件。 正文 先来看一下委托的订阅与发布。 public delegate void TestDelegate(); public class Cat { public TestDelegate testDelegate; public void call() { tes ......
事件

重学c#系列——逆变和协变[二十四]

前言 简单整理一下逆变和协变。 正文 什么是逆变和协变呢? 首先逆变和协变都是术语。 协变表示能够使用比原始指定的派生类型的派生程度更大的类型。 逆变表示能够使用比原始指定的派生类型的派生程度更小的类型。 这里student 继承 person。 这里这个报错合情合理。 这里可能有些刚入门的人认为, ......

重学c#系列——委托和匿名函数[二十五]

前言 简单介绍一下什么是委托。 正文 以前也写过委托,这次算是重新归档,和新的补充吧。 https://www.cnblogs.com/aoximin/p/13940125.html 有些人说委托是函数指针的包装,也有些人说委托是一个方法或多个方法的引用。 这都是没有问题,委托是一个概念,微软官方文 ......
函数

实践案例:平安健康的 Dubbo3 迁移历程总结

本篇是 Apache Dubbo 的实践案例。感兴趣的朋友可以访问官网了解更多详情,或搜索关注官方微信公众号 Apache Dubbo 跟进最新动态。 1 背景 我们公司从15年开始就使⽤dubbo作为微服务框架,当社区推出dubbo3时,我们也⽴刻跟进并做了深⼊调研,发现dubbo3 的应⽤/实例 ......
历程 案例 Dubbo3 Dubbo

Apache Dubbo 多语言体系再添新员:首个 Rust 语言版本正式发布

Dubbo Rust 定位为 Dubbo 多语言体系的重要实现,提供高性能、易用、可扩展的 RPC 框架,同时通过接入 Dubbo Mesh 体系提供丰富的服务治理能力。本文主要为大家介绍 Dubbo Rust 项目基本情况,通过一个示例快速体验 Rust 首个正式版本特性,并给出了 Dubbo R ......
体系 语言 版本 Apache Dubbo

架构解析:Dubbo3 应用级服务发现如何应对双11百万集群实例

继业务全面上云后,今年双11,阿里微服务技术栈全面迁移到以 Dubbo3 为代表的云上开源标准中间件体系。在业务上,基于 Dubbo3 首次实现了关键业务不停推、不降级的全面用户体验提升,从技术上,大幅提高研发与运维效率的同时地址推送等资源利用率在一些关键场景提升超 40%,基于三位一体的 Dubb ......
集群 架构 实例 Dubbo3 Dubbo

实践案例:同程艺龙网的 Dubbo 升级经验总结

本篇为同程艺龙旅行网 Apache Dubbo 的实践案例总结。感兴趣的朋友可以访问官网了解更多详情,或搜索关注官方微信公众号 Apache Dubbo 跟进最新动态。 作者信息: 严浩:同程艺龙高级开发,负责服务治理相关工作, Apache Dubbo Committer。 胥皓:同程艺龙高级开发 ......
同程 案例 经验 Dubbo

为什么标准库的模板变量都是inline的

最近在看标准库里的type_traits的时候发现了个有趣的地方,几乎所有在标准库里的变量模板都是inline的! 不仅常见的实现上(libstdc++、libc++、ms stl)都是inline的,标准里给的形式定义也是inline的。 比如微软开源的stl实现:https://github.c ......
变量 模板 标准 inline

处理器基础知识

先描述下一般处理器的概念,维基百科的定义是 “In computing, a processor is an electronic circuit which performs operations on some external data source, usually memory or so... ......
基础知识 处理器 基础 知识

轻量级模型设计与部署总结

轻量级网络的手动设计目前还没用广泛通用的准则,只有一些指导思想,和针对不同芯片平台(不同芯片架构)的一些设计总结,建议大家从经典论文中吸取指导思想和建议,然后自己实际做各个硬件平台的部署和模型性能测试。 ......
轻量 轻量级 模型

神经网络模型复杂度分析

终端设备上运行深度学习算法需要考虑内存和算力的需求,因此需要进行模型复杂度分析,涉及到模型计算量(时间/计算复杂度)和模型参数量(空间复杂度)分析。 为了分析模型计算复杂度,一个广泛采用的度量方式是模型推断时浮点运算的次数 (FLOPs),即模型理论计算量,但是,它是一个间接的度量,是对我们真正关心... ......
复杂度 神经网络 模型 神经 网络

深度学习数学基础-概率与信息论

概率论是用于表示不确定性声明的数学框架。它不仅提供了量化不确定性的方法,也提供了用于导出新的不确定性声明(statement)的公理。概率论的知识在机器学习和深度学习领域都有广泛应用,是学习这两门学科的基础。 ......
信息论 数学基础 概率 深度 数学
共331771篇  :11058/11060页 首页上一页11058下一页尾页