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

再探go modules:使用与细节 - apocelipes

还有半个月go1.12就要发布了。这是首个将go modules纳入正式支持的稳定版本。 距离go modules随着go1.11正式面向广大开发者进行体验也已经过去了半年,这段时间go modules也发生了一些变化,借此机会我想再次深入探讨go modules的使用,同时对这个新生包管理方案做一些思考。 本文索引 版本控制和语义化版本 控制包版本 语义化版本 何谓语义化 为何使用语义化版本 语义化版本带来的影响 一点思考 replace的限制 本地包替换 顶层依赖与间接依赖 限制 发布go modules go.sum不是锁文件 使用vendor目录 注意包的版本 小结 版本控制和语义化版本 包的版本控制总是一个包管理器绕不开的古老话题,自然对于我们的go modules也是这样。 我们...阅读全文

博文 2019-05-24 07:59:15 博客园

golang包管理解决之道——go modules初探 - apocelipes

golang的包管理是一直是为人诟病之处,从golang1.5引入的vendor机制,到准官方工具dep,目前为止还没一个简便的解决方案。 不过现在go modules随着golang1.11的发布而和我们见面了,这是官方提倡的新的包管理,乃至项目管理机制,可以不再需要GOPATH的存在。 go module的初始化 现在modules机制仍在早期阶段,所以golang提供了一个环境变量“GO111MODULE”,默认值为auto,如果当前目录里有go.mod文件,就使用go modules,否则使用旧的GOPATH和vendor机制,因为在modules机制下go get只会下载go modules,这一行为会在以后版本中成为默认值,这里我们保持auto即可,如果你想直接使用modules...阅读全文

博文 2019-05-24 07:59:00 博客园

你所不知道的,华为项目管理之道!

众所周知,沟通在项目管理中很重要,但即便优秀如华为,在项目初期的时候,也吃过很多沟通不畅的亏。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200414144443868.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) 今天这篇文章就来解读一下,华为项目管理的有效沟通是怎么做的,以及在项目之余,华为日常工作中的高效沟通方法。希望对你有帮助~ 一、缺乏有效沟通对项目是灾难性的 在华...阅读全文

物联网协议Coap协议介绍

COAP协议简介 Coap(Constrained Application Protocol)是一种在物联网世界的类web协议,它的详细规范定义在 RFC 7252。COAP名字翻译来就是“受限应用协议”,顾名思义,使用在资源受限的物联网设备上。物联网设备的ram,rom都通常非常小,运行TCP和HTTP是不可以接受的。 COAP协议特点 1 COAP协议网络传输层由TCP改为UDP。 COAP协议层 2 它基于REST,server的资源地址和互联网一样也有类似url的格式,客户端同样有POST,GET,PUT,DELETE方法来访问server,对HTTP做了简化。 3 COAP是二进制格式的,HTTP是文本格式的,COAP比HTTP更加紧凑。 4 轻量化,COAP最小长度仅仅4B,一个...阅读全文

UML 各种图总结精华

UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。一、基本概念 如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。静态图分为:用例图,类图,对象图,包图,构件图,部署图。 动态图分为:状态图,活动图,协作图,序列图。 1、用例图(UseCase Diagrams): 用例图主要回答了两个问题:1、是谁用软件。2、软件的功能。从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。 2、类图(Class Diagrams): 用户根...阅读全文

博文 2020-04-12 09:17:10 知乎

Windows线程管理和调度机制概述_m_buddy的博客

1. 线程管理 (1)线程,有时被称为轻量级进程,是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针,寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。 (2)进程(Process)定义了一个执行环境,包括它自己私有的地址空间、一个句柄表,以及一个安全环境;线程(thread)则是一个控制流,有自己的调用栈(call stack),记录了执行的历史。每个进程都包含一个或多个线程,当进程被初始化创建时系统为该进程创建第一个线程;当最后一个线程结束时,进程也随之结束。 说道这里就需要说到线程的工作模式: 进程中的线程既可以在用户模式下运...阅读全文

博文 2020-07-14 02:25:32 CSDN博客_windows线程调度

Git恢复之前版本的两种方法reset、revert(图文详解)_游笑天涯

