java中不常用但是很重要的几个关键字解析

从零到一:基于STM32F103C8T6与HAL库的磁悬浮电赛装置实战解析 本文详细解析了基于STM32F103C8T6微控制器与HAL库,从零构建磁悬浮装置的完整实战方案。文章深入剖析了硬件设计中的线圈布局与“反向串联”巧思,以节省PWM资源;并阐述了采用三闭环PID控制算法的软件实现,结合Keil开发环境与HAL库进行工程搭建与调试。该方案为电子设计竞赛(电赛)提供了高可行性的参考,是嵌入式软硬件综合实践的优秀范例。 阅读详情

第一个  transient  短暂的

本来想写一下这个关键字的,链接 这篇文博写的太好,就直接转过来了,大家欣赏下。

这里记录下transient的主要用法:我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。

      然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一些敏感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作(主要涉及到序列化操作,本地序列化缓存也适用)中被传输,这些信息对应的变量就可以加上transient关键字。换句话说,这个字段的生命周期仅存于调用者的内存中而不会写到磁盘里持久化。

总之,java 的transient关键字为我们提供了便利,你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。

transient的小结

1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。

2)transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。

3)被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。

第三点可能有些人很迷惑,因为发现在User类中的username字段前加上static关键字后,程序运行结果依然不变"

对于这一点的解释,我想的是这样。 序列化是针对一个对象来说的,但静态成员不归属对象,属于类本身。 所以这样还说,你让不让它瞬态都没意义,不必讨论它。而你的测试正好说明了设计者对于这种静态成员做的处理


第二个关键字assert

J2SE 1.4在语言上提供了一个新特性,就是assertion(断言)功能,它是该版本在Java语言方面最大的革新。在软件开发中,assertion是一种经典的调试、测试方式。

  assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制,如C,C++和Eiffel等,但是支持的形式不尽相同,有的是通过语言本身、有的是通过库函数等。另外,从理论上来说,通过assertion方式可以证明程序的正确性,但是这是一项相当复杂的工作,目前还没有太多的实践意义。

  在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。


第三个关键字volatile

又发现一篇大牛的文章,转载过来点击打开链接 大家共享

用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最的值。volatile很容易被误用,用来进行原子性操作。

多模态融合相关概念 多模态图像融合 阅读详情

相关推荐

SAP采购信息记录批量维护实战:用BAPI ME_INFORECORD_MAINTAIN搞定价格等级和条件记录

本文深入解析SAP标准BAPI ME_INFORECORD_MAINTAIN在采购信息记录批量维护中的应用,特别聚焦价格等级和条件记录的技术难点。通过实战案例和代码示例,帮助用户高效处理供应商-物料价格数据,提升供应链管理效率。

weixin_42522320的博客 410

java中的关键字transient ,不需序列化的属性

https://baijiahao.baidu.com/s?id=1636557218432721275&wfr=spider&for=pc transient关键字总结 java 的transient关键字为我们提供了便利,你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。像银行卡、密码等等这些数据。这个需要根据业务情况了。 这个关键字的作用其实我在写java的序列化机制中曾经写过.

hellojoy的博客 2636

基于phpstudy搭建pikachu靶场

一、phpstudy下载安装配置 phpstudy介绍 简单介绍一下phpstudy,详细请参考百度解读。pikachu是基于PHP环境搭建的,需要数据库支持,所以装pikachu之前需要先安装它需要的环境,就像你养鱼需要给它提供水环境一样。安装phpstudy能满足pikachu的需求,所以先安装phpstudy。 phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是

ptxybird的博客 1万+

Java中transient的使用说明

Java中的transient关键字,从字面意义理解,transient为短暂的意思,transient应用于class的field上,即说明该field为短暂的,那对于1个成员变量,短暂的成员变量意味着什么?transient 修饰的变量,在类实例的序列化处理过程中会被忽略,例如,将类的实例序列化成字节流,再从字节流反序列化成类实例,transient修改的变量将不是原来的值,因此,短暂的成员变量意味着,不会贯穿对象的序列化和反序列化,只会存在当前,是短暂的存在而非持久的存在。

Veechange的博客 3732

【Kingbase人大金仓】授权文件更换

本文介绍了金仓数据库授权文件更换的步骤:1.通过ksql或客户端工具查询数据库版本;2.在官网下载对应版本的license.bat文件;3.替换前先备份原授权文件(使用tar命令压缩),再用新文件覆盖原文件。注意事项包括:版本号需严格对应,授权文件通常位于安装目录下,可使用find命令查找具体位置。操作需谨慎,建议先备份原文件以便恢复。

