NIO

合肥-NIO蔚来汽车JAVA开发 面试一面电话二面视频(需要写代码)视频一视频二视频三 一面电话 时长:30分钟 实际:25分钟的样子 难度:一般 Nacos注册中心原理 从raft选举到pull、push整个流程 Dubbo调用原理 首先跟面试官说了dubbo怎么把服务注册到nacos中,再到从nacos中获取注册服务列表,调用的几种方式和负载均衡算法 Dubbo中3个消费者、4个提供者共建立了多少个连接 这个题回答了好久,主要是前面问了nacos,还以为dubbo跟nacos建立了多少链接,后面面试官说消费者和提供 阅读详情

1.   基本 概念

IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成。

所有语言运行时系统提供执行 I/O 较高级别的工具。 (c 的 printf scanf,java 的面向对象封装 )

2.    Java 标准 io 回顾

Java 标准 IO 类库是 io 面向对象的一种抽象。基于本地方法的底层实现,我们无须关注底层实现。 InputStream\OutputStream( 字节流 ):一次传送一个字节。 Reader\Writer( 字符流 ) :一次一个字符。

3.    nio 简介

nio 是 java New IO 的简称,在 jdk1.4 里提供的新 api 。 Sun 官方标榜的特性如下:

–     为所有的原始类型提供 (Buffer) 缓存支持。

–     字符集编码解码解决方案。

–     Channel :一个新的原始 I/O 抽象。

–     支持锁和内存映射文件的文件访问接口。

–     提供多路 (non-bloking) 非阻塞式的高伸缩性网络 I/O 。

本文将围绕这几个特性进行学习和介绍。

4.   Buffer&Chanel

Channel 和 buffer 是 NIO 是两个最基本的数据类型抽象。

Buffer:

–        是一块连续的内存块。

–        是 NIO 数据读或写的中转地。

Channel:

–        数据的源头或者数据的目的地

–        用于向 buffer 提供数据或者读取 buffer 数据 ,buffer 对象的唯一接口。

–         异步 I/O 支持


图1:channel和buffer关系
 

 

例子 1:CopyFile.java:

Java代码   收藏代码
  1. package sample;  
  2.   
  3. import java.io.FileInputStream;  
  4. import java.io.FileOutputStream;  
  5. import java.nio.ByteBuffer;  
  6. import java.nio.channels.FileChannel;  
  7.   
  8. public class CopyFile {  
  9.     public static void main(String[] args) throws Exception {  
  10.         String infile = "C:\\copy.sql";  
  11.         String outfile = "C:\\copy.txt";  
  12.         // 获取源文件和目标文件的输入输出流  
  13.         FileInputStream fin = new FileInputStream(infile);  
  14.         FileOutputStream fout = new FileOutputStream(outfile);  
  15.         // 获取输入输出通道  
  16.         FileChannel fcin = fin.getChannel();  
  17.         FileChannel fcout = fout.getChannel();  
  18.         // 创建缓冲区  
  19.         ByteBuffer buffer = ByteBuffer.allocate(1024);  
  20.         while (true) {  
  21.             // clear方法重设缓冲区,使它可以接受读入的数据  
  22.             buffer.clear();  
  23.             // 从输入通道中将数据读到缓冲区  
  24.             int r = fcin.read(buffer);  
  25.             // read方法返回读取的字节数,可能为零,如果该通道已到达流的末尾,则返回-1  
  26.             if (r == -1) {  
  27.                 break;  
  28.             }  
  29.             // flip方法让缓冲区可以将新读入的数据写入另一个通道  
  30.             buffer.flip();  
  31.             // 从输出通道中将数据写入缓冲区  
  32.             fcout.write(buffer);  
  33.         }  
  34.     }  
  35. }  

 

其中 buffer 内部结构如下 ( 下图拷贝自资料 ):


图2:buffer内部结构 

一个 buffer 主要由 position,limit,capacity 三个变量来控制读写的过程。此三个变量的含义见如下表格:

参数

写模式   

读模式

position

当前写入的单位数据数量。

