java程序员:就写了一行代码!被问了这么多问题?

奉劝刚参加工作的程序员们:写再多代码,也不如提升这两大能力有价值! 哪个国家的程序员水平最高? 软件工程师水平测定平台HackRank发起了一系列编程挑战竞赛,给出了一份出乎意料的数据。据悉,这份数据研究分析了HackerRank社区里30万名开发者完成的140万项编码挑战。最终的结果显示中国程序员排在了第一位,紧随其后的是俄罗斯、波兰、瑞士和匈牙利,而美国只排在第28名。 由此可见,随着计算机和互联网的发展和普及,中国对程序员的需求和培养力度都在逐渐加大。在技术迅猛发展的今天,物联网、数据分析、以及人工智能这三大技术之间的合作将会在世界上创造出一个巨大的智能机器网 阅读详情

前言

分享一个自己年轻时候的经历(篇外话)

面对面试官的时候,他们通常会问这么一个问题:你上一份工作的离职原因?

这个问题肯定有不少同学都会被问到吧,好多人都这么回答的:现在的项目代码太烂了,前人留下了很多坑,我实在忍受不了了。

在我看来,因为这个原因离职显得未免太不职业了,而且可能把工作想的太过于理想化了。如果因为代码很烂就离职,那么你跳槽到下一个公司依然会面对同样的现状,你是不是还要用离职来解决呢?因为几乎每个人,都会觉得自己公司的项目代码很烂。

造成这种现象的原因是什么,首先,我们得相信,没有任何一个人故意把自己的代码写的很烂,每个人都想把自己的代码写的很完美,扩展性很好,但是可能当初水平不够,在当时看似还不错的代码,日后在别人看来就是所谓的垃圾代码,我们每个人都在进步,别说别人了,你现在看你三个月之前的代码,可能你都会觉得写的很垃圾,如果你没有这种感觉,只能说你在止步不前,你没有进步。

其次,技术更新换代太快,市场的变化也太快,产品自然也一直在演变,也许在当时看起来还不错的代码,随着时间的推移,功能的更新,代码的堆彻,慢慢就变成后来者眼中的烂代码了。

java程序员:就写了一行代码!被问了这么多问题?

 

引

我相信经常去面试的朋友肯定有碰到过这样的情况,从面试官开口的一个问题,你回答什么,面试就问你什么,而且一路问到底的尴尬吧。

接下来就分享一个真实经历给大家。谢谢各位观众老爷对小瓜哥的支持!

java程序员:就写了一行代码!被问了这么多问题?

 

正文

面试官:如何在一个方法中创建一个局部byte类型数组?

小白:(是不是太基础了,暗笑)byte[] arrays = new byte[1024]。

面试官:这个局部arrays变量指向的数组对象什么时候会被GC回收?

小白:没有变量引用这个数组对象,或者arrays在虚拟机栈中的局部变量表的局部变量空间(Slot)被重用,发生垃圾回收时将会被回收掉。

面试官:数组对象没有被变量引用会被GC回收,为什么?

小白:JVM通过一系列被称为"GC Roots"的对象引用作为起始点,通过引用关系遍历对象,能被遍历到的(可到达的)对象就被判定为存活对象,没有被遍历到的(不可到达的)对象就被判定为死亡对象,找出所有存活对象来把其它对象判定为可回收对象,这就是可达性分析算法。当这个局部arrays变量所在的方法被执行时,会在当前线程的Java虚拟机栈中创建一个栈帧,这个栈帧的局部变量表中会存储arrays变量所指向的数组指针,当设置arrays=null,也就是arrays不再引用这个数组对象,arrays和这个数组对象之间的引用关系就断掉了,发生垃圾回收时,以Java虚拟机栈的栈帧中里的引用类型的变量为"GC Roots”,遍历引用关系,发现这个数组对象和"GC Roots”引用链之间没有关联了,也就是不可达,即被标识为可回收对象,等待被回收。

面试官:除了你刚刚说的Java虚拟机栈的栈帧里的引用类型局部变量可以作为"GC Roots”,还有哪些也可以作为"GC Roots”?

