java技术圈 为您找到相关结果 18

常用排序算法原理简析

前言 本文只作一些概念性说明,后续会整理每种排序算法的具体实现。个人知识和能力有限,搜集整理和理解可能不到位,如有错误,欢迎指正 插入排序原理 跑n-1趟,对于p=1到N-1趟,插入排序保证从位置0到位置p(数组也是从0开始计算)的数据是有序的,从后面每次拿一个数组往前面插,找到有序的位置(如此时51为被插入数,则在34到64之间)。需要使用两次for循环,时间复杂度为O(n^2) 希尔排序原理(缩减增量排序) 简单粗暴 计算效率取决于选择的缩减增量序列,只要序列最后最小的为1,任何增量序列都是可行的。最坏时间复杂度为n^2,而使用2^k-1的Hibbard增量序列的最坏运行事件为N^1.5 堆(优先队列)排序原理 堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节...阅读全文

博文 2019-04-04 09:53:38 www.allocmem.com

编程小梦

Apache Doris 在美团点评的实践 作者: 康凯森 日期: 2019-04-27 分类: OLAP 技术选型 背景 用户需求 Why Not Other ROLAP Why Doris 典型应用 变化维表 Join 明细 + 聚合 外卖准实时数仓 Doris 服务现状 平台化建设 Hive To Doris Kafka To Doris 功能改造 谓词下推的传递性优化 查询执行多实例并发 Colocate Join 未来规划 致谢 本文的内容是我 4 月 13 日在 Doris Meetup 上的分享,我主要从技术选型,典型应用,平台化建设,功能改造 4 方面进行了分享。 技术选型 背景 在2017年年底,我们已经维护了 Kylin 和 Druid 两个开源 OLAP 系统,Kyli...阅读全文

博文 2020-04-23 10:14:38 Apache Doris 在美团点评的实践

关于5G的频谱,看这一篇就够啦!

什么是“空口”?“空口”就是空中接口,也就是终端(手机)和基站之间通信的接口。和以往2G/3G/4G不同,5G的“空口”,有一个专门的名字,叫做5G NR。 NR,就是New Radio,新无线接口。学习5G“空口”(5G NR),必须先了解5G所使用的频谱。因为任何无线通信技术,都是基于电磁波,都有属于自己的频谱(工作)范围。而频谱(工作)范围,基本决定了这个无线技术的特性。那么,5G工作在哪些频谱范围呢?根据3GPP R15版本的定义,5G NR包括了两大频谱范围(Frequency Range,FR):FR1: • 从 450MHz 到 6000MHz• 频段号从 1 到 255• 通常指的是Sub-6Ghz(专家们经常嘴上说的“萨补六”)FR2:• 从 24250MHz 到 5260...阅读全文

中小企业团队敏捷产品开发流程的最佳实践

在敏捷开发过程中,一个产品或者一个发布版本通常是由多个冲刺来实现的,每个冲刺都能增量交付可运行的系统功能,实现客户价值。每个冲刺都是从冲刺规划开始,团队成员一起商定冲刺目标和明确交付的系统功能,并进行冲刺执行,实现系统功能,再通过冲刺评审和回顾对实现的产品功能和过程进行检视,期望在下一冲刺过程中对产品功能和过程进行改进和完善。 一、冲刺流程 冲刺包括冲刺规划、冲刺执行、冲刺评审、冲刺回顾四大过程。冲刺是从规划开始,团队成员必须就本次冲刺的目标和计划达成共识,全体成员在整个冲刺过程按照既定的计划奔着这个目标前进,每天对取得的成果和面临的问题进行沟通讨论。冲刺结束阶段,在冲刺评审活动中召集相关利益相关方一起演示产品功能并获得反馈,获得的反馈是产品列表和下一阶段冲刺规划内容的重要来源。在冲刺回顾活...阅读全文

博文 2020-04-22 07:20:23 CORNERSTONE

NUMA架构介绍及优缺点分析