2019/7/27 修改更新 一、问题描述 在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset)、反做(revert)。 二、背景知识 git的版本管理,及HEAD的理解 使用git的每次提交,Git都会自动把它们串成一条时间线,这条时间线就是一个分支。如果没有新建分支,那么只有一条时间线,即只有一个分支,在Git里,这个分支叫主分支,即master分支。有一个HEAD指针指向当前分支(只有一个分支的情况下会指向master,而master是指向最新提交)。每个版本都会有自己的版本信息,如特有的版本号、版本名等。如下图,假设只有一个分支: 三、解决方法 方法一:git re...阅读全文

博文 2020-07-21 12:51:38 CSDN博客_git revert

grafana登录失败无法从cookie中获取用户信息_grafana error while signing in user_独步秋风的博客

背景 grafana从版本6.3升级到7.2.1,通过chrome浏览器无法登录,需要清除浏览器缓存会话才可以正常登录,这样用户体验并不好,不可能使得所有用户都要在登录前都清除一下浏览器缓存会话。 chrome 版本信息 Google Chrome86.0.4240.198 (正式版本) (64 位) (cohort: Stable)修订版本d8a506935fc2273cfbac5e5b629d74917d9119c7-refs/branch-heads/4240@{#1431}操作系统Windows 10 OS Version 1909 (Build 18363.1198)JavaScriptV8 8.6.395.25Flash32.0.0.453 服务端报错信息 t=2020-11-2...阅读全文

博文 2023-09-06 09:03:16 CSDN博客

[完结19章]SpringBoot开发双11商品服务系统

今天给大家分享一下关于SpringBoot开发双11商品服务系统的整个流程,我将深度还原大厂实习期技术成长全流程,让你收获大厂项目开发全流程与实战经验,具备应对大流量场景问题的解决能力,全面助力提升实习/转正/跳槽表现力与成功率。 以下是参考资料下载: 网盘地址:https://pan.baidu.com/s/1QNf3FbzlswJd_DU3FC64nw 提取码:q61x 腾讯微云下载地址:https://share.weiyun.com/o6TKslZV 密码:qn8bim Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spr...阅读全文

博文 2023-11-22 14:46:53 kaidnxhd2023

解决项目版本冲突——maven-shade插件使用

背景 当我们在maven项目中引入第三方组件时,三方组件中的依赖可能会与项目已有组件发生冲突。 比如三方组件中依赖httpclient的版本是4.5.x,而项目中已有的httpclient版本是3.1.x,那么此时就会产生一下两种情况: 如果用三方组件的高版本httpclient覆盖原有的低版本httpclient,有可能会导致原来项目启动运行失败。即使高版本兼容低版本,也不能允许开发人员有这样高风险的操作 如果在三方maven依赖中对其对依赖的httpclient在引入时使用进行排除,使三方组件使用项目中的低版本httpclient,此时可能会因为版本不一致导致三方组件无法使用 在这样的情况下我们应当如何保证不影响项目原有依赖版本的情况下正常使用三方组件呢?此时可以考虑使用maven-sh...阅读全文

云安全CIA:关键信息保证的三大支柱

本文分享自天翼云开发者社区《云安全CIA:关键信息保证的三大支柱》,作者:每日知识小分享随着云计算的迅速普及,云安全问题越来越受到关注。云安全涉及的范围广泛,涵盖了云端数据中心的物理安全、网络安全、数据安全、应用安全等多个方面。而在这些安全问题中,CIA原则是云安全中最为核心的部分。CIA原则由机密性(Confidentiality)、完整性(Integrity)和可用性(Availability)三个关键信息保证组成,是衡量云服务提供商是否能够满足客户数据安全需求的重要标准。本文将从理论和实践两个方面对云安全的CIA原则进行详细解析。一、机密性(Confidentiality)机密性是指确保云服务用户的数据不被非授权访问或泄露。在云环境中,机密性通常涉及到数据加密、访问控制等措施。1.数据...阅读全文

QUIC协议在天翼云CDN全站加速产品中的应用

本文分享自天翼云开发者社区《QUIC协议在天翼云CDN全站加速产品中的应用》,作者:郭****迎1、什么是QUIC协议QUIC全称:Quick UDP Internet Connections,是一种实验性传输层网络协议,提供与TLS/SSL相当的安全性,同时具有更低的连接和传输延迟。QUIC目前的主要应用于http协议,基于QUIC的HTTP/3协议(RFC9114),除了拥有HTTP/2的各项优点,同时由于QUIC的特性,在弱网环境下拥有更强大的性能优势。QUIC由Google自研,2012年部署上线,2013年提交IETF,2021年5月,IETF推出标准版RFC9000。QUIC的主要优势如下:1)握手建连更快QUIC建连时间大约0~1 RTT,在两方面做了优化:传输层使用了UDP,...阅读全文