小白:当前所有正在被调用的方法里的引用类型的参数、局部变量和临时值;Java类的引用类型静态变量;所有当前被启动类加载器或系统类加载器加载的Java类,例如如rt.jar中的java.util.*;Java类的运行时常量池里的引用类型常量;String常量池里的引用;本地方法栈中JNI的引用;虚拟机里的一些静态数据结构里指向GC堆里的对象的引用,例如说HotSpot VM里的Universe里有很多这样的引用。

面试官:当一个对象被标识为可回收对象就一定会被回收掉吗?

小白:不一定。一个对象被标识为可回收对象后,还需要经过再次筛选,即查看这个对象有没有覆盖finalize()方法,或finalize()方法有没有被虚拟机执行过,如果没有覆盖finalize()方法或finalize()方法已经被虚拟机执行过,那么这个对象将会被回收掉,否则这个对象将会被放到一个叫F-Queue的队列中,这个队列中对象的finalize()方法将会被虚拟机创建的低优先级的Finalizer线程执行,在执行finalize()方法的过程中,只要这个对象和GC Roots引用链产生关联,即再次被GC Roots集合中的成员引用,那么它将被标记为不可回收对象,继续存活。

面试官:刚刚一直说到垃圾回收,那么Minor GC、Major GC和Full GC有什么区别?

小白:Minor GC指新生代GC,即发生在新生代(包括Eden区和Survivor区)的垃圾回收操作,当新生代无法为新生对象分配内存空间的时候,会触发Minor GC。因为新生代中大多数对象的生命周期都很短,所以发生Minor GC的频率很高,虽然它会触发stop-the-world,但是它的回收速度很快。Major GC清理Tenured区,用于回收老年代,出现Major GC通常会出现至少一次Minor GC。Full GC是针对整个新生代、老生代、元空间(metaspace,java8以上版本取代perm gen)的全局范围的GC。Full GC不等于Major GC,也不等于Minor GC+Major GC,发生Full GC需要看使用了什么垃圾收集器组合,才能解释是什么样的垃圾回收。

面试官:垃圾回收算法有哪些?

小白:标记-清除算法分为两部分,标记和清除。首先标记出所有需要被回收的对象,然后在标记完成后统一回收掉所有被标记的对象。这个算法简单,但是有两个缺点:一是标记和清除的效率不是很高;二是标记和清除后会产生很多的内存碎片,导致可用的内存空间不连续,当分配大对象的时候,没有足够的空间时不得不提前触发一次垃圾回收。

复制算法将可用的内存空间分为大小相等的两块,每次只是用其中的一块,当这一块被用完的时候,就将还存活的对象复制到另一块中,然后把原已使用过的那一块内存空间一次回收掉。这个算法常用于新生代的垃圾回收。复制算法解决了标记-清除算法的效率问题,以空间换时间,但是当存活对象非常多的时候,复制操作效率将会变低,而且每次只能使用一半的内存空间,利用率不高。

标记-整理算法分为三部分:一是标记出所有需要被回收的对象;二是把所有存活的对象都向一端移动;三是把所有存活对象边界以外的内存空间都回收掉。

标记-整理算法解决了复制算法多复制效率低、空间利用率低的问题,同时也解决了内存碎片的问题。

分代收集算法根据对象生存周期的不同将内存空间划分为不同的块,然后对不同的块使用不同的回收算法。一般把Java堆分为新生代和老年代,新生代中对象的存活周期短,只有少量存活的对象,所以可以使用复制算法,而老年代中对象存活时间长,而且对象比较多,所以可以采用标记-清除和标记-整理算法。

面试官:JVM运行时数据区中的方法区可以进行垃圾回收吗?

小白:方法区和堆一样,都是线程共享的内存区域,被用于存储已被虚拟机加载的类信息、即时编译后的代码、静态变量和常量等数据。根据Java虚拟机规范的规定,方法区无法满足内存分配需求时,也会抛出OutOfMemoryError异常,虽然规范规定虚拟机可以不实现垃圾收集,因为和堆的垃圾回收效率相比,方法区的回收效率实在太低,但是此部分内存区域也是可以被回收的。方法区的垃圾回收主要有两种,分别是对废弃常量的回收和对无用类的回收。当一个常量对象不再任何地方被引用的时候,则被标记为废弃常量,这个常量可以被回收。方法区中的类需要同时满足以下三个条件才能被标记为无用的类:Java堆中不存在该类的任何实例对象、加载该类的类加载器已经被回收、该类对应的java.lang.Class对象不在任何地方被引用,且无法在任何地方通过反射访问该类的方法,当满足上述三个条件的类才可以被回收,但是并不是一定会被回收,需要参数进行控制,例如HotSpot虚拟机提供了-Xnoclassgc参数进行控制是否回收。

