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

分享一个项目:用Java实现“超级马里奥”的冒险之旅

#### 引言 超级马里奥,这个名字对于游戏迷来说一定不陌生。它是一款经典的游戏系列,以一个勇敢的水管工人——马里奥为主角,讲述了他在蘑菇王国中的冒险故事。在这个充满挑战和刺激的游戏中,玩家需要控制马里奥跳跃、躲避障碍物,并与邪恶的蘑菇和食人花敌人战斗,最终抵达城堡的胜利之地。 #### 游戏目标 在这款游戏中,我们的目标是通过控制马里奥完成三个关卡的挑战。每个关卡都有不同的难度和障碍物,玩家需要灵活运用跳跃技巧和反应能力,才能成功通关。同时,消灭普通砖块还可以赚取积分,增加游戏的趣味性和挑战性。 #### Java实现 为了实现这个经典的游戏,我们将使用Java编程语言进行开发。Java是一种功能强大且广泛使用的编程语言,它具有丰富的图形界面库和游戏开发工具,非常适合用于制作平台跳跃类游戏...阅读全文

【完结26章】Java主流分布式解决方案多场景设计与实战

【完结26章】Java主流分布式解决方案多场景设计与实战 给大家分享一套java课程——Java主流分布式解决方案多场景设计与实战,已完结26章,附源码+文档下载。 Ceph的核心组件包括Client客户端、MON监控服务、MDS元数据服务、OSD存储服务,各组件功能如下: Client客户端:负责存储协议的接入,节点负载均衡 MON监控服务:负责监控整个集群,维护集群的健康状态,维护展示集群状态的各种图表,如OSD Map、Monitor Map、PG Map和CRUSH Map MDS元数据服务:负责保存文件系统的元数据,管理目录结构 OSD存储服务:主要功能是存储数据、复制数据、平衡数据、恢复数据,以及与其它OSD间进行心跳检查等。一般情况下一块硬盘对应一个OSD。 分布式文件系统(D...阅读全文

博文 2023-12-22 11:30:36 woaiwodejia333

升级版,重学C++ ,重构你的C++知识体系

升级版,重学C++ ,重构你的C++知识体系 视频课程分享——升级版,重学C++ ,重构你的C++知识体系,附源码+PDF课件下载,大家下载学习。 C++(c plus plus)是一种计算机高级程序设计语言,由C语言扩展升级而产生,最早于1979年由本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发。 C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计。 C++几乎可以创建任何类型的程序:游戏、设备驱动程序、HPC、云、桌面、嵌入式和移动应用等。 甚至用于其他编程语言的库和编译器也使用C++编写。 C++拥有计算机运行的实用性特征,同时还致力...阅读全文

博文 2024-03-05 16:10:03 xiaoshuai8888

kernel-bypass

Kernel-bypass,即绕过内核的意思,是一种计算机科学中的技术方法,用于减少操作系统内核在数据处理路径中的参与,从而降低系统调用的开销,提高数据传输和处理的效率。在高吞吐量、低延迟的应用场景中,如高性能网络通信、大数据处理、金融交易系统等,kernel-bypass技术尤为重要。传统的数据传输流程需要经过用户空间(User Space)到内核空间(Kernel Space)的上下文切换,这个过程会引入额外的延迟。Kernel-bypass技术允许应用程序直接访问硬件资源(如网卡、存储设备),跳过了内核参与的数据路径,减少了系统调用和内存拷贝的次数,进而提升应用的性能。一些常见的kernel-bypass技术包括:DPDK (Data Plane Development Kit): 为...阅读全文

博文 2024-07-31 15:07:09 zhidiantech

分布式系统中的分布式链路追踪与分布式调用链路

本文分享自天翼云开发者社区《分布式系统中的分布式链路追踪与分布式调用链路》,作者:c****w在分布式系统中,由于服务间的调用关系复杂,需要实现分布式链路追踪来跟踪请求在各个服务中的调用路径和时间消耗。这对问题排查和性能监控都很重要。常用的分布式链路追踪实现有基于日志的和基于分布式追踪系统的两种方式:基于日志的实现方式是在每个服务中记录自己的请求id和上下文信息,并在日志中打印出来。这样可以通过聚合各个服务的日志来还原整个请求链路。基于分布式追踪系统的实现方式是:使用开源Tracing系统,比如Zipkin。每个服务都需要集成Tracing客户端库。客户端在发起请求时,生成一个唯/一的TraceId并传递给下游服务。每个服务接收到请求都需要记录Span数据,包括操作名、时间戳等。所有Span...阅读全文

博文 2024-01-19 18:30:51 Tianyiyun

响应式编程入门之 Project Reactor

本文目标理解响应式编程前言之前的 《聊聊 IO 多路复用》 中,我们理解了非阻塞 IO 的意义。但是 Spring MVC 并不能完美的应用非阻塞编程,于是 Spring 团队开发了 WebFlux,而 WebFlux 的基础正是本文要讲到的 Project Reactor(下文简称为 Reactor)本文以 Reactor 为例带大家入门响应式编程版本 io.projectreactor reactor-core 3.4.6 什么是 Reactor Reactor 是 JVM 的非阻塞响应式编程基础,支持背压。 它...阅读全文

博文 2023-05-11 10:09:37 知乎

如何通过云函数操作云数据库?

本文分享自天翼云开发者社区《如何通过云函数操作云数据库?》,作者:不知不觉随着云计算的普及,云数据库作为一种高效、灵活和可靠的数据存储和管理服务,为企业提供了强大的支持。而云函数作为云计算的重要组成部分,为开发者提供了在云端执行代码的能力。本文将探讨如何通过云函数操作云数据库。一、云函数概述云函数是一种在云端执行代码的函数,它允许开发者在云端编写、部署和执行代码。云函数具有高可用性、弹性扩展和安全性等特点,为企业提供了更加高效、灵活和可靠的开发方式。二、通过云函数操作云数据库的步骤创建云函数:首先,需要在云服务提供商的平台上创建一个云函数。这个过程通常包括编写代码、设置函数参数和配置等步骤。连接云数据库:在云函数中,需要使用合适的库或驱动程序来连接云数据库。这通常涉及到提供数据库的连接信息,...阅读全文

博文 2023-12-26 15:57:59 Tianyiyun

【24章】Qt 全流程实战企业级项目 - 云对象存储浏览器

【24章】Qt 全流程实战企业级项目 - 云对象存储浏览器 给大家分享一套课程——Qt 全流程实战企业级项目 - 云对象存储浏览器,课程共24章,包更新。附源码+PDF课件。 开发QT有两种IDE可以使用,一种是使用 VS + Qt 的插件,另一种就是使用QtCreator工具。前一种是微软的工具,用的都比较多容易上手,缺点是信号槽的支持不太好,需要手写,不能自动生成,另外可能有中文编码的问题。后一种是Qt的官方IDE,智能提示与调试功能不如VS强大,但是是跨平台的IDE,其QtDesigner设计UI界面操作比较方便,并且由于是QT官方的IDE,对编码等支持都比较好,里面集成了Qt的帮助文档。不得不说Qt的帮助文档做的是非常好的,集成进QtCreator环境之后更加方便。 QT中最常用的控...阅读全文

博文 2023-12-13 16:17:20 woaiwodejia333

使用SpringSecurity设置角色和权限的注意点_51CTO博客_springsecurity权限控制

目录​​SpringSecurity设置角色和权限​​​​概念​​​​使用mock代码​​​​在controller中为方法添加权限控制​​​​Security角色和权限的概念​​Security中一些可选的表达式SpringSecurity设置角色和权限概念在UserDetailsService的loadUserByUsername方法里去构建当前登陆的用户时,你可以选择两种授权方法,即角色授权和权限授权,对应使用的代码是hasRole和hasAuthority,而这两种方式在设置时也有不同,下面介绍一下:角色授权:授权代码需要加ROLE_前缀,controller上使用时不要加前缀权限授权:设置和使用时,名称保持一至即可使用mock代码@Componentpublic class MyU...阅读全文

博文 2023-09-13 14:18:18 blog.51cto.com

浅谈基于Shapley值的数据融合反欺骗数据判断相关

本文分享自天翼云开发者社区《浅谈基于Shapley值的数据融合反欺骗数据判断相关》,作者:z****n一、相关背景多个信息源的数据进行融合处理后的信息具有较高准确性,同时具备互补性、及时性等特征,在一定程度上能够克服单信息源获取信息的局限性,能更加客观地对目标形成认识,具有更高置信度和较强鲁棒性。信息融合技术随着人工智能及物联网的发展,在人们日常生活中已被广泛应用。然而,在通过该技术享受生活便利的同时,也承担着其所带来的决策的误判、情报处理混乱等风险。现代信息融合技术担当着越发重要的角色,其原理是通过传感器获取对状态、环境及目标的相关信息,并根据特定的算法对多个传感器所获信息进行处理,为得到用于评估战场的状态、敌方潜在的威胁以及自身相关方面的稳定性等重要信息提供依据。欺骗信息往往可以定义为故...阅读全文

博文 2023-05-19 03:30:19 Tianyiyun

[15章]基于C++从0到1手写Linux高性能网络编程框架

[15章]基于C++从0到1手写Linux高性能网络编程框架 学习地址1:https://pan.baidu.com/s/1AISz1k_2uwYAB41St1HxfA 提取码:t2gy 学习地址2:https://pan.baidu.com/s/1MgD4BdeD6V6HfXkoMAZ5Hw 提取码:l5t4 深度掌握网络编程是逆袭成为高阶开发者的秘密法宝,所以今天给大家深度讲解基于C++的Linux高性能事件驱动网络编程框架的设计方法及技巧,我将采取渐进迭代的授课方式,配合C++11新特性的使用,以及网络编程理论的深度讲解,并手把手带着大家落地实现,助力在网络编程领域有更大的技术提升! TCP/IP协议在设计和实现上并没有客户端和服务器的概念,在通信过程中所有机器都是对等的。但由于资源(...阅读全文

博文 2023-12-06 11:24:33 kaidnxhd2023

基于SpringBoot3.x+Vue3.x整合从0到1一步一步实现酒店管理系统

基于SpringBoot3.x+Vue3.x整合从0到1一步一步实现酒店管理系统 给大家分享一套课程——基于SpringBoot3.x+Vue3.x整合从0到1一步一步实现酒店管理系统,附源码+笔记+数据库脚本下载。 Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架...阅读全文

博文 2023-12-28 19:44:41 woaiwodejia333

Serverless函数计算介绍

本文分享自天翼云开发者社区《Serverless函数计算介绍》,作者:余凯随着互联网和移动互联网的快速发展,越来越多的应用程序需要具备高可用性、高扩展性和高性能等特点。而云计算作为一种新兴的计算模型,可以帮助开发者更快速、更高效地开发和部署应用程序。Serverless函数计算作为云计算的一种重要形式,正在逐渐成为云计算的主流模型。1.Serverless函数计算的概念和优势Serverless函数计算是一种无服务器的计算模型,它可以帮助用户更轻松地构建和运行应用程序,无需管理底层的服务器和操作系统。在Serverless函数计算中,用户只需编写函数代码并上传到云端,云服务提供商将会负责管理计算资源和网络架构,用户只需按照实际使用情况支付相应的费用。Serverless函数计算的优势包括:1...阅读全文

保姆级别的 PromQL 教程-腾讯云开发者社区

这篇文章介绍如何使用 PromQL 查询 Prometheus 里面的数据。包括如何使用函数,理解这些函数,Metrics 的逻辑等等,因为看了很多教程试图学习 PromQL,发现这些教程都直说有哪些函数、语法是什么,看完之后还是很难理解。比如 [1m] 是什么意思?为什么有的函数需要有的函数不需要?它对 Grafana 上面展示的数据有什么影响?rate 和 irate 的区别是什么?sum 和 rate 要先用哪个后用哪个?经过照葫芦画瓢地写了很多 PromQL 来设置监控和告警规则,我渐渐对 PromQL 的逻辑有了一些理解。这篇文章从头开始,通过介绍 PromQL 里面的逻辑,来理解这些函数的作用。本文不会一一回答上面这些问题,但是我的这些问题都是由于之前对 PromQL 里面的逻辑...阅读全文

博文 2023-09-13 14:50:00 腾讯云

【完结13章】高性能多级网关与多级缓存架构落地实战

【完结13章】高性能多级网关与多级缓存架构落地实战 给大家分享一套网关课程——高性能多级网关与多级缓存架构落地实战,已完结13章,附源码+电子书。 多级网关与多级缓存架构是一种常用的系统架构设计模式,用于提高系统性能和可扩展性。下面详细介绍一下这两种架构。 多级网关架构(Multi-tier Gateway Architecture): 多级网关架构是指将系统划分为多个层次或级别的网关,每个网关层次负责执行特定的功能。每个网关层次都有其特定的职责,可以是协议转换、数据加工、请求分发等。不同的网关层次可以部署在不同的服务器上,通过网络连接起来。 多级网关架构的主要优点包括: 1. 模块化和可扩展性:通过将系统划分为多个网关层次,可以方便地扩展和替换某个特定层次的功能模块,而无需影响整个系统。 ...阅读全文

博文 2023-12-15 16:18:06 woaiwodejia333

[完结7章]C++大厂面试真题宝典 精选100道

![1.png](http://static.itsharecircle.com/240308/901bc4f770305e90c29771d610d2ba74.png) C++大厂面试汇总,希望对大家的面试有帮助: 1、C和C++的区别 C是面向过程的语言,而C++是面向对象的语言。 C和C++动态管理内存的方法不一样,C是使用malloc/free函数,而C++除此之外还使用new/delete关键字。 C++的类是C里没有的,但是C中的struct是可以在C++中正常使用的,并且C++对struct进行了进一步的扩展,使得struct在C++中可以和class有一样的作用。而唯一和class不同的地方在于struct成员默认访问修饰符是public,而class默认的是private。...阅读全文

博文 2024-03-08 10:29:22 gaindiuhgw

ISA-L库调研

本文分享自天翼云开发者社区《ISA-L库调研》,作者:何****尔1.Intel SIMD指令集SIMD(single instruction multiple data)单指令多数据流,能够复制多个操作数,并把它们打包在大型寄存器的一组指令集。以同步方式,在同一时间内执行同一条指令。以加法指令为例,单指令单数据(SISD)的CPU对加法指令译码后,执行部件先访问内存,取得第一个操作数;之后再一次访问内存,取得第二个操作数;随后才能进行求和运算。而在SIMD型的CPU中,指令译码后几个执行部件同时访问内存,一次性获得所有操作数进行运算。这个特点使SIMD特别适合于多媒体应用等数据密集型运算。目前主流的支持SIMD相关指令的寄存器有128bit(XMM 指令)、256bit(YMM 指令)这两...阅读全文

博文 2024-07-19 15:56:33 Tianyiyun

存储结构的种类与比较

本文分享自天翼云开发者社区《存储结构的种类与比较》,作者:3****m一、存储结构的种类顺序存储结构顺序存储结构是一种线性数据存储方式,数据按照顺序方式存储在一片连续的存储区域中。顺序存储结构的特点是数据元素之间的逻辑关系与物理位置的存储顺序一致。这种存储结构适用于数据量较小、数据元素之间关系简单的情况。链式存储结构链式存储结构是一种非线性数据存储方式,通过指针或链接将各个数据元素链接起来。链式存储结构的特点是数据元素的物理位置可以不相邻,但通过指针或链接保持逻辑上的关联。这种存储结构适用于数据量大、数据元素之间关系复杂的情况。散列存储结构散列存储结构是一种基于哈希函数的数据存储方式,通过将数据元素的键值映射到固定大小的数组中,实现数据的快速检索。散列存储结构的特点是数据的检索速度快,但需要...阅读全文

WPF框架系列课程(小白进阶选择)

学习地址1:https://pan.baidu.com/s/1qOyFstIuAnTIlBo0-K1YDg 提取码: 68vv 学习地址2:https://share.weiyun.com/VAU3sFU2 密码:9cqtcj WPF 主要编程模型通过托管代码公开。 在 WPF 的早期设计阶段,曾有过大量关于如何界定系统的托管组件和非托管组件的争论。 CLR 提供一系列的功能,可以提高开发效率和可靠性(包括内存管理、错误处理和通用类型系统等),但这是需要付出代价的。 PresentationFramework、PresentationCore 和 milcore是 WPF 的主要代码部分。 在这些组件中,只有一个是非托管组件 - milcore。 milcore 是以非托管代码编写的,目的是...阅读全文

博文 2023-11-30 15:34:29 giadnbhaytgw

【小家java】Java线程池之---ForkJoinPool线程池的使用以及原理_forkjoinpool自定义线程池

相关阅读 【小家java】java5新特性(简述十大新特性) 重要一跃 【小家java】java6新特性(简述十大新特性) 鸡肋升级 【小家java】java7新特性(简述八大新特性) 不温不火 【小家java】java8新特性(简述十大新特性) 饱受赞誉 【小家java】java9新特性(简述十大新特性) 褒贬不一 【小家java】java10新特性(简述十大新特性) 小步迭代 【小家java】java11新特性(简述八大新特性) 首个重磅LTS版本 【小家java】Java中的线程池,你真的用对了吗?(教你用正确的姿势使用线程池) 小家Java】一次Java线程池误用(newFixedThreadPool)引发的线上血案和总结 【小家java】BlockingQueue阻塞队列详解以及5...阅读全文

博文 2023-12-01 10:52:18 CSDN博客

【完结28章】Go开发疑难杂症终结者通关指南

【完结28章】Go开发疑难杂症终结者通关指南 随着互联网的普及和信息化的发展,软件项目的开发也越来越受到重视。在众多的编程语言中,Go语言因其强大的性能、高效的并发能力和简单易学的语法成为了众多开发者的首选。 并发控制与竞态条件 Go语言的并发模型被称为“goroutine”,它使得并发开发变得非常简单。但是并发开发也会面临一些挑战,特别是竞态条件。竞态条件指在多线程环境下,由于线程执行的顺序不确定,导致程序输出结果的不确定性。在Go语言中,可以使用互斥锁(mutex)或通道(channel)来解决竞态条件的问题。互斥锁可以在访问共享资源前进行加锁,在访问结束后释放锁,保证同一时间只有一个goroutine可以访问该资源。而通道可以将数据从一个goroutine发送给另一个goroutine...阅读全文

博文 2024-12-05 14:54:02 woaidaqipaiqiu1122

OpenGL-自主高性能三维GIS平台架构与实现(第二季)

![1.png](http://static.itsharecircle.com/240102/1fae1f9f8b19ebc2ece790cd6a27d9cb.png) OpenGL(Open Graphics Library)是一个跨编程语言、跨平台的编程图形程序接口,它将计算机的资源抽象称为一个个OpenGL的对象,对这些资源的操作抽象为一个个的OpenGL指令。 OpenGL ES(OpenGL for Embedded Systems)是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计,去除了许多不必要和性能较低的API接口。 Vulkan学习难度过高,个人做项目太耗时间,所以OpenGL依旧是很好的选择。很多大神都认为,先学OpenGL打基础...阅读全文

博文 2024-01-02 18:51:15 feilipu2023nui

PostgreSQL DBA实战视频教程(10门课程合集)

PostgreSQL DBA实战视频教程(10门课程合集) PostgreSQL作为一款功能强大的开源关系型数据库,其DBA(数据库管理员)在日常管理和维护中需要掌握一系列的SQL语句来确保数据库的性能和安全,以下是一些PostgreSQL DBA最常使用的SQL命令和技术介绍: 数据库连接与信息查询 连接到数据库并获取基本信息是DBA的日常任务之一,使用以下命令可以查看数据库的版本信息、当前设置的参数以及数据库列表。 -查看 PostgreSQL 版本 SELECT version(); -查看所有数据库 SELECT datname FROM pg_database; -查看当前设置的参数 SHOW config_file; 数据库维护 数据库维护包括备份恢复、性能调优、索引管理等。 数...阅读全文

博文 2024-09-09 16:47:51 woaidaqipaiqiu1122

MyBatis实战指南(三):常用注解及使用方法

在前面的两篇文章中,我们已经详细介绍了MyBatis的工作原理和基本使用。今天,我们将深入探讨MyBatis的一个重要特性——注解。如果你对MyBatis的注解还不熟悉,那么这篇文章将为你打开一扇新的大门。 ## 一、什么是注解(Annotation) 首先,我们需要明白什么是注解。注解 Annotation 是从JDK1.5开始引入的新技术。 在Java中,注解是一种用于描述代码的元数据,它可以被编译器、库和其他工具读取和使用。MyBatis的注解就是用来简化XML配置的,它们可以让你的代码更加简洁、易读。 **注解的作用:** - 不是程序本身,对程序作出解释 - 可以被其他程序读取到 **Annotation格式:** 注解是以@注解名的方式在代码中实现的,可以添加一些参数值 如:@S...阅读全文

博文 2024-01-18 16:18:24 YDYXCODE

【干货】一文掌握JavaScript检查对象空值的N种技巧!

在开发 JavaScript 应用程序时,经常需要检查对象是否为空。这是因为在处理和操作对象数据时,我们需要确保对象包含有效的值或属性。以下是一些常见情况,我们需要检查 JavaScript 对象是否为空: **防止空引用错误:** 当我们尝试访问或使用一个空对象时,可能会导致空引用错误(如 TypeError: Cannot read property ‘x’ of null)。通过检查对象是否为空,我们可以避免这些错误的发生,并采取相应的处理措施。 **数据验证和表单提交:** 在表单提交之前,通常需要验证用户输入的数据是否有效。如果对象为空,表示用户未提供必要的数据或未填写表单字段,我们可以显示错误消息或阻止表单提交。 **条件逻辑和流程控制:** 根据对象是否为空,可以根据不同的条件...阅读全文

博文 2024-01-30 10:31:39 YDYXCODE

Java如何打印Hbase rowkey

步骤1: 设置HBase环境与连接确保已经正确配置了HBase的客户端依赖(如hbase-client、hbase-common等),并设置了HBase的ZooKeeper地址。以下是一个简化的示例,假设您已经有了一个配置好的Configuration对象(conf)和表名(tableName):import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.TableName;import org.apache.hadoop.hbase.client.Connection;import org.apache.hadoop.hbase.client.ConnectionFactory;// 创建...阅读全文

博文 2024-05-12 12:49:11 zhidiantech

[24章]Qt 全流程实战企业级项目 - 云对象存储浏览器

学习地址1:https://pan.baidu.com/s/1OeNVv-9zowTbFVIpjSl8aQ 提取码:86h5 学习地址2:https://pan.baidu.com/s/187GgonRED21EseHMNE5ayg 提取码:bwsj 今天给大家讲解关于Qt的内容,我会在文章里面带着大家从0到1为你系统构建Qt知识体系,然后全流程实战开发项目“云对象存储浏览器”,让大家少走弯路,更快速的掌握Qt技术。 那么我们先来认识一下,什么是QT,他的具体作用是什么,应用在哪些方面? Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。 QT之所以能够在全世界范围内得到广大软件...阅读全文

博文 2023-12-12 15:29:25 maudnwiugbn

存储程序和程序控制:开发经验分享及操作过程详解

本文分享自天翼云开发者社区《存储程序和程序控制:开发经验分享及操作过程详解》,作者:二进制诗人存储程序和程序控制是计算机行业中非常重要的一部分。它涉及到如何将程序和数据存储在计算机内存中,并通过程序控制来实现各种功能。本文将分享我的开发经验,并详细解释如何进行存储程序和程序控制的操作过程。1.理解存储程序和程序控制的基本概念 在计算机中,存储程序是指将程序和数据存储在内存中的过程。程序控制是指通过编写程序来控制计算机的运行,实现各种功能。理解这些基本概念是进行存储程序和程序控制开发的基础。2.选择合适的编程语言和开发环境根据具体的需求和开发经验,选择合适的编程语言和开发环境非常重要。常用的编程语言包括C、C++、Java等,而开发环境则可以选择Visual Studio、Eclipse等。根...阅读全文

博文 2024-01-12 10:50:50 Tianyiyun

【完结14章】MQ大牛成长课--从0到1手写分布式消息队列中间件

【完结14章】MQ大牛成长课--从0到1手写分布式消息队列中间件 消息中间件是一种用于构建分布式系统的软件基础设施,提供了一种异步的,可靠的,可伸缩的消息传递机制。 提高系统性能首先考虑的是数据库的优化,但是数据库因为历史原因,横向扩展是一件非常复杂的工程,所有我们一般会尽量把流量都挡在数据库之前。 不管是无限的横向扩展服务器,还是纵向阻隔到达数据库的流量,都是这个思路。阻隔直达数据库的流量,缓存组件和消息组件是两大杀器。 什么是消息队列 消息队列(Message queue,简称MQ),是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。从字面理解就是一个保存消息的一个容器。 常见的消息队列 当前使用较多的消息队列有RabbitMQ、RocketM...阅读全文

博文 2024-09-24 14:57:24 woaidaqipaiqiu1122

HBase模式设计是需要注意的问题

HBase模式设计是需要注意的问题:1.设计准则1)行键设计读访问模式:通过行键索引提升查询效率。HBase中唯一可用的索引只有行键索引,需要对行键精心设计来尽可能地优化数据查询。某项数据放在行键中会得到更好的查询性能,但是行键的长度变长,行键索引会占用更多的内存资源,由于行键在每个列族中保存,也会需要更多的磁盘空间。写访问模式:避免同一时间段里写入的数据形成热点。随机前缀:在原先彼此相邻的行键前面加上一个随机生成的前缀。哈希前缀:针对随机前缀生成的行键具有不确定性的缺陷,哈希前缀做了改进,通过对原行键调用选定的哈希函数生成前缀。反转键:将原先彼此相邻的行键按字节序反转生成新的行键。以上几种策略都会失去数据按特定行键顺序存放的特性,在进行范围查询时需要访问全部索引数据且需要有更多的磁盘IO操...阅读全文

博文 2024-01-09 17:38:06 云创智学

【完结16章】手把手带你实战一线大厂微服务全链路追踪

【完结16章】手把手带你实战一线大厂微服务全链路追踪 微服务全链路追踪详解 1. 什么是微服务全链路追踪? 微服务全链路追踪是一种用于监控和分析微服务架构中请求传递过程的技术。它能够将一次分布式请求还原成调用链路,进行日志记录、性能监控,并将一次分布式请求的调用情况集中展示。这包括各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等信息。 2. 微服务全链路追踪的必要性 ‌故障排查‌:当系统出现故障时,可以通过追踪请求的路径和性能指标,快速定位故障的根本原因。 ‌性能优化‌:通过分析请求的性能指标,可以找到系统中的性能瓶颈,并进行优化。 ‌容量规划‌:通过分析请求的负载情况,可以对系统的容量需求进行评估和规划。 ‌依赖分析‌:通过分析请求的依赖关系,可以了解系统中各个微服务...阅读全文

博文 2024-12-27 12:07:29 woaidaqipaiqiu1122

Spring AI 的核心功能与应用场景解析

### Spring AI 的核心功能与应用场景解析 Spring AI 是 Spring 官方推出的开源框架,旨在为 Java 开发者提供便捷的 AI 能力集成方案,通过标准化接口和模块化设计,降低大模型应用开发门槛。以下是其核心能力与应用场景的详细解读: --- #### **一、核心功能** 1. **跨模型统一接口** • 支持 **20+主流AI服务商**(如 OpenAI、DeepSeek、Hugging Face、通义等)的文本生成、多模态模型调用,开发者无需关注不同服务商的底层 API 差异。 • 提供 **ChatClient** 和 **ChatModel** 两类组件,分别对应直接调用模型的“电话听筒”和封装业务逻辑的“智能助手”。 2. **工程化增强能力** • *...阅读全文

博文 2025-03-13 14:45:11 zhidiantech

上榜!天翼分布式云操作系统入选“科创中国”先导技术榜单!

在近日召开的第二十六届中国科协年会上,中国科协正式发布2023年“科创中国”系列榜单,榜单包括先导技术榜、新锐企业榜、融通创新组织榜、技术经理人先锋榜等。天翼云自主研发的天翼分布式云操作系统入选先导技术榜,充分展现了在科技创新方面的硬实力。​“科创中国”系列榜单由中国科协设立。2023年“科创中国”系列榜单聚焦“技术攻关+成果转化+组织赋能+人才支撑”全过程创新生态链,挖掘一批前沿技术成果、潜力型科创企业、产学研协同创新组织、技术转移转化人才,打造特色与引领兼备的榜单品牌。其中,先导技术榜遴选出具有产业先导意义和广阔市场前景的前沿技术。天翼分布式云操作系统的成功入选,代表了权威机构对天翼云科技创新能力的高度认可。天翼分布式云操作系统TeleCloudOS(简称:云操作系统)核心组件自研,突破...阅读全文

博文 2024-07-15 16:43:17 Tianyiyun

实“智”名归!天翼云论文被国际顶会IEEE CVPR收录!

近日,由天翼云弹性网络产品线撰写的《Small Scale Data-free Knowledge Distillation》长文被IEEE Conference on Computer Vision and Pattern Recognition收录。​IEEE CVPR是人工智能与模式识别技术领域的顶/级国际学术会议,也是中国计算机学会CCF推荐的A类国际会议之一。该会议始于1983年,是业界公认的全球计算机视觉三大顶/级会议之一。此次论文被IEEE CVPR成功收录,不仅展现了天翼云在AI领域的创新能力,也意味着中国企业在国际学术舞台上的影响力日益增强。《Small Scale Data-free Knowledge Distillation》这篇长文提到,知识蒸馏技术(Knowled...阅读全文

博文 2024-05-11 10:20:35 Tianyiyun

redis渐进式rehash

本文分享自天翼云开发者社区《redis渐进式rehash》,作者:l****nRedis是k-v型数据库,其内部设计了一种dict类型的数据结构用来存储键值结构。dict 通常的存储结构是 Key-Value 形式的,通过 Hash 函数对 key 求 Hash 值来确定 Value 的位置,因此也叫 Hash 表,是一种用来解决算法中查找问题的数据结构,默认的算法复杂度接近 O(1)。使用哈希表总是会遇到哈希碰撞问题,dict使用拉链法将发生碰撞的元素组成链表,挂在发生碰撞的桶下,但是随着存储元素的不断增加,碰撞发生的几率也不断增大,一个桶下链接的链表长度越来越长,定位一个key的时间复杂度就无法保证了,redis作为内存数据库,本身追求的是更高的处理性能,线性增加的耗时无疑是不能接受的,...阅读全文

博文 2024-08-02 16:55:12 Tianyiyun

接口性能测试---locust脚本编写(一)

本文分享自天翼云开发者社区《接口性能测试---locust脚本编写(一)》,作者:丁****乐一、安装locust是用python编写的一款开源接口性能测试工具,以python3为例,直接使用pip安装即可,pip3 install locust。安装完成之后可使用locust --version查看对应的版本。​二、脚本编写通过编写python脚本模拟用户行为进行性能测试,locust python脚本一种比较常见的写法是将脚本分成三部分,第一部分进行相关导入、第二部分进行用户行为定义,第三部分进行用户定义。以一个例子进行讲解​首行进行了包导入,导入了常用的类、装饰器和函数。Behave定义了进行用户行为定义,声明了两个操作,一个是get请求,一个是post请求。TestUser定义了用户...阅读全文

博文 2024-06-14 14:59:00 Tianyiyun

10章-SpringBoot 3 + Flutter3 实战低代码运营管理下载

10章-SpringBoot 3 + Flutter3 实战低代码运营管理 地址1:https://pan.baidu.com/s/1Uay0bc6ghAVf401t-OdXiQ 提取码:sqcs 地址2:https://pan.baidu.com/s/1l3kJpBzm9tw0xbTC2BVbew 提取码:2law 1、什么是低代码 低代码(Low Code)是一种可视化的应用开发方法,用较少的代码、以较快的速度来交付应用程序,将程序员不想开发的代码做到自动化,称之为低代码。Gartner随后又提出了aPaaS和iPaaS的概念,其中aPaaS概念和低代码非常吻合。随着这一概念的不断推广,全球市场上都涌现出了很多低代码平台。 2、低代码起源 Gartner随后又提出了aPaaS和iPaaS...阅读全文

博文 2023-11-23 15:40:54 uandyndgabn2003

带你走进量子云平台(二)

本文分享自天翼云开发者社区《带你走进量子云平台(二)》,作者:Qubit量子叠加和量子纠缠这两个基本特性,使得量子计算机在解决某些类型的问题时比经典计算机快得多。这两个属性从本质上决定了一个基本事实——量子计算天然地由概率主导。换句话说,这意味着量子程序本质上是概率性的、随机的。因此,要在量子计算机上实现业务逻辑或算法需要独特的编程模型。量子程序和经典程序的本质区别是它们能够利用量子计算机的独特能力(即量子位的叠加和纠缠)。量子计算领域的研究人员目前已经开发了一些技术,包括振幅放大技术、量子傅立叶变换技术、相位回退技术、量子相位估计技术以及量子游走技术。这些技术利用量子计算机的特性来快速解决某些在经典计算机上需要更长时间才能解决的问题。比如,量子搜索算法就采用了振幅放大技术,大整数分解算法则...阅读全文

MQ大牛成长课–从0到1手写分布式消息队列中间件(完结)

MQ大牛成长课–从0到1手写分布式消息队列中间件(完结) 获课:www.bcwit.top/5291/ 获取ZY↑↑方打开链接↑↑ 如何吃透分布式MQ框架 要吃透分布式消息队列(MQ)框架,首先需要理解消息队列的基础概念、工作原理以及如何在分布式系统中应用它。以下是一个从基础到进阶的学习路线,可以帮助你全面掌握分布式消息队列框架。 1. 理解消息队列的基础概念 1.1 消息队列(MQ)的基本定义 消息队列(Message Queue, MQ)是一种进程间通信的中间件,它允许应用程序之间通过消息的形式交换信息。消息队列的核心是解耦系统间的依赖关系,使得生产者和消费者可以独立地运行。MQ系统通常支持异步通信,可以提高系统的性能和扩展性。 1.2 MQ的基本概念 生产者:产生消息的应用。 消费者:...阅读全文

贺老师聊编程竞赛六合一 语法+数据结构+算法+初赛+复赛+真题精讲

获课:youkeit.xyz/13689/获取ZY↑↑方打开链接↑↑贺老师的《C++普及组全套》课程通常是为初学者和准备参加信息学奥林匹克竞赛(CSP-J/S,即原来的NOIP普及组)的学生设计的。这套课程涵盖了C++编程的基础知识和竞赛中常用的算法与数据结构。以下是这套课程可能包含的主要内容和学习路径:1. C++基础语法基本语法:变量、数据类型、运算符、输入输出等。控制结构:条件语句(if-else)、循环语句(for、while、do-while)。函数:函数的定义与调用、参数传递、递归。数组与字符串:一维数组、二维数组、字符串操作。2. C++进阶语法指针与引用:指针的基本概念、指针运算、引用。结构体与联合体:自定义数据类型、结构体的使用。动态内存分配:new和delete操作符、动...阅读全文

博文 2025-03-02 10:55:47 13933033762

全新Swift从入门到进阶实战探探iOS APP(完结)

xia仔ke:xingkeit.top/9447/ 获取ZY↑↑方打开链接↑↑ Swift是一种由苹果公司开发的编程语言,旨在取代Objective-C,提供更现代化的编程体验。自2014年首次发布以来,Swift迅速成为开发iOS、macOS、watchOS和tvOS应用的主流语言。Swift的语法设计简洁明了,易于学习和使用,适合从初学者到专业开发者的各类开发需求。本文将介绍Swift的基础语法,包括变量与常量、数据类型、控制流、函数、类与结构体等核心概念。 1. 变量与常量 在Swift中,变量和常量用于存储数据。 变量:使用var关键字定义,表示可以改变其值。 swiftvar name = "Alice"name = "Bob" // 可以修改 常量:使用let关键字定义,表示不可...阅读全文

博文 2025-01-22 21:58:42 lxy123456

CBAM注意力模型介绍

本文分享自天翼云开发者社区《CBAM注意力模型介绍》,作者:Liuzijia近年来,注意力机制在各项深度学习任务中表现出色。研究表明,人类视觉感知过程中,注意力机制发挥了积极的效果,可以帮助人们高效和自适应的处理视觉信息并聚焦于显著的画面区域,从而能够做出最准确的判断。因此,通过模拟视觉注意力机制,在网络结构中加入注意力模块,使模型可以更加关注待分类图像中的关键信息,抑制不相关的特征信息,促使模型对重要的特征区域更加敏感,从而有效提升相关任务的性能。本文简要介绍一种经典的混合注意力模型CBAM。CBAM[1]是一种结合了通道与空间注意力的混合注意力模块,通过该模块可以自适应的强化特征提取过程。​图1 CBAM结构(引用自文献[1])图1为CBAM的结构。对于输入特征图,该模块会依次推断出一个...阅读全文

博文 2024-06-24 17:29:03 Tianyiyun

MySQL必会核心问题50讲(完结9章)

MySQL必会核心问题50讲(完结9章) 什么是数据库 数据库就是用于存储和管理数据的仓库,英文:DataBase(简称:DB),而在数据库中的数据也是有组织的进行存储! 采用的数据库的好处 如果我们采用数据库存储数据的话,我们不仅可以持久化存储数据(瞬时数据转化为永久数据),也可以方便存储和管理数据(因为文件不便于管理数据,那就由数据库来管理),还可以统一的方式操作数据库 SQL(MySQL、Oracle、SqlServer等关系型数据库管理系统 SQL操作方式基本一致,但是关系型数据存在SQL方言) SQL简介 MySQL是属于关系型数据库的一类,它是开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle又收购了Sun公司,现在,MySQL属于Oracle,目前,MySQ...阅读全文

博文 2024-09-30 14:52:33 woaidaqipaiqiu1122

「完结18章」C++大型流媒体项目-从底层到应用层千万级直播系统实战

「完结18章」C++大型流媒体项目-从底层到应用层千万级直播系统实战​获课:「完结18章」C++大型流媒体项目-从底层到应用层千万级直播系统实战获取ZY↑↑方打开链接↑↑C++通用基础函数库实现构建一个C++通用基础函数库是一个有助于提高代码复用性和开发效率的好方法。这个库可以包含一系列常用的数据结构、算法以及工具函数,以支持各种编程任务。以下是一些建议的模块和它们可能包含的功能:1. 数据结构智能指针:尽管C++11已经引入了std::shared_ptr, std::unique_ptr等,但你可以实现自己的版本来学习内存管理。容器类:如链表、栈、队列、哈希表等,这些可以基于STL(标准模板库)进行扩展或自定义实现。2. 算法排序算法:实现快速排序、归并排序、堆排序等多种排序算法,并考虑...阅读全文

博文 2024-12-22 15:31:51 khujnk

C/C++企业级项目实战班(浏览器/即时通讯/网盘/安全卫士/播放器)

C/C++企业级项目实战班(浏览器/即时通讯/网盘/安全卫士/播放器)​获课:C/C++企业级项目实战班(浏览器/即时通讯/网盘/安全卫士/播放器)获取ZY↑↑方打开链接↑↑C和C++是两种密切相关的编程语言,但它们有着不同的设计目标和发展历程。以下是关于这两种语言的详解:C 语言简介诞生:C语言由Dennis Ritchie在1972年左右为Unix操作系统开发。特点:C是一种中级语言,它结合了高级语言的特性和低级(汇编)语言的功能。这意味着程序员可以用C编写接近硬件级别的代码,同时享受结构化编程的优势。核心特性简洁性:语法简单,关键字少,使得学习曲线相对平缓。指针操作:提供了直接访问内存地址的能力,使程序员可以高效地管理和操作内存。函数库:标准库功能强大,包括输入输出、字符串处理、数学运...阅读全文

博文 2024-12-23 14:48:01 khujnk

java.lang.Void 与 void的比较及使用_public class void

void关键字表示函数没有返回结果,是java中的一个关键字。 java.lang.Void是一种类型。例如给Void引用赋值null。 Void nil = null; 通过Void类的代码可以看到,Void类型不可以继承与实例化。 public final class Void { /** * The {@code Class} object representing the pseudo-type corresponding to * the keyword {@code void}. */ @SuppressWarnings("unchecked") public static final Class TYPE = (Class) Class.getPrimi...阅读全文

博文 2024-08-27 16:34:46 CSDN博客

「2024期」奇牛 跨平台Qt高级开发

「2024期」奇牛 跨平台Qt高级开发获课:aixuetang点xyz/14215/获取ZY↑↑方打开链接↑↑QtQQ-常用操作类在开发基于Qt框架的QQ类应用(如QtQQ)时,会用到一系列常用的操作类。这些类不仅帮助开发者构建用户界面,还实现了与QQ相关的各种功能。以下是一些在QtQQ开发中可能会用到的常用操作类及其简要说明:核心框架类QObject:它是所有Qt对象的基类,提供了对象模型的核心功能,如信号与槽机制。QWidget:所有窗口部件的基类,提供了窗口部件的基本功能,如大小、位置、显示等。QMainWindow:代表一个带有菜单栏、工具栏和状态栏的主窗口。用户界面类QPushButton:按钮类,用于触发事件,如点击事件。QLabel:用于显示文本或图像,可以作为静态文本展示或动...阅读全文

博文 2025-01-05 20:13:53 jihkk

NestJS从拔高到精通,大型复杂业务架构落地实践

xia仔ke:itazs.fun/13402/ 一、NestJS 简介 NestJS 是一个基于 Node.js 的渐进式框架,用于构建高效、可维护和可扩展的服务器端应用程序。它结合了面向对象编程(OOP)、函数式编程(FP)和响应式编程(RP)的最佳特性,深受 Angular 开发者的喜爱,因为它的架构和概念与 Angular 有很多相似之处。 核心概念 模块(Modules):NestJS 应用程序是由模块构建的。模块是一个带有@Module()装饰器的类,这个装饰器提供了元数据,用于组织应用程序的结构。例如,一个典型的模块可能包含控制器(Controllers)、服务(Services)、提供者(Providers)等。模块可以导入其他模块,实现功能的复用和组合。 控制器(Contro...阅读全文

博文 2024-11-22 16:23:53 17603257127