当前读取的单位数据位置。

limit

代表最多能写多少单位数据和容量是一样的。

代表最多能读多少单位数据,和之前写入的单位数据量一致。

capacity

buffer 容量

buffer 容量

Buffer 常见方法:

flip(): 写模式转换成读模式

rewind() :将 position 重置为 0 ,一般用于重复读。

clear() :清空 buffer ,准备再次被写入 (position 变成 0 , limit 变成 capacity) 。

compact(): 将未读取的数据拷贝到 buffer 的头部位。

mark() 、 reset():mark 可以标记一个位置, reset 可以重置到该位置。

Buffer 常见类型: ByteBuffer 、 MappedByteBuffer 、 CharBuffer 、 DoubleBuffer 、 FloatBuffer 、 IntBuffer 、 LongBuffer 、ShortBuffer 。

channel 常见类型 :FileChannel 、 DatagramChannel(UDP) 、 SocketChannel(TCP) 、 ServerSocketChannel(TCP)

在本机上面做了个简单的性能测试。我的笔记本性能一般。 ( 具体代码可以见附件。见 nio.sample.filecopy 包下面的例子 ) 以下是参考数据:

–        场景 1 : Copy 一个 370M 的文件

–        场景 2: 三个线程同时拷贝,每个线程拷贝一个 370M 文件

 

场景

FileInputStream+

FileOutputStream

FileInputStream+

BufferedInputStream+

FileOutputStream

ByteBuffer+

FileChannel

MappedByteBuffer

+FileChannel

场景一时间( 毫秒)                 

25155

17500

19000

16500

场景二时间( 毫秒 )

69000

67031

74031

71016

5.    nio.charset

字符编码解码 : 字节码本身只是一些数字,放到正确的上下文中被正确被解析。向 ByteBuffer 中存放数据时需要考虑字符集的编码方式,读取展示 ByteBuffer 数据时涉及对字符集解码。

Java.nio.charset 提供了编码解码一套解决方案。

以我们最常见的 http 请求为例,在请求的时候必须对请求进行正确的编码。在得到响应时必须对响应进行正确的解码。

以下代码向 baidu 发一次请求,并获取结果进行显示。例子演示到了 charset 的使用。

例子 2BaiduReader.java

Java代码   收藏代码
  1. package nio.readpage;  
  2.   
  3. import java.nio.ByteBuffer;  
  4. import java.nio.channels.SocketChannel;  
  5. import java.nio.charset.Charset;  
  6. import java.net.InetSocketAddress;  
  7. import java.io.IOException;  
  8. public class BaiduReader {  
  9.     private Charset charset = Charset.forName("GBK");// 创建GBK字符集  
  10.     private SocketChannel channel;  
  11.     public void readHTMLContent() {  
  12.         try {  
  13.             InetSocketAddress socketAddress = new InetSocketAddress(  
  14. "www.baidu.com", 80);  
  15. //step1:打开连接  
  16.             channel = SocketChannel.open(socketAddress);  
  17.         //step2:发送请求,使用GBK编码  
  18.             channel.write(charset.encode("GET " + "/ HTTP/1.1" + "\r\n\r\n"));  
  19.             //step3:读取数据  
  20.             ByteBuffer buffer = ByteBuffer.allocate(1024);// 创建1024字节的缓冲  
  21.             while (channel.read(buffer) != -1) {  
  22.                 buffer.flip();// flip方法在读缓冲区字节操作之前调用。  
  23.                 System.out.println(charset.decode(buffer));  
  24.                 // 使用Charset.decode方法将字节转换为字符串  
  25.                 buffer.clear();// 清空缓冲  
  26.             }  
  27.         } catch (IOException e) {  
  28.             System.err.println(e.toString());  
  29.         } finally {  
  30.             if (channel != null) {  
  31.                 try {  
  32.                     channel.close();  
  33.                 } catch (IOException e) {  
  34.                 }  
  35.             }  
  36.         }  
  37.     }  
  38.     public static void main(String[] args) {  
  39.         new BaiduReader().readHTMLContent();  
  40.     }  
  41. }  
 