面试官:如果让你配置JVM新生代和老年代的大小,你如何掌控?

小白:新生代配置原则:

追求响应时间优先

这种需求下,新生代尽可能设置大一些,并通过实际情况调整新生代大小,直至接近系统的最小响应时间。因为新生代比较大,发生垃圾回收的频率会比较低,响应时间快速。

追求吞吐量优先

吞吐量优先的应用,在新生代中的大部分对象都会被回收,所以,新生代尽可能设置大。此时不追求响应时间,垃圾回收可以并行进行。

避免设置过小

新生代设置过小,YGC会很频繁,同时,很可能导致对象直接进入老年代中,老年代空间不足发生FullGC。

老年代配置原则:

追求响应时间优先

这种情况下,可以使用CMS收集器,以获取最短回收停顿时间,但是其内存分配需要注意,如果设置小了会造成回收频繁并且碎片变多;如果设置大了,回收的时间会很长。所以,最优的方案是根据GClog分析垃圾回收信息,调整内存大小。

追求吞吐量优先

吞吐量优先通常需要分配一个大新生代、小老年代,将短期存活的对象在新生代回收掉。

java程序员:就写了一行代码!被问了这么多问题?

 

最后

喜欢的可以关注小编,小编每天不定时更新技术文,面试文,欢迎各位观众老爷参观我的小窝!

网络设备调试指南:如何用MDIO Clause22/45协议读写Marvell MV88E6390寄存器 本文深入解析了如何通过MDIO Clause 22/45协议对Marvell MV88E6390交换芯片进行寄存器读写调试。文章详细对比了两种协议的本质区别与适用场景,并重点阐述了MV88E6390的直接与间接寻址策略,提供了实战代码示例与关键调试技巧,帮助网络工程师高效解决配置与通信问题。 阅读详情

相关推荐

【5G NB-IoT NTN】3GPP R17 NB-IoT NTN介绍_nbiot ntn

你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!” />你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!更多资料点击此处获qu!!

2401_83703866的博客 3166

一天写多少行代码才算是好程序员?

点击查看全文 当今时代很多吃瓜群众对程序员的印象都是 而程序员的真实情况却是这样:每天大部分时间都在改代码,写代码,看代码才是我们真实的工作日常,到底每天要写多少行才是好程序员呢? 为了探讨这个问题首先要了解程序员的种类。一般来讲,开发者(指的是纯的写代码,不包括不写代码的项目经理 、技术总监等)主要分为: 1. web工程师: 一般是写基于w

DONGYUXIA15810857916的博客 2万+

5分钟搞定SNMP工具安装:从Linux到Windows的snmpwalk/snmpget全攻略

本文提供了SNMP工具(snmpwalk/snmpget)在Linux和Windows系统上的快速安装与使用指南,涵盖从基础安装到高阶应用的全面解析。通过详细的命令示例和故障排查技巧,帮助用户快速掌握网络设备监控与诊断的核心技能,提升运维效率。

weixin_29248313的博客 555

java程序员一天多少行有效代码,持续更新~

Java程序员应该知道的20个有用的库经验丰富的优秀Java开发人员的一个特点是对API(包括JDK和第三方库)有广泛的了解。今天分享一些Java开发人员应该熟悉的最有用、最基本 程序员经常会因为不编写单元测试而找借口,但避免单元测试最常见的借口是缺乏流行单元测试库的经验和知识,包括JUnit、Mockito和PowerM。 谷歌抄了Java几行代码,差点就要被判罚88亿美元最近美国最高法院终结了这场拉锯战:谷歌对甲骨文Java代码的复制没有违反知识产权。有差友可能会觉得,不就是司空见惯的互联网大厂日..

facai122的博客 9321