博文 2023-05-16 02:37:14 Tianyiyun

重学C++ ,重构你的C++知识体系[源码+PDF文档]

![1.png](http://static.itsharecircle.com/240303/6e9f3ce53c939832cacf6dd545189ac5.png) 为什么我们还要学C++ 因为在贴近底层、追求性能、降低功耗方面,C++几乎没有敌手,小到嵌入式、大到分布式,C++都是解决问题的利器,面向物联网的“嵌入式”开发和面向大型化的“分布式”开发都离不开它5G即来,C++在起势,你不抓住吗? 一、选择编译器 在C++编程中,我们需要选择一个合适的编译器来将我们编写的源代码转换为可执行的二进制文件。目前常用的C++编译器有GCC、Clang和Microsoft Visual C++等。这里我们选择GCC作为示例。 二、安装GCC编译器 GCC编译器是一个开源的跨平台工具链,可以在多...阅读全文

博文 2024-03-03 15:08:31 feilipu2023nui

云服务器比传统服务器更安全的原因与实现机制

本文分享自天翼云开发者社区《云服务器比传统服务器更安全的原因与实现机制》,作者:3****m随着互联网的普及和云计算技术的发展,越来越多的企业和组织选择使用云服务器来提供和存储数据。与传统服务器相比,云服务器在安全性方面具有诸多优势。本文将围绕云服务器比传统服务器更安全的原因,探讨其实现机制。一、云服务器比传统服务器更安全的原因虚拟化技术云服务器采用虚拟化技术,将物理服务器上的资源(如CPU、内存、存储等)汇聚到一个虚拟的云中,然后通过网络对外提供服务。这种虚拟化技术可以隔离不同用户和业务,防止数据泄露和攻-击。同时,虚拟化技术还可以实现资源的动态调整和负载均衡,提高资源利用率和系统稳定性。容错技术云服务器通常采用容错技术,实现故障自动切换和负载均衡。当某个虚拟机出现故障时,系统会自动将其切...阅读全文

C#+PLC通讯框架串口网口开发课程

C#+PLC通讯框架串口网口开发课程 C# 是面向对象的、面向组件的编程语言。 C# 提供了语言构造来直接支持这些概念,让 C# 成为一种非常自然的语言,可用于创建和使用软件组件。 自诞生之日起,C# 就添加了支持新工作负载和新兴软件设计实践的功能。 C# 本质上是面向对象的语言。 你需要定义类型及其行为。 多项 C# 功能有助于创建可靠且持久的应用程序。 垃圾回收自动回收不可访问的未用对象所占用的内存。 可以为 null 的类型可防范不引用已分配对象的变量。 异常处理提供了一种结构化且可扩展的方法来进行错误检测和恢复。 Lambda 表达式支持函数编程技术。 语言集成查询 (LINQ) 语法创建一个公共模式,用于处理来自任何源的数据。 异步操作语言支持提供用于构建分布式系统的语法。 C# ...阅读全文

博文 2024-03-14 16:19:28 xiaoshuai8888

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

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

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

云数据库MySQL多人协同开发实践

本文分享自天翼云开发者社区《云数据库MySQL多人协同开发实践》,作者:不知不觉随着云计算技术的快速发展,云数据库作为云计算的重要组成部分,为企业提供了高效、灵活和可靠的数据存储和管理服务。其中,MySQL作为一款流行的开源关系型数据库,在云数据库领域具有广泛的应用。多人协同开发是软件开发过程中的重要环节,本文将探讨云数据库MySQL多人协同开发的实践。一、云数据库MySQL多人协同开发的优势高效协作:云数据库MySQL支持多人同时在线编辑和操作,实现了实时同步和冲突解决,提高了团队协作效率。数据安全:云数据库MySQL提供了数据加密、访问控制等安全措施,确保数据在传输和存储过程中的安全性。灵活扩展:云数据库MySQL可以根据业务需求进行弹性扩展,满足不同规模的应用需求。高效性能:云数据库M...阅读全文

博文 2023-12-18 18:29:21 Tianyiyun

CBR云备份与恢复管控简介

本文分享自天翼云开发者社区《CBR云备份与恢复管控简介》,作者:c****n1.CBR云备份与恢复介绍CBR (Cloud Backup & Restore)是一般云厂商提供的备份与恢复服务。用户可以在云端对数据进行备份和恢复,保证数据的安全性和可靠性。使用CBR,用户可以方便地随时随地备份和恢复数据。采用增量备份、快照备份、跨区域复制等先进的备份和恢复技术,提供快速、高效、可靠的数据保护。此外,CBR还提供了基于agent的备份、快照备份、VSS备份等多种备份方式,以适应不同类型的数据和应用。2.云备份与恢复管控介绍CBR 管理架构旨在为用户提供安全、可靠、易用的备份与恢复服务。该架构由几个关键组件组成,包括备份服务端、消息中间件、备份仓库、备份引擎和恢复引擎。​备份服务端为用户提供了基于...阅读全文

博文 2024-07-31 11:31:52 Tianyiyun

亮相2024 DPU&AI Networking创新大会,天翼云斩获两项大奖!

近日,以“智驱网络 芯动未来”为主题的2024 DPU&AI Networking创新大会在北京举办。大会表彰了在DPU与AI网络技术创新及实践应用中取得卓越成就的单位与项目,天翼云科技有限公司荣膺创新引擎奖、《紫金DPU算力卸载与网络加速应用》荣获实践先锋奖,技术创新实力以及应用实践成果再获行业认可。AI算网技术论坛上,天翼云科技有限公司资深研发专家樊小平发表演讲,分享了天翼云在高性能智算网络方面的技术创新。​“创新引擎奖”颁奖仪式​“实践先锋奖”颁奖仪式人工智能时代对智算的需求急剧增长,也对网络提出了前所未有的要求。樊小平表示,建设高性能智算网络面临着诸多挑战。在终端层面,RDMA网卡需接入存储和智算参数面等多个网络平面并面临业务融合加速的问题,RDMA网卡若要发挥极致性能需攻克高性能通...阅读全文

博文 2024-08-15 16:36:40 Tianyiyun

C#上位机开发与工控通讯实战(完结)

C#上位机开发与工控通讯实战(完结) 上位机开发的基本概念 上位机(Host)是指在一个控制系统中,负责接收、处理、展示数据,并与下位机(如PLC、嵌入式设备、传感器等)进行通信的计算机系统。上位机通常有以下几个主要功能: 数据采集与监控:从下位机获取实时数据,如传感器数据、设备状态等。 数据分析与处理:对采集的数据进行计算、分析和处理。 人机界面(HMI):通过图形化界面展示数据,为操作人员提供交互方式。 设备控制:通过上位机向下位机发送控制指令,完成设备的开关控制、参数调整等。 为了实现这些功能,上位机需要具备良好的图形界面、通信协议、数据处理能力等。 在C#中进行上位机开发,通常意味着你将创建一个应用程序来与其他设备(如微控制器或其他计算机)进行通信。这通常涉及到使用串口通信(通过Sy...阅读全文

博文 2024-12-13 16:35:21 woaidaqipaiqiu1122

如何让JS代码变的安全?

本文分享自天翼云开发者社区《如何让JS代码变的安全?》,作者:温****双前端JS代码,直接暴露在浏览器中,任何访问者,都可以随意查看代码。这就导致代码可以被分析、复制、盗用等,进而引发安全问题,如被利用代码bug攻击、揭露功能逻辑、复制出雷同应用等等。对JS代码进行保护:混淆&加密,使代码不可读。即:它人依然可以看到代码,但看到的是加密的代码、无法理解代码,更无法修改。通过混淆加密,使代码变的难以阅读和理解。如果说混淆后机器能执行,人就能理解,只是需要的时间长短问题。这种极端的说法,从理论上来说没错,如果可以投入足够长的时间,程序员甚至可以直接用0101写代码。而从实际角度而言,一段代码如果保护后分析需要的时长,超过开发需要的时长,保护的目的就达到了,就会劝退99.9999%对它有想法的正...阅读全文

博文 2024-09-12 11:22:09 Tianyiyun

程序员软技能-代码之外的生存指南|完结

程序员软技能-代码之外的生存指南|完结​来百度APP畅享高清图片获课:获取ZY↑↑方打开链接↑↑程序员生存指南作为一名程序员,面对日新月异的技术和不断变化的市场需求,如何在职业道路上持续成长和保持竞争力,是每个人都需要思考的问题。本指南旨在为你提供全面的建议和实用的技巧,帮助你在编程世界中更好地生存和发展。1. 持续学习在线课程:利用Coursera、Udacity、edX等平台学习最新的编程技术和框架。技术书籍:阅读经典和技术前沿的书籍,如《Clean Code》、《Design Patterns》等。博客和论坛:关注技术博客和论坛,如Stack Overflow、Medium、Hacker News等,了解行业动态和最佳实践。参加研讨会和会议:参加技术研讨会和会议,如Google I/O...阅读全文

谈谈零信任

本文分享自天翼云开发者社区《谈谈零信任》,作者:姚****亮零信任本质上是以身份为中心的动态访问控制技术。其核心目标就是保障用户数据不被泄露。其理念就是认为,任何人,设备,应用都是不可信的,而传统的网络安全是假设内网是安全的,外网是不安全 的,因此在内外网边界上部署防火墙,IPS,IDS,WAF等安全设备,构筑成一道道城墙,以为就安全了,而在内部就不再设置什么安全控制策略。而我们知道,传统的边界安全设备是抵挡不住APT攻击的,一旦击穿边界,内部又没有安全防护策略,整个内网很快就会被横向渗透控制。因此我们必须假设内网是不安全的,不管是内网还是外网,任何人,任何设备,他们的访问行为都应该进行认证,授权以及加密,并且这个授权还必须是动态调整的,基于多种属性去评估授权,比如,什么人,什么时间,什么地...阅读全文

物联网基础入门,实战可落地的 AIoT 项目(完结无秘)

https://97it.top/1973/ 摘要 随着物联网(IoT)的广泛应用,物联网设备的安全性和互操作性问题愈发显得重要。为了确保物联网设备与平台之间的高效、安全、兼容性对接,物联网认证技术应运而生。主要公有云厂商(如亚马逊AWS、微软Azure、谷歌云、阿里云等)已经建立了一系列的认证标准和技术支持,以促进设备、服务和应用的无缝集成和高效运行。本文将详细探讨主流公有云厂商的物联网认证体系,分析其认证内容、实施流程及其对物联网产业的影响,最终为物联网生态系统的建设提供理论依据。 1. 引言 物联网(IoT)技术正在迅速改变各行各业,其潜力在智能家居、工业自动化、智慧城市等领域得到了充分的展示。然而,物联网的快速发展也带来了许多问题,尤其是设备的互联互通、安全性以及数据的隐私保护。为了...阅读全文

马哥云原生微服务治理大厂冲刺班名师亲授N66(完整,视频+资料)

https://97it.top/14269/引言 随着云计算和容器化技术的普及,容器镜像成为现代应用部署、开发和运维的核心组成部分。容器镜像作为应用及其运行环境的封装,使得开发者能够在任何地方、任何平台上运行应用,简化了开发与运维的复杂性。为了管理和存储这些镜像,镜像仓库(Image Repository)应运而生,而公有云镜像仓库则是目前最为广泛应用的一种形式。公有云镜像仓库不仅提供了存储和分发容器镜像的功能,还能确保镜像的高可用性、安全性和易于扩展性。 本文将探讨公有云镜像仓库的核心概念、使用实践、常见云平台实现、最佳实践以及面临的挑战与解决方案。通过对公有云镜像仓库的研究,旨在帮助开发者和运维工程师在实际工作中有效利用云服务来管理和分发容器镜像。 一、容器镜像与镜像仓库基础 容器镜像...阅读全文

JDK 中的反射实现

#### **早期 JDK 中的反射实现** - **JNI 的使用**:在早期 JDK 中,反射调用(如 `Method.invoke()`)的底层实现确实依赖 JNI。例如,`Method.invoke()` 最终会调用一个名为 `native MethodAccessor.invoke0()` 的本地方法(通过 JNI 调用 C/C++ 代码)。 - **上下文切换的开销**:由于涉及 Java 层到本地代码(Native Code)的切换,确实需要额外的上下文保存与恢复(如寄存器状态、栈帧切换等),导致性能开销。 #### **现代 JDK 的优化** - **动态生成字节码**:现代 JVM(如 HotSpot)对反射调用进行了优化。当某个反射方法被频繁调用时,JVM 会动态生成一...阅读全文

博文 2025-03-18 19:06:59 zhidiantech

看雪 安卓高级研修班 月薪三万计划班

看雪 安卓高级研修班 月薪三万计划班获课:789it.top/13684/分析还原ollvm、vmp的方法OLLVM(Obfuscator-LLVM)和VMP(Virtual Machine Protection)是常见的代码混淆和保护技术,用于增加逆向工程的难度。分析并还原经过OLLVM或VMP保护的代码是逆向工程中的高级任务,通常需要结合静态分析、动态调试和模式识别等技术。以下是分析还原OLLVM和VMP的方法:1. 分析OLLVM混淆代码OLLVM通过控制流平坦化、指令替换、虚假控制流等技术混淆代码。以下是分析OLLVM混淆代码的步骤:1.1 控制流平坦化(Control Flow Flattening)特点:将原始代码的控制流转换为一个状态机,使用一个调度变量控制执行流程。基本块之间...阅读全文

OCP-Oracle 数据库认证精品辅导班8期, 视频+资料

https://97it.top/13840/ 摘要 在现代数据库管理系统和软件应用中,UNDO数据管理是实现事务回滚、版本控制和数据恢复的关键技术。通过合理管理UNDO数据,系统能够在发生错误或用户请求撤销操作时,快速恢复到一致的状态。本文从理论角度探讨了UNDO数据管理的基本原理、技术框架以及在不同应用场景中的重要性,旨在为数据库设计者和软件开发者提供一个系统的理论指导。 1. 引言 在数据库管理和软件开发中,数据的一致性和完整性是至关重要的。UNDO数据管理作为一种支持事务回滚、错误恢复和版本控制的技术,广泛应用于数据库管理系统(DBMS)、事务处理系统和复杂的软件应用中。UNDO数据记录了事务操作前的数据状态,使得系统能够在需要时撤销事务的影响,恢复到操作前的状态。本文将深入探讨UN...阅读全文

JVM七大核心系统精讲 从基础理论到高级应用(完结)

https://97it.top/3362/ 摘要 程序计数器(Program Counter,简称PC)是计算机体系结构中的一个重要组成部分。作为控制流的核心部件,程序计数器在指令执行过程中起着至关重要的作用。它不仅决定了当前指令的地址,还指导着计算机指令的顺序执行。本文将深入探讨程序计数器的功能、工作过程以及其在计算机系统中的重要性,进而为理解计算机体系结构提供理论支持。 1. 引言 计算机系统的运行依赖于指令的顺序执行,而程序计数器(PC)作为决定程序执行流程的核心组件之一,直接影响计算机的控制逻辑。程序计数器的功能包括存储下一条将被执行的指令的地址,并确保计算机能按顺序执行程序代码。随着计算机体系结构的不断演化,程序计数器不仅在单核处理器中起作用,在多核处理器和现代计算机系统中也扮演...阅读全文

TCP拥塞控制

TCP拥塞控制算法通过动态调整发送窗口大小来平衡网络负载与传输效率,其核心机制包括**慢启动(Slow Start)**、**拥塞避免(Congestion Avoidance)**、**快速重传(Fast Retransmit)**和**快速恢复(Fast Recovery)**。 --- ### 1. **慢启动(Slow Start)** **目标**:快速探测可用带宽,避免初次连接时突然淹没网络。 **规则**: - 初始拥塞窗口(`cwnd`)为1 MSS(最大报文段大小)。 - 每收到一个ACK,`cwnd`增加1 MSS(指数增长)。 - 当`cwnd`达到慢启动阈值(`ssthresh`,通常初始为较高值,如65535字节)时,进入拥塞避免阶段。 **示例**: - 初始状态...阅读全文

博文 2025-03-27 20:34:01 dalang

ChatGPT入门实战课 做AI时代更具竞争力的开发者

https://97it.top/2378/ 摘要 4-15 是一个广泛应用于不同领域的数字范畴,其涉及的内容涵盖了数学、工程、计算机科学、经济学等多个学科。这个数字组合在许多应用场景中都有着独特的意义和重要性。从数学中的约数和因数,到计算机系统中的数据结构,甚至在经济学和工程学中的不同定量分析方法,4-15 在不同领域的适用性与解读为人们提供了多样的思考角度与技术应用。本文将探讨4-15在不同学科中的重要性,并从多角度分析其带来的影响与应用价值。 1. 引言 4-15是一个看似简单的数字组合,但其蕴含的内容和应用范围广泛且深远。许多学科中都可以通过这一数字组合进行不同的解析、建模和实验。在数学领域,4-15可能涉及某种分解或者数列的解读;在计算机科学中,它可能与算法的效率、复杂度分析相关;...阅读全文

TCP 滑动窗口 拥塞窗口 RTT与发送报文的个数的关系

在TCP协议中,**一个RTT(往返时间)确实是一个报文从发送到接收确认的时间**,但通过**滑动窗口机制**,TCP允许在等待确认的过程中**连续发送多个报文**,从而显著提高网络利用率。 --- ### **1. RTT的定义与基本概念** - **RTT(Round-Trip Time)**:指一个数据包从发送方发出到接收方返回确认(ACK)所需的时间。例如,若发送方在时间`t0`发送报文,接收方在`t1`返回ACK,则RTT = `t1 - t0`。 - **传统停止等待协议**:早期的简单协议(如停等协议)要求发送方每发送一个报文后必须等待ACK,才能发送下一个报文。此时,**每个RTT仅能传输一个报文**,效率极低。 --- ### **2. TCP的滑动窗口机制** 为了提升效...阅读全文

博文 2025-03-27 20:43:09 dalang

Three.js可视化企业实战WEBGL课 | 完结

https://97it.top/6029/ 摘要 随着互联网技术的迅速发展,视频内容的传播和观看已经成为日常生活中的重要组成部分。为了适应多种设备和屏幕尺寸的需求,视频播放器的响应式设计变得至关重要。响应式画布和全屏控制作为视频播放器设计中的两个关键特性,能够极大地提升用户的观看体验。本文主要探讨了视频响应式画布的概念、设计原则以及全屏控制的实现机制,分析了它们在不同设备和浏览器中的表现,并提出了相关的优化建议,以便开发者在实际应用中能够有效地提升视频播放的兼容性和用户体验。 1. 引言 视频内容的多样性和丰富性使得其成为互联网应用中最常见的媒介之一。在多种设备(如台式机、笔记本、智能手机、平板电脑等)和不同屏幕尺寸下观看视频,如何确保视频显示效果的优化成为了开发者面临的一大挑战。传统的视...阅读全文

博文 2025-03-17 17:00:20 92834L

程序运行期发生ClassNotFoundException是什么原因?为什么本地编译没有问题?

--- ### 一、问题核心原因分析 #### 1. **Maven依赖仲裁机制导致版本降级** Maven默认采用**最短路径优先**和**最先声明优先**的仲裁规则。例如: • 本地开发依赖路径:`A → B → C 1.0.1` • 线上打包依赖路径:`A → D → C 1.0.0`(路径更短或声明更早) 此时Maven会仲裁选择 `C 1.0.0`,导致 `C 1.0.1` 新增的类在线上缺失。 #### 2. **编译与运行环境的差异** • **编译期**:只需类声明存在即可通过(如接口、父类),不校验具体实现。 • **运行期**:需加载完整的类字节码,若仲裁后的版本缺少实现类,则抛出 `ClassNotFoundException`。 #### 3. **隐性依赖冲突** ...阅读全文

博文 2025-03-30 22:41:17 dalang

手动备份MongoDB数据 - 云数据库 MongoDB

如果您购买的云数据库MongoDB实例数据库版本低于MongoDB 4.0,且备份方法选择物理备份,当该实例中集合和索引的总数量超过1万时,物理备份可能会失败。您可以在进行物理备份前,将云数据库MongoDB实例的数据库版本升级至MongoDB 4.0及以上,升级方法请参见升级数据库大版本。重要 数据库版本升级后,升级前生成的备份文件不能用于创建新的实例...阅读全文