qq_34463511的博客 3451

ABA分析方法 — 软硬件开发必备的一种分析问题绝佳套路

可能你从很多地方听过这个名词,无论是在软件开发还是硬件领域(比较典型的领域:汽车、消费电子、医疗等行业),ABA验证都是一种快速分析故障的一个方法,第一次听到这个词,当时是不是一脸懵逼,本文就深度带你了解下ABA的分析方法。简要概述就是:怀疑A模块导致系统故障,将B模块替换A模块,故障消失,再将A模块替换回来,故障复现,则说明A模块是导致系统故障的原因其实,ABA分析问题,可能很多人在工作中都或多或少用过这个方法,只是没有这个概念,说明白了就是控制变量和对比验证,没什么高大上的东西。

Eureka1024的博客 7319

java的一些不常使用但自己觉得重要的类

这是第一次写csdn博客,在写具体的技术文章之前想先说点关于写博客的事情。 我想写博客的这个想法在脑海里存在已经很久了,但是一直没有动笔去写。我觉的一方面因为自己有完美主义倾向,觉得没“准备好”。但是怎么才算“准备好”呢?这个问题我自己没有答案。我的结论是不要等“准备好”啦。另一方面是因为自己

Lire_orange的博客 659

基于步科(Kinco HMI 2.5)的组态软件使用

本篇介绍Kinco HMI 2.5的组态软件使用,图标如下 目录   一、新建工程并配置连接 1.1 根据工程选择PLC与HMI型号 1.2 配置PLC连接与选项 二、组态画面编辑 2.1 打开画面窗口 2.2 编辑画面 2.3 组态变量与PLC程序变量连接 三、组态程序下载到HMI 3.1 连接 3.2 编译 3.3 下载 一、新建工程并配置连接 1.1 根据工...

ACanswer的专栏 1万+

java中重要的几个常用类

一、String a). 创建String类型的数据     String  变量名 = new  String();  String  变量名 = new String(“字符串”);  String  变量名  = “”; b) String类的常用属性和方法 1、 length()   数组的长度 2、 charAt(index)  根据下标找字符 3、 inde

会飞的猪 7752

渗透测试之哥斯拉实战

可以直接在这里使用meterpreter命令进行对服务端的控制。选择目标 - 添加,配置连接信息,之后测试连接成功!php的shell功能如图。先要进行数据库的配置信息。可以直接在这里打包全站。

大河之犬的博客 2488

C语言实现惯性导航初始对准全部核心代码

惯性导航初始对准包括间接粗对准和卡尔曼滤波精对准,其中。为基于卡尔曼滤波的精对准,其中。

十八与她的博客 2283

java 常见类_Java常用类

一.Scanner获取键盘输入1.主要方法有:(1)hasNextXxx(); 是否还有下一个输入项(2)nextXxx(); 获取下一个输入项(3)还可以文件输入,这里省略;例子:importjava.util.Scanner;/****@authorfengkuirui* @date 2017-02-08* Scanner获取键盘输入;*/public classScannerKeyBoard...

weixin_36174245的博客 358

SAP-ABAP:SAP MM采购订单增强核心BAdI:IF_EX_ME_PROCESS_PO_CUST 深度解析与最佳实践指南

SAP MM采购订单增强核心BAdI:IF_EX_ME_PROCESS_PO_CUST 关键摘要 核心要点 技术定位:SAP MM模块采购订单处理的核心增强框架,属于第二代BAdI技术,支持多实例并行实现 架构特点: 覆盖采购订单全生命周期(创建/修改/显示) 嵌入ME21N/ME22N/ME23N的标准处理流程 提供字段级、抬头、行项目、账户分配等多层次增强点 关键方法: INITIALIZE:事务初始化时预加载数据 PROCESS_HEADER:处理抬头数据变更 PROCESS_ITEM:处理行项目字段

baidu_35680696的博客 809

【Java SE】native关键字、== 比较符、Object类的几个常用方法

应用示例:判断两个Person对象的内容是否相等,如果各个属性值都一致,则返回true,反之返回falsePerson p1 = new Person("小马", 20, '男');Person p2 = new Person("小马", 20, '男');Person p3 = new Person("蔡徐坤", 20, '男');//true//false@Override//如果是同一对象//类型判断,是Person类型才进行比较。

m0_55908255的博客 869

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Java不常用的关键字介绍 native,strictfp,transient,volatile

转贴来自:http://www.qinglearn.com/article/chengxu/JAVA/info-12099.htmlabstract default if private this  boolean do implements protected throw  break double import public throws  byte else instanceof ret