Zotero+Obsidian+Bookxnote联动让文献阅读丝滑般体验

摘录文字或图片到Obsidian

weixin_43694742的博客 1万+

从FOC到你的无人机:深入浅出讲透Clark/Park变换在无刷电机控制中的核心作用

本文深入解析Clark变换与Park变换在无刷电机控制中的核心作用,揭示其如何将三相交流电转换为旋转坐标系下的直流量,实现无人机电机的高效精准控制。通过STM32硬件加速和工程实践案例,展示这对数学变换如何成为FOC算法的神经中枢,大幅提升系统响应速度和能效表现。

weixin_42628941的博客 169

为什么很多学习Java的人能看懂代码,但自己动手确写不出来?

关于这个问题,想必是很多人都有的心理历程或者是“说辞”,但其实真正的原因并不是你们所说的“我能看懂,但是让我写却写不出来”,真正的原因和问题是在于你当时学习的时候就没有学会,也不懂如何正确的学习Java编程。根据这个问题的具体原因以及如何去破解这样的问题,我今天会在下面跟大家详细说明。 “我能看懂代码,但是让我自己写却写不出来”,这样的话在我刚开始的时候自己也说过,但后来会写代码之后,会发现这样的说法是没过脑子的,也没有仔细去探究一下根本原因是什么,“能看懂”这样的说法可以说是记忆好,或者是对于英语懂一些,

Teacher_Zhan的博客 4445

游戏服务器框架之跨服(一)

如今的游戏开发,不搞个跨服玩法都不好意思说在做游戏了(当然,也跟游戏类型有关,一些轻度休闲游戏可以排除在外)。跨服玩法的设计,可以进一步激发玩家追求高战力的虚荣心,也可以汇聚玩家数量,避免单服日活跃低呈现死服现象。 几种常见的跨服玩法拓扑结构 一,不同游戏服的玩家进入中立服务器进行战斗,例如跨服天梯类玩法。 游戏服有很多个节点,中心服务器也有很多节点。只要保证对战的双方同时进入同一个中心服游戏进程即可。 二,若干个游戏服组成一个社区,全部服务器包含多个社区,例如世界服玩法。 三,游戏服A玩

littleschemer的博客 5774

程序员日均写7行代码被开除,公司:正常员工每天200行

来源:扩展迷EXTFANS根据前不久优快云发布的《2021-2022中国开发者调查报告》显示,大部分程序员平均每天会写200行左右的代码。那么代码的数量能衡量一个程序员的水平吗?事实上,用代码的多少来评估程序员的业务能力是否达标,并不是客观的。在此前的一起劳动争议案件中,一科技公司的算法工程师便在试用期被公司开除。而起因则是公司认为他的编程能力不足,主要表现在代码写的太少。判决书显示,李某某于2...

程序猿DD 991

基于Lstm+transformer的刀具磨损预测实战

基于Lstm+transformer的刀具磨损预测实战

2906

3. 动手运行第一个 SAP Fiori Elements 应用(ListReport 类型)

这个代理服务器能够自动监听我们 Fiori Elements 应用里向 ES5 Demo 系统发送的 OData 请求,拦截这个请求,并通过 Node.js 代码向 ES5 服务器转发,拿到响应数据后再交还给 Fiori Elements 应用。后者对自己发出的请求被代理这件事情一无所知。本文的任务是,大家按照我的介绍,在本地成功运行笔者准备的这个 Fiori Elements 应用。的错误消息, 说明大家安装的 Node.js 版本没有达到本地运行 Fiori Elements 的最低要求。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1671

jar包让别人看不到代码_java程序员:就写了一行代码!被问了这么多问题?

前言分享一个自己年轻时候的经历(篇外话)面对面试官的时候,他们通常会问这么一个问题:你上一份工作的离职原因?这个问题肯定有不少同学都会被问到吧,好多人都这么回答的:现在的项目代码太烂了,前人留下了很多坑,我实在忍受不了了。在我看来,因为这个原因离职显得未免太不职业了,而且可能把工作想的太过于理想化了。如果因为代码很烂就离职,那么你跳槽到下一个公司依然会面对同样的现状,你是不是还要用离职来解决呢?因...