6.      非阻塞 IO

关于非阻塞 IO 将从何为阻塞、何为非阻塞、非阻塞原理和异步核心 API 几个方面来理解。

何为阻塞?

一个常见的网络 IO 通讯流程如下 :



 

图3:网络通讯基本过程

从该网络通讯过程来理解一下何为阻塞 :

在以上过程中若连接还没到来,那么 accept 会阻塞 , 程序运行到这里不得不挂起, CPU 转而执行其他线程。

在以上过程中若数据还没准备好, read 会一样也会阻塞。

阻塞式网络 IO 的特点:多线程处理多个连接。每个线程拥有自己的栈空间并且占用一些 CPU 时间。每个线程遇到外部为准备好的时候,都会阻塞掉。阻塞的结果就是会带来大量的进程上下文切换。且大部分进程上下文切换可能是无意义的。比如假设一个线程监听一个端口,一天只会有几次请求进来,但是该 cpu 不得不为该线程不断做上下文切换尝试,大部分的切换以阻塞告终。

 

何为非阻塞?

下面有个隐喻:

一辆从 A 开往 B 的公共汽车上,路上有很多点可能会有人下车。司机不知道哪些点会有哪些人会下车,对于需要下车的人,如何处理更好?

1. 司机过程中定时询问每个乘客是否到达目的地,若有人说到了,那么司机停车,乘客下车。 ( 类似阻塞式 )

2. 每个人告诉售票员自己的目的地,然后睡觉,司机只和售票员交互,到了某个点由售票员通知乘客下车。 ( 类似非阻塞 )

很显然,每个人要到达某个目的地可以认为是一个线程,司机可以认为是 CPU 。在阻塞式里面,每个线程需要不断的轮询,上下文切换,以达到找到目的地的结果。而在非阻塞方式里,每个乘客 ( 线程 ) 都在睡觉 ( 休眠 ) ,只在真正外部环境准备好了才唤醒,这样的唤醒肯定不会阻塞。

  非阻塞的原理

把整个过程切换成小的任务,通过任务间协作完成。

由一个专门的线程来处理所有的 IO 事件,并负责分发。

事件驱动机制:事件到的时候触发,而不是同步的去监视事件。

线程通讯:线程之间通过 wait,notify 等方式通讯。保证每次上下文切换都是有意义的。减少无谓的进程切换。

以下是异步 IO 的结构:



 

图4:非阻塞基本原理

 

Reactor 就是上面隐喻的售票员角色。每个线程的处理流程大概都是读取数据、解码、计算处理、编码、发送响应。

异步 IO 核心 API

Selector

异步 IO 的核心类,它能检测一个或多个通道 (channel) 上的事件,并将事件分发出去。

使用一个 select 线程就能监听多个通道上的事件,并基于事件驱动触发相应的响应。而不需要为每个 channel 去分配一个线程。

SelectionKey

包含了事件的状态信息和时间对应的通道的绑定。

例子 1 单线程实现监听两个端口。 ( 见 nio.asyn 包下面的例子。 )

例子 2 NIO 线程协作实现资源合理利用。 (wait,notify) 。 ( 见 nio.asyn.multithread 下的例子 )

蔚来汽车NIO OS QT界面 深度对标**蔚来NIO OS高端智能座舱**技术标准,基于**Qt/C++** 实现蔚来同款车载交互界面开发,核心落地**Qt 3D整车级渲染、高精度车载导航无缝集成、自动驾驶辅助交互可视化**三大核心能力,攻克车载界面性能瓶颈,实现**界面响应速度≤0.3s** 的行业顶尖体验,完美适配高端智能座舱的视觉效果、交互流畅度、功能完整性要求,兼顾车规级可靠性与极致用户体验。本章节提供**完整Qt 3D车载渲染代码**,还原蔚来同款3D视觉效果,同时保证渲染性能。 阅读详情

相关推荐

自动驾驶大模型---蔚来汽车之NWM