本文分享自天翼云开发者社区《NUMA架构介绍及优缺点分析》,作者:郁****航什么是NUMA架构1、概念NUMA(Non-Uniform Memory Access,非统一内存访问)架构是一种针对多处理器系统的内存组织方式。在这种架构中,处理器被分配到不同的节点,每个节点拥有自己的本地内存。处理器可以访问本地内存和其他节点的内存,但访问本地内存的速度要快于访问其他节点的内存。 2、设计原理NUMA架构的设计原理主要是为了解决多处理器系统中的内存访问瓶颈问题。随着处理器数量的增加,内存带宽需求也会相应提高。然而,在传统的统一内存访问(UMA)架构中,所有处理器共享同一块内存,导致内存访问延迟增加、内存带宽成为系统性能的瓶颈。NUMA架构通过将内存分配到各个节点,使处理器优先访问本地内存,降低内...阅读全文

云服务器虚拟化超分与虚机性能关系分析

本文分享自天翼云开发者社区《云服务器虚拟化超分与虚机性能关系分析》,作者:l****n虚拟化技术是云计算商业模式的基础,它也是推动云计算经济的核心技术。虚拟化是指使用虚拟化软件在计算机硬件上创建抽象层,将单个计算机的硬件元素(包括处理器、内存、存储器等)分成多个虚拟计算机 (VM), 每个 VM 都运行自己的操作系统 (OS) ,类似于独立的计算机。这样虚拟化技术能让一台服务器变成几台甚至上百台互相隔离的虚拟服务器,不再受限于物理上的界限,而是让CPU、内存、存储、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合池化,让IT对业务的变化更具适应力。虚拟化能够提高企业资源运营效率,节约能耗,降低经济成本和空间浪费。​服务器虚拟化示意图CPU虚拟化公式...阅读全文

终端云的探索与研究

本文分享自天翼云开发者社区《终端云的探索与研究》,作者:邢****豫一、背景众所周知,传统的云计算均基于集中式的资源管控,即通过中心云提供,而随着云计算从1.0发展进入2.0的阶段,以及5G、物联网时代的到来,云计算的应用呈指数级增加趋势,集中式的中心云已经无法满足终端侧对于大连接、低时延、大宽带的云资源需求,于是产生了边缘云,即将云计算平台架构在边缘技术设施之上,算力下沉至距离端侧更近的边缘侧。边缘云的出现在一定程度上降低了响应时延、减轻云端压力、降低宽带成本,但也仍需要额外成本搭建、维护边缘基础设施和边缘节点等,这也会导致算力受限,存在瓶颈。此外我们注意到,物联网的发展极大地丰富了智能终端的类型,终端规模也在指数级不断增长,而每个终端其实都自带计算能力,且在很多时候处于闲置状态;另一方面...阅读全文

Nginx工作原理

本文分享自天翼云开发者社区《Nginx工作原理》,作者:王****秀Nginx的进程模型Nginx服务器由一个Master进程和多个Worker进程组成:Master进程:管理Worker进程。对外接口:接收外部的操作(信号);对内转发:根据外部操作的不同,通过信号管理Worker;监听:监控Worker进程的运行状态,Worker进程异常终止后,自动重启Worker进程。Worker进程:所有Worker进程都是平等的,用于处理网络请求。进程数量:在nginx.conf中配置,一般设置为核心数,充分利用CPU资源,同时,避免进程数量过多,避免进程竞争CPU资源,增加上下文切换的损耗。HTTP连接建立和请求处理过程Nginx启动时,Master进程加载配置文件。Master进程,初始化监听的...阅读全文

博文 2023-10-30 16:07:23 Tianyiyun

护航政务“云上安全”,天翼云打造自主可控政务云能力体系!

9月15日,国家网络安全宣传周期间,云计算服务安全分论坛在福州召开。论坛上,天翼云科技有限公司副总经理、首席网络安全官广小明分享了天翼云在政务云领域的基础设施建设、产品技术升级以及安全保障能力。近年来,各地推进数字政府、数字政务建设的步伐不断加快。天翼云作为云服务国家队,面向政务领域客户的信息化建设、支撑智慧城市多业务系统上云等需求,基于分布式云架构,以统一的建设标准和安全基线为指导,探索自主可控政务云平台的集约化运营模式,为政务领域客户提供laaS/PaaS/SaaS一体化上云服务。​在构建政务云自主可控能力体系方面,天翼云持续践行“一横两纵”的能力体系架构。“一横”指天翼云操作系统TeleCloudOS4.0及其承载的IaaS、PaaS等服务能力,兼顾上下游软硬件生态,满足多行业场景诉求...阅读全文