weixin_33111267的博客 252

医疗AI多智能体资源调度:用Python构建高性能MCU资源池

本文介绍了医疗AI服务平台中多智能体资源争用问题的解决方案。作者设计了一个基于MCU(多点控制单元)理念的中央资源调度器,通过三层架构(资源抽象层、调度策略层、执行控制层)实现对GPU、API、数据库等医疗资源的统一管理。系统采用增强版信号量机制处理可计数并发资源,优化令牌桶算法管理速率资源,并支持急诊优先、配额限制、审计合规等医疗场景特殊需求。核心代码提供了带优先级抢占的并发控制和医疗专用令牌桶实现,可有效解决多智能体资源争用导致的优先级混乱、资源利用不均等问题。

AllenLV的博客 3218

优秀的程序员真的不写注释吗?

我在很多地方看到这样一个观点,“请停止写注释,因为只有烂的代码才需要注释。”这个观点非常巧妙,它让我想起了孟子的一句话,“杨氏为我,是无君也;墨氏兼爱,是无父也。无父无君,是禽兽也。” 动不动就骂别人是“禽兽”,我总觉得有点不妥,这很不符合孟子的浩然之气啊。有些大牛也有孟子这样的觉悟,如果有人要他给自己的代码加上注释,就好像是对他的一种侮辱:“我的代码写得这么优雅,你难道看不懂吗?注释是多余的!” 我必须得承认,每个程序员都应该有一颗追求“优雅”的心,力争自己的代码更易阅读和理解——不只是针对机器,还有我

沉默王二 4万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

程序员为什么要写博客?怎么写博客?

今天就来和大家聊聊关于写博客的一些事情,首先声明哦,这都是我自己写博客那么久以来的一些想法,可能有些地方不够成熟,但我还是想着分享出来,万一对你有些帮助呢? 为什么这里要加上程序员?不是程序员就不适合写博客吗?那倒不是,我不了解其他行业怎样,但是我知道,至少程序员写博客是对自己非常有帮助的一件事情,而且,很多前辈给编程小白的建议大多都有写写博客吧! 对了,我这里要讲的是,为什么程序员要写博客啊? 我们人呐,其实都是蛮物质的,对自己没啥好处的事情一般都不怎么愿意干,而且都喜欢短期收益高的事情,所以啊,很多.

庆哥Java的优快云技术博客 2万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

千万不要相信程序员在加班时间写的代码!

作为一个最底层的程序员,我先记录一些只有底层程序员才会知道的事情。如果多年后,我违背自己进入这个行业的初心,走上管理岗位,也能回想起一些禁忌,避免一些错误。 其中最重要的就是这条:不要相信一个程序员在加班时间写出来的代码。 (软件工程的学说表明,连正常时间好好写的代码,也不要太相信。不过这不是本文的重点,略过不提。) (不懂代码的人,看到本文中的Java代码可以略过,不影响理解。) 一、创造力的时...

秃头哥编程 3180

程序员在地铁上写代码被路人吐槽:有什么好装的!网友评论炸锅了

现在的人自我意识越来越强,专注做自己的事不太会在意别人的眼光,不管别人如何评价路,毕竟脚下的路是自己在走。 最近有位网友在职场论坛上发帖,说看见地铁上有一程序员大哥在写代码,并且配上了一张照片。 从照片中可以看出,一位男子坐在靠地铁栏杆的地方,把包放在腿上,垫着电脑,噼噼啪啪的在工作,地铁上人不多,显然不是高峰期,他工作的状态很专注。 给大家推荐一个java技术交流群659270626,...

weixin_43770982的博客 2565

程序员在地铁上写代码被路人吐槽:有什么好装的!网友评论炸锅了!

现在的人自我意识越来越强,专注做自己的事不太会在意别人的眼光,不管别人如何评价路,毕竟脚下的路是自己在走。 最近有位网友在职场论坛上发帖,说看见地铁上有一程序员大哥在写代码,并且配上了一张照片。 从照片中可以看出,一位男子坐在靠地铁栏杆的地方,把包放在腿上,垫着电脑,噼噼啪啪的在工作,地铁上人不多,显然不是高峰期,他工作的状态很专注。 没想到程序员的这个举动却被路人吐槽说:“有什么好装的”,地铁里手机信号都不好,如果遇到紧急的bug,早就下车找地方去修改了,还用在地铁里干。 但这个网友的帖子立刻引来其他