蔚来汽车2025年5月推送了全球首个智能驾驶世界模型NWM的首个版本,首批覆盖"Banyan榕"车型,6月底扩展至"雪松"系统车型。该模型具备100毫秒推演216种场景的能力,采用生成式无监督学习,显著提升了自动驾驶性能。功能升级包括:主动安全方面新增追尾预防和行业首个量产"紧急自主靠边停车";智能泊车实现全模型化支持,可360度识别车位并支持长距离漫游泊车;高速场景推出"智能驾享"模式,允许观看视频并自动处理紧急情况。实测显示在ETC识别、停车场导航等场景表现优异,但在闸机状态检测等细节仍需优化。

智能汽车人的博客 1648

JAVA NIO 简介

1.   基本 概念 IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成。 所有语言运行时系统提供执行 I/O 较高级别的工具。 (c 的 printf scanf,java 的面向对象封装 ) ...

阿里巴巴B2B诚信开发部 491

在LinuxMint 22.1(Ubuntu24.04)上安装使用同花顺远航版

Linux用户成功在LinuxMint22.1系统上通过Wine9.0运行同花顺远航版,解决了长期困扰的股票行情软件问题。此前Linux原生版同花顺功能简陋且停止更新,Wine版通达信存在显示问题。作者作为自由软件支持者,通过调整Wine配置文件解决了高分屏显示异常问题,实现了远航版的正常使用。期待同花顺能重启Linux原生版开发,支持更多处理器架构,完善国产软件生态。该方案为Linux股票软件用户提供了实用参考。

5144

java api csdn_优快云技术中心 Java NIO API详解

在JDK 1.4以前,Java的IO操作集中在java.io这个包中,是基于流的同步(blocking)API。对于大多数应用来说,这样的API使用很方便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO API作为一个基于缓冲区,并能提供异步(non-blocking)IO操作的API被引入。本文对其进行深入的介绍。NIO API...

weixin_39845825的博客 239

网课、网页视频倍速播放简单脚本

一个简单的网页视频倍速脚本

huazn612的博客 1万+

浅析MOS管导通过程及RC吸收电路设计要点

RC吸收电路 米勒电容 MOS导通过程

liangbo1999的博客 2万+

java之NIO简介

一、NIO基本简介 NIO (New lO)也有人称之为java non-blocking lO是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java lO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。NIO可以理解为非阻塞IO,传统的IO的read和write只能阻塞执行,线程在读写IO期间不能干其他事情,比如调用socket.read()时,如果服务器一直没有数据

花&败 3万+

毕业设计:丹麦电力电价预测预测未来24小时的电价pytorch+lstm+历史特征和价格+时间序列 电价预测模型资源 完整代码数据可直接运行

毕业设计:丹麦电力电价预测预测未来24小时的电价pytorch+lstm+历史特征和价格+时间序列 电价预测模型资源 完整代码数据可直接运行

356

安装java1.4.2_Java 2 SDK V1.4.2 免费版

j2sdk是用户进行java开发时必不可少的环境包,很多用户不知道j2sdk和jdk的区别,在1.4版以前称为jdk,可以理解j2sdk是jdk的升级版本,所以我们只要安了j2sdk即可,JDK就没有必要安装了,有需要的赶快来下载吧!【使用说明】它包含JDK(开发工具包)和JRE(运行时环境包)JDK包含JREJDK是开发人员必装软件JRE是客户端运行时必装软件J2SDK就是java 2 平台的 ...

weixin_42723849的博客 729

航天设备研制中的形态分类:电性件、正样件及其他关键形态详解

航天设备的研制是一个高度复杂且严谨的工程过程,涉及多个阶段的不同产品形态。这些形态各具特点,在研制流程中承担着不同的验证任务和工程目标。本文将系统介绍航天设备研制中的主要形态,包括**电性件(EM)**、**正样件(FM)**以及**结构热控件(STM)**、**鉴定件(QM)**和**初样件(PFM)**等,详细解析它们的定义、用途和工程意义,帮助读者全面理解航天产品从设计到飞行的全生命周期管理。

