爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      linux上的大文件如何通过服务器上的Java服务通过前端页面的按钮下载到本地

      首页 知识中心 软件开发 文章详情页

      linux上的大文件如何通过服务器上的Java服务通过前端页面的按钮下载到本地

      2024-12-24 10:25:10 阅读次数:16

      下载,内存,处理,文件

      背景介绍

      大文件下载的挑战

      在Linux服务器环境中,处理大文件下载面临多重挑战:

      1. 内存限制 :大文件可能导致内存耗尽,影响系统稳定性。
      2. 网络带宽 :高流量可能引发网络拥塞,降低整体性能。
      3. I/O瓶颈 :频繁访问硬盘可能导致I/O阻塞,影响其他服务。
      4. 安全性 :大文件下载可能成为有害载体,威胁服务器安全。

      这些问题要求开发者采取特殊措施,如优化内存管理、实施流量控制和采用渐进式传输技术,以确保大文件下载的效率和安全性。

      Java服务器与前端交互

      在Java Web应用中,服务器与前端页面的交互通常遵循 客户端-服务器模型 。前端通过HTTP协议向服务器发送请求,服务器处理后返回相应数据。这种架构允许灵活分离表现层和业务逻辑,提高系统可维护性。

      然而,在处理大文件下载时,传统方式可能面临内存溢出等问题。因此,需要采用特殊的处理机制,如 流式传输 和 分块下载 技术,以减少服务器内存压力并提高用户体验。这些技术能够有效解决大文件下载过程中的性能瓶颈,同时保持良好的用户体验。

      服务器端实现

      文件读取策略

      在Linux服务器环境下,高效读取大文件是一项关键技能,尤其适用于处理海量数据的应用场景。为了优化这一过程,我们可以采用多种策略和技术,主要包括 流式读取 和 缓冲区优化 。

      流式读取

      流式读取 是处理大文件的核心方法。这种方法利用操作系统提供的文件流接口,逐步读取文件内容,而不是一次性将其全部加载到内存中。这样可以显著降低内存消耗,同时提高I/O效率。在Java中,我们可以使用java.nio.file.Files.newBufferedReader()方法创建一个高效的文件读取器。

      缓冲区优化

      缓冲区优化 是另一个重要的优化手段。通过合理设置缓冲区大小,我们可以平衡内存使用和I/O效率。通常,增大缓冲区大小可以减少系统调用次数,提高读取速度。然而,过大的缓冲区可能会导致内存浪费。因此,需要根据具体应用场景和系统配置来权衡最佳缓冲区大小。

      在实践中,我们可以使用java.nio.ByteBuffer类来手动控制缓冲区的大小和读取过程。例如:

      ByteBuffer buffer = ByteBuffer.allocate(16 * 1024); // 16 KB缓冲区
      FileChannel channel = new FileInputStream("largefile.txt").getChannel();
      while (channel.read(buffer) > 0) {
          buffer.flip();
          process(buffer);
          buffer.clear();
      }

      这段代码展示了如何使用ByteBuffer来读取大文件。它创建了一个16 KB的缓冲区,然后不断读取文件内容,直到文件结束。这种方法既减少了系统调用次数,又避免了一次性加载整个文件到内存中的风险。

      文件系统优化

      此外,还应注意 文件系统层面的优化 。Linux系统提供了多种内核参数来调整文件系统缓冲行为,如dirty_background_ratio和dirty_ratio。这些参数控制着内核何时开始将脏页写回磁盘,从而影响内存使用和I/O负载之间的平衡。合理调整这些参数可以帮助提高大文件读取的效率。

      通过综合运用这些技术和策略,我们可以显著提高Linux服务器上大文件的读取效率,为各种大数据处理应用奠定坚实基础。

      分块传输机制

      在处理大文件传输时,分块传输机制是一种高效且可靠的解决方案。这种机制不仅能提高传输效率,还能增强系统的容错能力和灵活性。以下是分块传输机制的主要组成部分及其实现细节:

      1. 分块策略

      分块策略决定了如何将大文件分割成多个小块。通常,我们会选择固定的分块大小,如100MB。这种方法简单易行,易于实现和维护。在Java中,可以使用以下代码实现文件分块:

      long chunkSize = 100 * 1024 * 1024; // 100MB
      FileInputStream fis = new FileInputStream(file);
      byte[] buffer = new byte[(int) chunkSize];
      int bytesRead;
      while ((bytesRead = fis.read(buffer)) != -1) {
          // 处理每个分块
      }
      1. 断点续传

      断点续传是分块传输的重要特性,它允许在传输中断后从上次中断的点继续传输。实现断点续传的关键在于记录和追踪每个分块的传输状态。一种常用的做法是使用数据库或文件系统来存储已传输的分块信息。例如:

      AtomicLong currentOffset = new AtomicLong(0);
      // ...
      long end = Math.min(currentOffset.get() + chunkSize, file.length());
      if (currentOffset.get() < end) {
          currentOffset.set(end);
      }
      1. 并行传输

      为了充分利用网络带宽,可以实现并行传输。这可以通过多线程或多进程的方式来实现。在Java中,可以使用CompletableFuture来实现异步并行传输:

      List<CompletableFuture<Void>> futures = new ArrayList<>();
      for (int i = 0; i < numThreads; i++) {
          long start = i * chunkSize;
          long end = Math.min((i + 1) * chunkSize, file.length());
          futures.add(CompletableFuture.runAsync(() -> {
              // 并行传输分块
          }));
      }
      CompletableFuture.allOf(futures.toArray(new CompletableFuture)).join();
      1. 错误处理和重试

      在分块传输中,错误处理和重试机制尤为重要。可以使用自动重传请求(ARQ)机制来处理丢失或损坏的数据块:

      try {
          // 执行传输操作
      } catch (IOException e) {
          // 记录失败的分块信息
          failedChunks.add(chunkIndex);
          // 触发重传机制
      }

      通过合理设置重试次数和间隔时间,可以在一定程度上提高传输的可靠性。

      1. 分块合并

      在所有分块传输完成后,需要在服务器端进行分块合并。这通常涉及将接收到的分块按顺序重新组合成原始文件。可以使用原子操作或锁机制来确保合并过程的线程安全。

      通过这些技术的组合,我们可以构建一个高效、可靠的分块传输系统,有效应对大文件传输的各种挑战。

      响应头设置

      在处理大文件下载时,正确的HTTP响应头设置至关重要。这些设置不仅确保浏览器正确处理下载请求,还能优化下载体验。以下是几个关键的响应头及其作用:

      1. Content-Type :指定文件的MIME类型。对于大多数二进制文件,推荐使用"application/octet-stream"。这告诉浏览器将文件视为通用二进制数据,而非尝试解析或执行。
      2. Content-Disposition :指示浏览器如何处理下载的文件。通常设置为"attachment",后跟文件名。例如:
      response.setHeader("Content-Disposition", "attachment; filename=\"example.pdf\"");

      这强制浏览器将文件保存为附件,而不是尝试打开它。

      1. Content-Length :指定文件的大小(以字节为单位)。准确设置此头非常重要,因为它允许浏览器显示下载进度。然而,对于非常大的文件或动态生成的文件,可能难以预先确定大小。在这种情况下,可以考虑使用流式传输,并将Content-Length设置为"-1"。
      2. Accept-Ranges :启用断点续传功能。设置为"bytes"表明服务器支持范围请求:
      response.setHeader("Accept-Ranges", "bytes");

      这允许客户端请求特定的字节范围,特别适合大文件的分块下载或断点续传。

      1. Content-Range :用于响应范围请求。当客户端请求特定范围的字节时,服务器应在响应中包含此头,指明实际返回的字节范围。例如:
      response.setHeader("Content-Range", "bytes 1024-2047/10000");

      这表示返回了1024到2047字节(共1024字节)的范围,总文件大小为10000字节。

      通过合理设置这些响应头,可以显著提升大文件下载的效率和用户体验。特别是结合断点续传和范围请求,可以实现更加灵活和可靠的下载机制,适应不同的网络条件和用户需求。 前端实现

      下载按钮设计

      在前端页面设计中,下载按钮是一个关键元素,直接影响用户体验。为了实现高效的大文件下载,我们需要精心设计这个按钮的功能和外观:

      1. UI设计 :按钮应醒目放置,使用直观图标(如向下箭头)增加识别度。颜色选择需与整体风格协调,突出重要性。
      2. 事件绑定 :使用JavaScript处理点击事件,触发AJAX或Fetch API请求。例如:
      document.getElementById('downloadBtn').addEventListener('click', () => {
          downloadLargeFile('/api/large-file');
      });
      1. 异步请求 :通过异步请求获取文件流,避免阻塞主线程。这确保了界面响应性,同时处理大文件下载。
      2. 进度监控 :在按钮旁边添加进度条组件,实时显示下载状态,提升用户体验。

      通过这些设计,我们可以在前端实现一个既美观又实用的下载按钮,为用户提供流畅的大文件下载体验。

      AJAX请求处理

      在处理大文件下载时,AJAX请求的实现需要特别考虑性能和用户体验。本节将详细介绍如何使用Fetch API发起下载请求,并有效地处理服务器响应。

      Fetch API提供了一种现代化的方法来处理异步请求,相比传统的XMLHttpRequest,它具有更简洁的语法和更好的错误处理机制。在处理大文件下载时,Fetch API的优势尤为明显。

      首先,我们需要设置请求的基本参数。对于大文件下载,通常使用POST方法,并设置适当的请求头:

      const url = '/api/download-large-file';
      const options = {
          method: 'POST',
          headers: {
              'Content-Type': 'application/json'
          },
          body: JSON.stringify({ fileId: '123456' })
      };

      接下来,使用fetch函数发起请求:

      fetch(url, options)
          .then(response => {
              if (!response.ok) {
                  throw new Error('Network response was not ok');
              }
              return response.blob();
          })
          .then(blob => {
              const url = window.URL.createObjectURL(blob);
              const a = document.createElement('a');
              a.href = url;
              a.download = 'large-file.zip';
              ();
              window.URL.revokeObjectURL(url);
          })
          .catch(error => {
              console.error('There has been a problem with your fetch operation:', error);
          });

      这段代码的关键点包括:

      1. 使用.blob()方法将响应体转换为Blob对象。Blob对象非常适合处理二进制数据,特别适合大文件下载。
      2. 使用createObjectURL()方法创建一个临时的URL,用于下载文件。这是处理大文件的有效方法,因为它不需要将整个文件加载到内存中。
      3. 动态创建<a>元素并模拟点击事件,实现自动下载。这种方法可以绕过浏览器的同源策略限制,允许跨域下载文件。
      4. 使用revokeObjectURL()方法释放不再需要的URL,释放内存资源。

      为了进一步优化大文件下载,我们可以实现进度跟踪功能:

      let loaded = 0;
      let total = 0;
      
      fetch(url, options)
          .then(response => {
              total = response.headers.get('content-length');
              return response.blob();
          })
          .then(blob => {
              // ...
          })
          .onprogress = event => {
              if (event.lengthComputable) {
                  const progress = Math.round((loaded / total) * 100);
                  updateProgressBar(progress);
              }
          };

      这段代码利用Fetch API的onprogress事件来实时更新下载进度。这对于提高用户体验至关重要,尤其是在下载大型文件时。

      通过这些技巧,我们可以有效地使用Fetch API来处理大文件下载,同时提供良好的用户体验和性能优化。

      进度条实现

      在处理大文件下载时,实时显示下载进度是一项关键功能,能够显著提升用户体验。为了实现这一功能,我们可以利用Fetch API的onprogress事件来捕捉下载过程中的进度信息。

      以下是一个详细的实现示例:

      fetch(url, options)
          .then(response => {
              if (!response.ok) {
                  throw new Error('Network response was not ok');
              }
              return response.blob();
          })
          .onprogress = event => {
              if (event.lengthComputable) {
                  const progress = Math.round((event.loaded / event.total) * 100);
                  updateProgressBar(progress);
              }
          }
          .catch(error => {
              console.error('There has been a problem with your fetch operation:', error);
          });

      在这个例子中,我们定义了一个onprogress事件处理器,它会在每次接收到新的数据块时被触发。事件对象包含了两个关键属性:

      属性

      类型

      描述

      event.loaded

      Number

      已经下载的数据量(以字节为单位)

      event.total

      Number

      需要下载的总数据量

      通过这两个属性,我们可以计算出当前的下载进度百分比。值得注意的是,lengthComputable属性用于判断是否可以准确计算进度。只有当它可以被计算时,我们才进行进度更新,以避免在某些情况下可能出现的不准确计算。

      进度更新函数updateProgressBar负责将计算出的百分比转换为可视化的进度条。这通常涉及到DOM操作,例如修改进度条元素的宽度或填充程度。例如:

      function updateProgressBar(progress) {
          const progressBar = document.getElementById('download-progress');
          progressBar.style.width = `${progress}%`;
      }

      为了提供更丰富的用户体验,我们还可以在进度条旁边显示具体的数字百分比:

      function updateProgressBar(progress) {
          const progressBar = document.getElementById('download-progress');
          progressBar.style.width = `${progress}%`;
          progressBar.innerText = `${progress.toFixed(2)}%`;
      }

      这种方法不仅提高了进度显示的准确性,还增加了视觉吸引力,使用户更容易理解和把握下载进度。

      通过这种方式,我们可以实现在前端页面上实时显示大文件下载进度的功能,大大提升了用户体验。同时,这种方法也适用于处理分块下载的情况,只需稍作修改即可适应不同的下载策略。 优化与安全

      性能优化

      在处理大文件下载时,性能优化是至关重要的。除了前文提到的多线程和异步IO技术外,还有几种方法可以进一步提升下载效率:

      1. 使用内存映射文件 是一种高效处理大文件的方式。这种方法将文件直接映射到内存中,允许程序像操作数组一样操作文件,大大减少了I/O操作的次数。在Java中,可以使用FileChannel.map()方法实现内存映射:
      FileChannel channel = new RandomAccessFile(file, "r").getChannel();
      MappedByteBuffer buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0, fileSize);

      这种方法特别适合处理需要随机访问的大文件,如数据库或图像处理应用。

      1. 异步I/O 是另一种提升大文件下载性能的技术。Java NIO.2引入了异步文件通道,允许程序在等待I/O操作完成的同时执行其他任务。以下是一个异步读取文件的例子:
      AsynchronousFileChannel channel = AsynchronousFileChannel.open(path, StandardOpenOption.READ);
      ByteBuffer buffer = ByteBuffer.allocateDirect(1024 * 1024);
      Future<Integer> result = channel.read(buffer, 0);

      这种方法可以显著提高系统的并发能力,特别是在处理多个大文件下载请求时。

      1. 此外, 合理设置JVM参数 也是优化大文件下载性能的重要手段。例如,可以适当增加堆内存大小:
      -Xms1024m -Xmx2048m

      这可以减少因内存不足而导致的频繁垃圾回收,提高处理大文件的能力。

      1. 在网络层面, 使用CDN(Content Delivery Network) 可以显著提升大文件下载速度。CDN将文件缓存到全球分布的边缘节点,用户可以从距离最近的节点下载文件,大大减少了网络延迟。
      2. 最后, 使用更高效的编码/解码库 也是优化大文件下载性能的有效方法。例如,使用Snappy或Zstd等现代压缩算法可以显著减少传输的数据量,提高下载速度。

      错误处理

      在处理大文件下载时,错误处理是确保下载成功的关键环节。主要关注两类错误:

      1. 网络中断 :实现断点续传功能,记录已完成的分块,网络恢复时仅重新下载未完成部分。
      2. 服务器错误 :设置合理的超时时间和重试机制,捕获异常后暂停一段时间后重试。

      此外,使用异步I/O和多线程技术可以提高下载的稳定性和效率。在Java中,可使用CompletableFuture处理并发下载任务,实现优雅的错误处理和重试逻辑。这种方法不仅能提高下载成功率,还能优化用户体验,减少因网络波动或服务器不稳定造成的下载失败。

      安全性考虑

      在实现大文件下载时,安全性是至关重要的。为确保数据安全,服务器应采取多项措施:

      1. 实施 严格的身份验证 ,要求用户登录后才能访问受保护的文件。
      2. 设置 下载限制 ,如限制下载速度和并发连接数,防止滥用。
      3. 使用 反爬虫技术 ,如验证码和Honeypot,防范自动化批量下载。
      4. 启用 HTTPS加密 ,保护数据传输安全。
      5. 实施 细粒度的访问控制 ,确保只有授权用户能访问特定文件。

      这些措施共同构建了一个多层次的安全防护体系,有效保护大文件下载过程中的数据安全。

      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/AmbitionGarden/12560229,作者:Ambition的后花园,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:简单的工作者线程封装

      下一篇:堆排序实战:轻松实现高效排序,附详细Java代码

      相关文章

      2025-05-19 09:05:01

      项目更新到公网服务器的操作步骤

      项目更新到公网服务器的操作步骤

      2025-05-19 09:05:01
      公网 , 数据库 , 文件 , 更新 , 服务器
      2025-05-19 09:04:38

      js本地上传图片后实现预览与删除功能

      js本地上传图片后实现预览与删除功能

      2025-05-19 09:04:38
      js , 上传 , 删除 , 文件
      2025-05-19 09:04:30

      判断dmp文件的导出方式是exp or expdp

      判断dmp文件的导出方式是exp or expdp

      2025-05-19 09:04:30
      expdp , 导出 , 文件
      2025-05-16 09:15:17

      Linux系统基础-文件系统

      Linux系统基础-文件系统

      2025-05-16 09:15:17
      hello , 写入 , 文件 , 输出
      2025-05-14 10:33:31

      计算机小白的成长历程——数组(1)

      计算机小白的成长历程——数组(1)

      2025-05-14 10:33:31
      strlen , 个数 , 元素 , 内存 , 十六进制 , 地址 , 数组
      2025-05-14 10:33:25

      webpack5基础--09_处理其他资源

      webpack5基础--09_处理其他资源

      2025-05-14 10:33:25
      html , index , 图标 , 处理 , 资源 , 音视频
      2025-05-14 10:33:25

      超级好用的C++实用库之环形内存池

      环形内存池是一种高效的内存管理技术,特别适合于高并发、实时性要求高的系统中,比如:网络服务器、游戏引擎、实时音视频等领域。

      2025-05-14 10:33:25
      buffer , CHP , 内存 , 分配 , 加锁
      2025-05-14 10:33:25

      webpack5基础--01_基本使用

      webpack5基础--01_基本使用

      2025-05-14 10:33:25
      json , main , package , Webpack , 打包 , 文件 , 编译
      2025-05-14 10:33:25

      webpack5基础--02_基本配置( 5 大核心概念)

      webpack5基础--02_基本配置( 5 大核心概念)

      2025-05-14 10:33:25
      config , loader , webpack , Webpack , 文件 , 模式 , 配置文件
      2025-05-14 10:33:16

      30天拿下Python之文件操作

      Python是一种高级编程语言,它提供了许多内置函数和模块来处理文件操作,主要包括:打开文件、读取文件、写入文件、关闭文件、获取目录列表等。

      2025-05-14 10:33:16
      Python , 使用 , 函数 , 文件 , 权限 , 目录
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5228650

      查看更多

      最新文章

      webpack5基础--09_处理其他资源

      2025-05-14 10:33:25

      超级好用的C++实用库之环形内存池

      2025-05-14 10:33:25

      30天拿下Python之文件操作

      2025-05-14 10:33:16

      30天拿下Python之模块和包

      2025-05-14 10:03:05

      30天拿下Python之异常处理

      2025-05-14 10:03:05

      使用JavaScript打印网页占用内存:详细指南

      2025-05-14 10:02:48

      查看更多

      热门文章

      游戏编程之十一 图像页CPICPAGE介绍

      2022-11-28 01:25:04

      C/C++ 动态解密释放ShellCode

      2023-06-19 06:57:29

      Python爬虫基础——06-文件的读写

      2023-05-09 06:05:41

      Python 文件读写的问题

      2023-04-24 11:24:27

      Python中查看变量的类型,内存地址,所占字节的大小

      2023-04-25 10:22:01

      游戏编程之十二 资源管理

      2023-02-15 08:38:56

      查看更多

      热门标签

      java Java python 编程开发 代码 开发语言 算法 线程 Python html 数组 C++ 元素 javascript c++
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      初始JavaEE篇——多线程(3):可重入锁、死锁、内存可见性、volatile关键字

      超级好用的C++实用库之环形内存池

      Java内存模型(JMM)及其工作原理,包括栈、堆、方法区等各部分的功能

      Spring中使用Async进行异步功能开发实战-以大文件上传为例

      C语言实现内存管理不用函数

      Spring boot 1.5.9升级2.3.5时上传文件大小限制失效问题的解决

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号