weixin_43901866的博客 3638

Java(二):首次编写一行代码、一份源码以及相关问题

学习Java的第一行代码———命令JVM来输出一行简单的问候语:Hello,world!。大致步骤如下:首先打开命令提示符(windows键+R之后输入“cmd”),输入“jshell”回车执行然后输入内容:System.out.println("Hello,world!");,再回车执行即可看见结果。注:System首字母需要大写且所有标点符号是英文格式。

S_E_E_K_5630的博客 1539

程序员该敬畏每一行代码?填好每一个坑才是!

点击上方“程序人生”,选择“置顶公众号”第一时间关注程序猿(媛)身边的故事图片源自Westworld Season 2作者五五白天搬砖,晚上砌梦想。相信每个人有故事,程序...

程序人生的博客 2497

Java 接入 AI 风口:Spring AI + 千问 3.5,一行代码集成大模型

回顾整个过程,我们从零搭建了一个基于 Spring AI + 千问 3.5 的 AI 服务,全程没离开 Java 生态,没有复杂的 Python 环境配置,没有模型部署的繁琐步骤,就是通过标准的 Maven 依赖和 YAML 配置搞定。这种"低摩擦"的接入方式,正是 Spring AI 的价值所在。它把大模型变成了和 MySQL、Redis 一样的基础组件,你可以像使用 JPA 操作数据库一样使用 AI 能力。当然,本文只是一个起点。

HHX_01的博客 1220

【视频】今天帮公司面试了个要25K的Java程序员,看看我都问他些什么问题

你猜最后我给了他多少K?

敖丙 2万+

程序员在写不出代码时,该如何救急?

看完之后,再碰到这种情况,你不但不会慌,还能拍着桌子跟自己说:“没事,照着老韩的方法,分分钟搞定!如果你实在写不出来,可以先随便写点代码,让程序跑起来,然后用调试器一点点观察程序的执行过程,看看哪里卡住了。比如,你不知道Java的List怎么排序,就搜“Java List 排序”,一堆代码示例等着你看。结果需求没搞清楚,写的代码全是废代码。最后,老韩想给那些经常卡壳的同学打一剂“强心针”:写不出代码并不可怕,可怕的是你因此怀疑自己。卡壳只是暂时的,未来的你,一定会写出行云流水的代码,完成让自己骄傲的项目!

m0_61562916的博客 967

程序员该敬畏每一行代码?填好每一个坑才是

每个程序员的心里是否敬畏每一行代码不可而知,但填好每一个坑是每个程序员的必修课。 你是否经常遇到这样的情景:负责开发的项目遇到线上bug,心想这不是我的锅,先不管了,放着吧;代码写完后,隐隐感觉有问题,可程序跑得通,先用着吧;接手一个老系统,这什么破代码,算了,改吧改吧将就用吧…… 今天绕过的坑明天将加倍回来: 下次再改这块代码你仍然遇上它,只能硬着头皮一行行捋代码解决;线上某种场景触发问题代码,造成意想不到的崩溃;老系统改起来太费时间和容易踩坑,不如花时间重构。 测试向你吐槽你写的bug,你否认道,这是前

mt776333的博客 5690

Java程序员觉醒:原来代码还能这样写!

在程序编写过程中,集合的处理应该是很普遍的。Java 8 对于 Collection 的处理花了很大的功夫,如果从 JDK 7 过渡到 JDK 8,这一块也可能是我们感受最为明显的。Java 8 中,引入了流(Stream)的概念,这个流和以前我们使用的 IO 中的流并不太相同。所有继承自 Collection 的接口都可以转换为 Stream。还是看一个例子。假设我们有一个 List 包含 Person 对象,Person 有姓名 name 和年龄 age 连个字段。

z1ztai的博客 992
上一篇: 阿里P9大牛的Springboot使用心得
下一篇: BAT大厂java程序员面试必问:JVM+Spring+分布式+tomcat+MyBatis
java架构师小芷
博客等级 码龄6年 216粉丝 519原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值