ScilogyHunter的博客 1664

基于STM32+华为云设计的智能鱼缸

本项目基于STM32单片机设计一款基于物联网的智能鱼缸系统,并通过应用侧接口开发上位机APP实现远程对鱼缸参数的检测和控制。该系统包括水温检测、水质检测、自动或手动换水、氛围灯灯光变换和自动或手动喂食等功能,可以帮助用户更好地管理鱼缸,提高鱼儿的生存率,同时增强用户对家庭装饰品的掌控感和科技感。

1万+

java入门1.4.0

在1.4.0版本中,更新了对语言三大要素的理解红字为更新,绿字为迭代这时我们目前拥有的知识。

c_yanxin_ru的博客 532

微信小程序 - 解决web-view嵌套H5网页白屏问题,将h5网页嵌套在webview页面出现无法加载一片空白,详解微信小程序<web-view>页面跳转出现白屏情况(无论本地还是线上H5都能解决)

微信小程序解决web-view打开网页在手机上出现白屏的问题,小程序web-view嵌套H5项目白屏问题分析及解决,使用web-view组件加载H5网页链接后白屏情况,小程序嵌套的h5网页中跳转页面时也有可能出现白屏问题,嵌套webview页面时,出现白屏,WebView 加载不出网页,微信小程序<web-view>页面跳转出现白屏解决方法,解决WebView白屏空白,H5内嵌第三方小程序打开白屏,微信小程序嵌入h5页面加载空白,微信小程序web-view跳转h5白屏,解决微信小程序web-view打开网页

🏆 前端领域优质创作者 1万+

行业分析---造车新势力之蔚来汽车

蔚来汽车(NIO)是一家智能电动汽车品牌,成立于2014年11月,总部位于中国上海。蔚来汽车由李斌等企业家联合创立,并获得了淡马锡、百度资本、红杉、联想集团、华平、TPG、GIC、IDG、愉悦资本等数十家知名机构的投资(目前的主要持股机构:阿布扎比投资和腾讯投资)。作为中国新能源汽车市场的重要参与者,蔚来汽车致力于通过创新技术和卓越的用户体验,引领全球智能电动汽车产业的发展。2018年9月,蔚来汽车成功登陆纽交所。蔚来汽车的主营业务涵盖了高端电动汽车的研发、生产和销售。

智能汽车人的博客 2288

Java开发者终极抉择:IntelliJ IDEA vs VS Code —— 4大维度深度对比评测

🔥关注墨瑾轩,带你探索Java的奥秘!🚀🔥超萌技术攻略,轻松晋级编程高手!🚀🔥技术宝库已备好,就等你来挖掘!🚀🔥订阅墨瑾轩,智趣学习不孤单!🚀🔥即刻启航,编程之旅更有趣!🚀在Java开发领域,选择合适的集成开发环境(IDE)对于提高开发效率和代码质量至关重要。和(简称VS Code)是两个广受好评的开发工具,各自拥有独特的特性和庞大的用户群。本篇将从多个维度深入探讨这两款IDE对Java开发者来说的优劣,包括但不限于性能、用户体验、生态系统、调试能力、以及特定Java功能的支持等方面。

java专栏 8593

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

蔚来汽车出海

​配图来自Canva可画 过去一年在新冠疫情剧烈冲击之下,新能源汽车市场却依然实现了逆势突围。不只是特斯拉,国内的比亚迪以及在美股上市的蔚来、小鹏、理想等造车新势力,也都迎来了自己的高光时刻。 蔚来更是凭借其拉来的融资和出色的业绩,坚定了资本市场的信心,使其股价在短短一年之内迅速暴涨20倍以上,上演了绝地逆袭的神话。有了过去一年的业绩打底,2021年蔚来在延续增长这件事上,表现的更加如鱼得水了。 营收、毛利双增长 4月30日,蔚来对外公布了2021年第一季度财报。财报数据显示,2021年第一季度蔚.

liukuang110的博客 439

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

蔚来汽车的财务报告分析,自研分享蔚来汽车的财务报告分析,自研分享