博文 2023-09-21 18:39:56 Tianyiyun

操作系统入门与实践-参透技术本质[完结9章]

![1.png](http://static.itsharecircle.com/240109/539f36d2bc2c908d947345fd1a215abd.png) 众所周知,操作系统是计算机的基石,理解操作系统有助于写出正确的、性能更好、稳定性更高的程序,是技术各路大厂面试官重点考察的能力之一,成为越来越多程序员的必修课,因此,我在本文中将带领大家从0到1参透技术本质,快速补齐操作系统短板,来一次质的提升。 我将从以下三方面深度剖析操作系统入门理论与实战要点: 1、深刻理解计算机—掌握优秀编码能力 理解操作系统可以深刻理解自己所写的程序会对计算机系统产生的影响,有助于编写出正确的、质量更高的程序,同时可以充分利用系统资源来优化程序运行效率,编写出性能更高的程序,突破系统性能瓶颈。 2...阅读全文

博文 2024-01-09 09:43:50 udbmaidns

大规模高性能云网络技术思路

本文分享自天翼云开发者社区《大规模高性能云网络技术思路》,作者:程****超控制面基础架构采用微服务架构模型,服务独立可扩展,可以根据每个服务的规模来部署满足需求的实例。具体网络控制面技术方案如图 ​数据面通过多TC实现网络的高可靠性,TC故障时,流量会被切换到另外一个TC。网元全部支持多活部署,且支持多AZ集群部署,跨AZ容灾能力。分布式限速系统采用分布式集群架构,支持同TC限速,跨TC限速,可实现互联网多出口,充分利用出口带宽,提供高可靠的互联网服务。云网络主要承担的是应用内部东西向的流量,东西向流量非常大,而且是多租户共用的,通过自研高性能网元,实现了网络高性能低延时,可以支撑大规模的用户网络流量。 图像 小部...阅读全文

Vue3+Pinia+Vite+TS 还原高性能外卖APP项目「无密F享」

Vue3+Pinia+Vite+TS 还原高性能外卖APP项目「无密F享」​获课 :aixuetang点xyz/192/获取ZY↑↑方打开链接↑↑Pinia 将逐渐替代 VuexPinia 正在逐渐成为 Vue.js 状态管理的新标准,并且有迹象表明它可能会逐渐替代 Vuex。以下几点可以说明为什么 Pinia 有可能会成为首选的状态管理库:更简洁的 API 设计去除 Mutations:Pinia 简化了状态变更的方式,不再区分同步和异步操作,所有状态变更都可以通过 actions 来实现。这使得开发者无需记住不同类型的变更方法,减少了学习成本。模块化设计:每个 Store 都是独立的,避免了 Vuex 中复杂的命名空间问题,使代码更加清晰易懂。对 TypeScript 的强大支持Pini...阅读全文

Three.js可视化企业实战WEBGL

获课:97java.xyz/6029/获取ZY↑↑方打开链接↑↑标题:Three.js助力企业实战WEBGL,打造沉浸式3D互动体验导语:随着互联网技术的不断发展,3D可视化在各个领域中的应用越来越广泛。Three.js作为一款优秀的WebGL库,为企业带来了丰富的3D可视化解决方案。本文将带领大家了解Three.js在企业实战WEBGL课程中的应用,以及如何为企业创造价值。一、Three.js简介Three.js是一款基于WebGL的3D图形库,它提供了一套易于使用的API,使得开发者能够在网页中轻松创建3D场景。Three.js具有以下特点:跨平台:支持主流浏览器,无需安装任何插件。简单易用:API设计简洁,入门门槛低。功能丰富:支持多种3D模型格式、光照、阴影、动画等效果。社区活跃:拥...阅读全文

【完结20章】全新 云原生系统精讲与全流程落地实践

【完结20章】全新 云原生系统精讲与全流程落地实践 云原生是一种构建和运行应用程序的方法,旨在充分利用云计算环境的优势。 云原生(Cloud Native)是一种现代化的软件开发和部署方法,它强调将应用程序设计、开发、部署和管理与云计算环境密切结合。 以下是云原生的核心概念和特点:‌ 1. ‌定义与核心理念‌ 云原生不仅仅是简单地将应用迁移到云上,而是借助云计算的优势重新构思和设计应用,使其适应动态、弹性和分布式的云环境。它通过容器化、微服务、DevOps等技术,构建容错性好、易于管理和便于观察的松耦合系统。 2. ‌关键技术‌ ‌容器化技术‌:如Docker,将应用程序及其依赖打包到一个独立的运行环境中,保证应用在不同环境中运行的一致性。 ‌微服务架构‌:将应用拆分为一组小而自治的服务单元...阅读全文

博文 2025-03-18 16:22:21 woaidaqipaiqiu1122

虚拟线程与协程池化影响分析

虚拟线程或协程的设计核心在于其轻量级特性,允许高并发场景下高效调度资源。当它们被放入池中重用时,这种优势会被削弱 ### **1. 资源调度的灵活性受限** - **虚拟线程(如Java)**:其设计目标是按需创建,遇到阻塞时立即挂起并释放底层线程。池化会限制虚拟线程的数量(如固定大小的线程池),导致任务必须等待可用线程,无法充分利用其“无限”扩展的能力。 - **Goroutine(Golang)**:Go运行时默认动态管理协程,无需池化即可高效调度。若强行池化,固定数量的协程池会限制并发任务数,违背了协程“按需创建”的设计初衷,导致任务排队等待,降低吞吐量。 ### **2. 阻塞操作的负面影响被放大** - 池化后,若所有池中的虚拟线程或协程均被阻塞(如等待I/O),新的任务将无法立即...阅读全文

博文 2025-03-19 21:09:34 dalang

C++百万并发网络通信引擎架构与实现

C++百万并发网络通信引擎架构与实现获课♥》jzit.top/14254/获取ZY↑↑方打开链接↑↑在探讨C++百万并发网络通信引擎架构与实现中的分布式与集群结合时,我们首先需要明确两者的概念和特点,进而分析它们在网络通信引擎中的结合方式及其优势。分布式与集群的基本概念分布式系统:分布式系统是由多个独立的计算机节点通过网络连接在一起,共同协作完成一个或多个任务的系统。这些节点可以分布在不同的地理位置,每个节点都拥有独立的处理能力,可以执行不同的任务。分布式系统具有高度的可扩展性、可靠性和容错性。集群:集群是指将多个物理或虚拟的计算资源(如服务器)组合在一起,形成一个统一的计算资源池。这些资源在集群内部进行共享和分配,以提供更高的计算能力和更好的资源利用率。集群通常用于提高系统的可扩展性、可用...阅读全文

C++ Qt6 QML入门进阶与项目实战视频课程

C++ Qt6 QML入门进阶与项目实战视频课程​获课♥》789it.top/14086/获取ZY↑↑方打开链接↑↑ QT6中的QML与C++联合编程:构建现代化跨平台应用一、引言随着科技的快速发展,跨平台应用开发的需求日益增长。Qt6作为一款成熟且强大的工具,通过QML(Qt MetaLanguage)与C++的联合编程,为开发者提供了构建现代化跨平台应用的强大能力。本文将详细介绍QT6中QML与C++联合编程的关键技术和应用实践。二、QML与C++联合编程概述QMLQML是一种基于JavaScript的声明性语言,专门用于描述用户界面及其行为。它允许开发者以直观的方式定义UI组件之间的关系,而不需要大量的样板代码。QML内置了许多高级特性,如动画、过渡效果等,这些都可以极大地丰富应用程序...阅读全文

Redisson 延迟队列的并发安全机制

基于 Redisson 实现延迟队列时,**并不需要显式使用分布式锁**,但其底层通过 **Redis 原子操作和 Lua 脚本** 确保了并发安全。 --- ### 一、Redisson 延迟队列的并发安全机制 1. **原子性操作替代锁** Redisson 在操作 Redis 数据结构(如 zset、list)时,**通过 Lua 脚本封装多步操作**,确保原子性。例如: • **任务转移**:从 `redisson_delay_queue_timeout:SANYOU`(zset)到目标队列的转移操作; • **任务消费**:通过 `BLPOP` 或 `take()` 方法从目标队列获取任务。 **Lua 脚本的原子性**避免了多客户端重复获取同一任务的问题。 2. **有序集合(z...阅读全文

博文 2025-03-28 17:58:35 dalang