天平的专栏 1081

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java 中几个不常用的关键字

transient : 如果类中的一个成员变量声明为 transient ,那么当对象进行持久化存储时,不会保存这个变量的值。例如:public class Entity { String s1; transient String s2; public class Entity(String s1, String s2){ this.s1 = s1;

To_yan的博客 1337

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

java关键字多少个_Java中的几个关键字

java中关键字有54个之多(ps: java的关键字都是小写的)。常用的那些字不必说。今天我们就来总结下这几个沧海遗珠。1、native字如其名,用来修饰java本地(原生)调用的方法。简单的说就是java调用原生的C/C++的方法。Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C或者C++。标识符native可以与所有其它的java标识符连用,但是a...

weixin_42557768的博客 852

java几个关键字_Java 中几个重要的关键字

Java中的关键字特别多,大致如下:访问控制private protected public类,方法和变量修饰符abstract class extends final implements interface native newstatic strictfp synchronized transient volati...

weixin_36249618的博客 282

Java常用关键字总结

常用关键字汇总图 详细解释 用于定义访问控制修饰符的关键字 控制范围图 public(公共的) 1、public 关键字是可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符。 2、可以在其他任何类或包中引用 public 类、方法或字段。 3、除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访问类成员。 protected(受保护的) 1、protected 关键字是可以...

lxlcnb的博客 4843

Java中常用关键字

Java中常用关键字包括:static、extends、super、final、abstract、interface、implements。下面分别讲述这几个关键字: static关键字: 具体解析链接:https://blog.youkuaiyun.com/TSY_1222/article/details/83150782   extends关键字: 子类去继承父类所有可继承属性和方法 一个接口...

TSY_1222的博客 2950

浅解Java中的不常用关键字

很多时候很容易混淆Java和C++中的关键字,现在就带大家来温习一下吧,别小看关键字,这个无论是在面试还是笔试甚至以后的编程生涯中,都相当的重要,很基本但是很容易忽略的知识呢。 Java关键字如下: abstract default if private this boolean do implements protected throw

426

Java常用关键字

final变量定义时初始化常见,定义时直接赋值即可,不再赘言。定义:static修饰的域、方法、代码块为类所有,而不是为对象所有;调用:可以使用类名调用(亦可使用对象名调用);变量加载顺序:static域加载时仅加载一次(基础面试题第一篇,变量加载顺序)。第一点,static方法、代码块内可以只能出现static域、方法、代码块,最常见的就是main方法,static方法只能出现static变量。第二点,非static方法只能由对象名调用调用,因为非static方法只有在对象存在时才有意义。

qq_27833723的博客 2292

java 多线程 关键字_Java多线程常用的几个关键字

Java多线程常用的几个关键字本文是百分网小编搜索整理的关于Java多线程常用的几个关键字,供参考借鉴,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!一、同步(synchronized)和异步(asynchronized)1、同步(synchronized)简单说可以理解为共享的意思,如果资源不是共享的,就没必要进行同步。设置共享资源为同步的话,可以避免一些脏读情况。2、异...

weixin_36403106的博客 986

每日一知识点 - Java常用关键字

准备好了吗?让我们一起步入这座Java神奇的城堡,解开每一个关键字的奥秘,成为真正的Java魔法师!

2301_82095378的博客 1196

count是java的关键字_Java SE基础巩固(三):常用的关键字

Java中的关键字很多,至少有50个左右,常见的new,final,try,catch等等,其中大多数关键字的意义都很简单,基本上根据英文意思就能知道其功能,本文不会对那些简单的关键字做介绍,仅挑选了几个使用频率较高,但又可能导致“迷惑”的关键字来讨论。1 transienttransient关键字可修饰于类成员变量,作用是当类的对象发生序列化的时候,最终的序列化内容不包括被修饰的成员变量。下面的...

weixin_39587246的博客 514

java中不常用的关键字instanceof浅析

,我晕,我非常晕~~。在看jdk愿代码时,看到一些不常用的关键字,至少我很少用,或说不会用,查找了一些资料,整理一下。instanceof :在运行时知道对象类型是很有用的。我们在编程时免不了要判断对象类型。一种方法是强制转换。另一种方法就是用instanceof 。但非法的强制转换我们也见到和自己用了不少,呵呵,测试的时候不搞的你才怪了。instanceof 那究竟是什么呢?举个例子,地球人都明

新宾二亮子 1654
上一篇: 写于深入源码之前
下一篇: 安卓去掉默认的title
爪爪的瓜瓜
博客等级 码龄14年 5粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值