提供一些关于蔚来汽车财务报告分析的框架,但请注意这不是专业的财务建议。

百态·数智思维 | 聚焦大数据、量化与未来AI 1536

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

遭灰熊做空,蔚来汽车在股价跳水后选择了回应

近日,海外做空机构灰熊(Grizzly Research)发布报告称,蔚来汽车通过会计手段夸大了收入和净利润。报告认为,蔚来汽车很可能利用一个未合并的关联方武汉蔚能来夸大收入和盈利能力。其中,武汉蔚能的全称为武汉蔚能电池资产有限公司,是蔚来汽车旗下的电池业务公司。灰熊在报告中指出:对蔚能的销售,使蔚来的收入和净利润,分别虚增约10%和95%。具体而言,灰熊发现,2021财年蔚来的盈利增长中,至少有60%由蔚能贡献。报告还称,蔚来汽车董事长兼首席执行官李斌,与愉悦资本,以及刘二海(瑞幸咖啡欺诈案的核心人物)关

beiduocaijing的博客 3万+

行业分析---2024年蔚来汽车三季度财报及科技日

蔚来汽车的业务是比较广的,在笔者看来是不够聚焦。目前各家新势力都在围绕车本身进行全栈自研,像芯片,操作系统,智能驾驶,智能座舱等。

智能汽车人的博客 2765

行业分析---蔚来汽车2025第二季度财报

蔚来汽车2025年Q2财报显示,季度交付量同比增长25.6%至72056辆,营收190亿元同比增长9%,但运营亏损扩大至49亿元。毛利率小幅提升至10%,研发投入维持在30亿元高位。尽管现金储备达272亿元,但当前营收规模下实现盈利仍面临挑战。公司预计Q3交付量将创历史新高(8.7-9.1万辆),但分析认为需达到300亿营收且20%毛利率才可能扭亏,年内盈利目标恐难实现。新能源汽车行业竞争加剧背景下,蔚来仍需持续优化运营效率。(149字)

智能汽车人的博客 2760

Apache Flink 在蔚来汽车的应用

Flink 在蔚来汽车实时计算平台、实时看板、CDP、实时数仓等场景的应用

Ververica的博客 2229

【面试心经】——蔚来汽车Linux 岗位开发 02

第四次挥手:客户端收到从服务器端发出的TCP报文,确认了服务器端已做好释放连接的准备,于是再次向服务端发送报文表示接收到服务端准备好释放连接的信号,并进入TIME-WAIT阶段等待2MSL ( 最大报文生存时间) 后再断开连接,服务端收到最终确认报文后立即断开连接,双方断开TCP连接。第三次挥手:服务端自从发出ACK确认报文之后,经过了关闭等待阶段,做好了释放服务器端到客户端方向上的连接准备,再次向客户端发出一段TCP报文表示已经准备好释放连接了(没有数据需要传输给客户端了),然后进入最后确认状态。

点滴路程 1782

【蔚来汽车日常实习】蔚来汽车Java后端实习

【蔚来汽车日常实习】蔚来汽车Java后端实习

qq_44653420的博客 1619

蔚来汽车的面试经验

昨天面试了蔚来汽车 首先,先是等面试官。 等了好久,接着就是: 问了好多,关于自动化端的技术问题,比如说,APP端 一个登录页面需要,几个模块,然后就是每一部分之间是如何调用的。再如就是,网页端的一个页面,将如何编写。 还有, 性能测试之间的接口是如何调取的。 转载于:https://blog.51cto.com/13665619/2104702...

weixin_34174322的博客 7018

行业分析---蔚来汽车2024全年财报

关于蔚来汽车相关介绍的博客,笔者之前都已经介绍过了,有兴趣的读者朋友可以自行浏览。之前已经介绍过零跑,理想,小米以及小鹏的财报,本篇博客主要介绍2024年蔚来汽车的财务情况。

智能汽车人的博客 3716
上一篇: xSocket multiplexed介绍
下一篇: linux 查找命令
zljjava
博客等级 码龄15年 155粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值