自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(851)
  • 资源 (354)
  • 收藏
  • 关注

原创 ArrayList和Vector的区别是什么?

这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是HashSet之类的集合的最大不同处,HashSet之类的集合不可以按索引号去检索其中的元素,也不允许有重复的元素(本来题目问的与hashset没有任何关系,但为了说清楚ArrayList与Vector的功能,我们使用对比方式,更有利于说明问题)。所以,我们讲课时先讲老的。

2023-09-26 18:32:43 481

原创 测试工程师通常用哪个单元测试库来测试Java程序?

测试工程师在测试Java程序时通常使用各种不同的单元测试库,具体选择取决于项目的需求和团队的偏好。

2023-09-25 17:52:01 719

原创 如何基于RDD方式完成DataFrame的代码构建?

通过SparkSession对象的createDataFrame方法来将RDD转换为DataFrame,这里只传入列名称,类型从RDD中进行推断,是否允许为空默认为允许(True)。DataFrame对象可以从RDD转换而来,都是分布式数据集 其实就是转换一下内部存储的结构,转换为二维表结构。通过StructType对象来定义DataFrame的“表结构”转换RDD。使用RDD的toDF方法转换RDD。

2023-09-22 15:42:48 541

原创 MySQL中有哪几类数据模型?

网状模型用网状结构表示数据之间的关系,网状模型的数据结构允许有一个以上的节点无双亲和至少有一个节点可以有多于一个的双亲。面向对象模型用面向对象的思维方式与方法来描述客观实体,它继承了关系数据库系统已有的优势,并且支持面向对象建模、对象存取与持久化以及代码级面向对象数据操作,是现在较为流行的新型数据模型。关系模型以数据表的形式组织数据,实体之间的关系通过数据表的公共属性表示,结构简单明了,并且有逻辑计算、数学计算等坚实的数学理论作为基础。关系模型是目前广泛使用的数据模型。(4)面向对象模型。

2023-09-22 15:40:15 355

原创 OLTP和OLAP有什么区别和不同?

开源的OLAP引擎有以下几类,可以看到Doris拥有众多优点,运维成本低,兼容Mysql访问协议等等,在变化维、非预设维、细粒度统计的应用场景下,使用MPP引擎驱动的ROLAP模式,可以简化模型设计,减少预计算的代价,并通过强大的实时计算能力,可以支撑良好的实时交互体验。MOLAP,基于多维数组的存储模型,也是OLAP最初的形态,特点是对数据进行预计算,以空间换效率,明细和聚合数据都保存在cube中。HOLAP,混合模型,细节数据以ROLAP存放,聚合数据以MOLAP存放。这种方式相对灵活,且更加高效。

2023-09-20 18:03:25 203

原创 怎样创建多个隔离的Python开发环境?

以上命令执行后会创建包含Python的虚拟环境first_env,虚拟环境中的Python版本由系统环境变量PATH中配置的Python安装路径中Python的版本决定。实际生产中同一项目的不同版本可能依赖不同的环境,这时需要在系统中安装多个版本的Python。为了避免这种情况,应使用virtualenv命令创建虚拟环境,以隔离不同版本的Python。一台主机中可以存在多个虚拟环境,开发人员可以将不同版本的Python安装在不同的虚拟环境中,实现Python环境的隔离。

2023-09-20 17:55:21 175

原创 content生成自定义图标的方式是什么?

上述代码中,第3、4行给标签设置了enter-active-class与leave-active-class两个属性,用来自定义类名,属性值为animate.css动画库中定义好的类名。例如,第3行的“animated bounceInLeft”包含两个类名,animated是基本的类名,任何想实现动画的元素都要添加它;animate.css是一个跨浏览器的CSS3动画库,它内置了很多经典的CSS3动画。(1)从animate.css官方网站获取animate.css文件,保存到chapter04目录中。

2023-09-19 17:42:11 119

原创 Process模块怎样在终端进行数据输入?

对于每一个终端来说,都是一个标准输入与标准输出的一个接口而已,在 Process 模块中提供了获取终端输入数据的方法,下面进行详细介绍。在上述代码中,通过监听process.stdin 对象的data事件,从data事件的回调函数中获取终端输人的数据,由于输入消息后需要按[Enter] 键,系统会将这个动作识别为空格所以使用trim0来去掉这个空格。在上图中,第一个“123456”是使用键盘输入的,第二个“123456”是按[Enter]键后获取到的输入信息,被输出到了终端。demo6-6js执行结果。

2023-09-19 17:17:27 115

原创 JavaScript中常用的输入输出语句介绍

在日常开发中,为了方便数据的输入和输出,JavaScript提供了一些常用的输入输出语句,具体如表1-3所示。表1常用的输入输出语句接下来将分别演示document.write0、console.log0和promptO的使用。

2023-09-19 16:35:23 263

原创 为什么要为TypeScript添加类型支持?TypeScript优势

5.TS类型推断机制,不需要在代码中的每个地方都显示标注类型,让你在享受优势的同时,尽量降低了成本。从编程语言的动静来区分,TypeScript属于静态类型的编程语言,JS属于动态类型的编程语言。并且,配合VSCode等开发工具,TS可以提前到在编写代码的同时就发现代码中的错误,减少找Bug、改Bug时间。相比JS,开发体验更友好,增加开发了开发的幸福度。TypeScript 是 JS 的超集,JS有的TypeScript都有,是Type和JavaScipt的结合,在JS的基础上为 JS 添加了类型系统。

2023-09-18 18:01:54 184

原创 插槽指的是什么?插槽的基础用法体验

这是MyCom1组件的第1个p标签</p>--通过slot标签,为用户预留内容占位符(插槽)--><p>这是MyCom1组件最后一个p标签</p><my-com-1>-在使用 MyCom1 组件时,为插槽指定具体的内容--><p>~~~用户自定义的内容~~~

2023-09-18 18:01:16 202

原创 Web Storage是什么?Web Storage详解

Web Storage中包含两个关键的对象,分别是localStorage对象和sessionStorage对象,它们都是Web Storage的实例,所以都能使用Web Storage接口提供的方法和属性。Web Storage类似于Cookie,但相比Cookie可以减少网络流量,因为Web Storage存储的数据不会发送给服务器,而Cookie存储的数据会由浏览器通过HTTP请求自动发送给服务器。将数据存储在WebStorage可以减少数据在浏览器和服务器间不必要地来回传递。

2023-09-18 17:58:31 391

原创 怎样下载和安装HBuilder软件?【附HBuilder快捷键】

在上图中,左侧项目管理器中会出现一个名称为HelloHBuilder的示例项目,右侧会出现一个HBuilder入门的窗口,该窗口中显示的内容是HBuilder官方的使用教程,提供了HBuilder的详细使用方法。HBuilder下载完成,解压到指定的路径后,双击启动文件HBuilder.exe,会出现一个启动页面,完成用户注册并登录后,便可开始使用HBuilder。HBuilder开发界面如图所示。最后,编写项目中默认的文件index.html,利用HBuilder提供的工具完成文件的运行,页面效果如下。

2023-09-15 17:05:54 216

原创 怎样理解z-index层叠等级属性?

为了表示三维立体的概念,如上图中上下层的立体关系,引入了z-index属性来表示z轴的深度。z-index值可以控制定位元素在垂直于显示屏方向(z轴)上的堆叠顺序,值大的元素发生重叠时会在值小的元素上面,其取值可为正整数、负整数和0,默认值为0。z-index只能在position属性值为relative或absolute或fixed的元素上有效,z轴可以理解为屏幕的深度,z-index值越大的元素越靠近用户。当一个父元素中的多个子元素同时被定位时,定位元素之间有可能会发生重叠,如图1所示。

2023-09-15 16:42:51 112

原创 怎样为Apache配置文件索引页?

上述配置表示在访问目录时,先检测是否存在index.html,如果存在,则显示,否则就继续检查是否存在index.pbp。如果不希望Apache列出文件列表,可以在配置中通过Options-indexes关闭,关闭后Apache会使用403错误页面代替文件列表。索引页是指当访问一个目录时,自动打开哪个文件作为索引。例如,访问http:/localhost这个地址实际上访问的是http//localhost/index.html,这是因为index.html是默认索引页,可以省略索引页的文件名。

2023-09-14 17:01:50 229

原创 JavaScript的基本数据类型如何使用?

JavaScript中的数据类型分为两大类,分别是基本数据类型和复杂数据类型(或称为引用数据类型),如图所示。需要注意的是,代码中的值 tue、false、undefined和null全部都要写成小写字母。本节重点讲解基本数据类型。下面我们用代码演示基本数据类型的使用。

2023-09-14 17:00:20 134

原创 title标签和meta标签怎样设置?有什么含义?

meta http-equiv=”名称”content=”值”>在标签中,http-equiv 属性和content 属性可以设置服务器发送给浏览器的HTTP头部信息,为浏览器显示该页面提供相关的参数标准。在上述示例代码中,hitp-epuiv属性的属性值为“Content-Type”.content属性的属性值为“test/html”和“charset=gbk”,两个属性值之间用“:”隔开。其中,name属性提供搜索内容名称,content属性提供对应的搜索内容值,这些属性的具体应用如下。

2023-09-13 18:09:05 360

原创 怎么为Web服务器配置虚拟主机?【步骤演示】

在安装了Web服务器Apache后,为了更好地使用Apache,还需要学习如何对Apache进行配置。在项目开发中,经常需要配置虚拟主机和访问权限,下面对Web服务器的配置进行详细讲解。

2023-09-13 18:05:03 348

原创 同步和异步编程执行API的方式有什么区别?

同步API是指只有当前API执行完成后,才能继续执行下一个API。这就好比到餐馆点餐时,一个指定的服务员被分配来为你服务,当点完餐时,服务员将订单送到厨房并在厨房等待厨师制作菜肴,当厨师将菜肴烹饪完成后,服务员将菜肴送到你的面前,至此服务完成,此时这个服务员才能服务另外的客人。步模式是指一个服务员某一时间段只能服务于一个客人的模式。异步API是指当前API的执行不会阻塞后续代码的执行。

2023-09-12 17:35:33 222

原创 Laravel框架中的目录结构都有什么作用?

Laravel框架安装完成后,会在C:lwebwwwlapavel目录下自动创建一些文件和目录。本节来了解一下框架中各个目录的作用。在熟悉了一级目录的作用后,下面来看一下Laravel框架常用的子目录和文件的作用,如下表所示。Laravel框架一级目录的作用如表所示。

2023-09-12 16:01:44 268

原创 localStorage是什么?有哪些特点?

localStorage与sessionStorage的区别是存储数据的生命周期不同。从硬件方面理解,localStorage的数据是存储在硬盘中的,关闭浏览器时数据仍然在硬盘上,再次打开浏览器仍然可以获取localStorage保存的数据,而 sessionStorage的数据保存在内存中,当浏览器关闭后,内存将被自动清除。localStorage的主要作用是本地存储,它可以将数据按照键值对的方式保存在浏览器中,直到用户或者脚本主动清除数据,否则该数据会一直存在。(2)不同浏览器保存的数据量大小不统一。

2023-09-11 17:11:34 874

原创 JavaScript变量预解析和函数预解析

学习预解析能够让我们知道为什么在变量声明之前访问变量的值是 undefined,为什么在函数声明之前就可以调用函数。JavaScript 解析器在运行 JavaScript 代码的时候分为两步:预解析和代码执行。预解析:在当前作用域下, JS 代码执行之前,浏览器会默认把带有 var 和 function 声明的变量在内存中进行提前声明或者定义。变量提升变量的声明会被提升到当前作用域的最上面,变量的赋值不会提升。函数提升: 函数的声明会被提升到当前作用域的最上面,但是不会调用函数。

2023-09-11 17:10:38 147

原创 如何在Vue中定义和调用过滤器?

过滤器(Filters)是 vue 为开发者提供的功能,常用于文本的格式化。在 filters 节点下定义的过滤器,称为“私有过滤器”,因为它只能在当前 vm 实例所控制的 el 区域内使用。过滤器仅在 vue 2.x 和 1.x 中受支持,在 vue 3.x 的版本中剔除了过滤器相关的功能。⚫ 如果项目已经升级到了 3.x 版本的 vue,官方建议使用计算属性或方法代替被剔除的过滤器功能。⚫ 如果使用的是 2.x 版本的 vue,则依然可以使用过滤器相关的功能。

2023-09-08 13:40:18 389

原创 如何使用Web Storage对页面中数据进行监听?

(3)在图2-8所示的文本框中输入“userl”,单击“保存”按钮,然后进入开发者工具的Application选项卡,找到Local Storage选项并单击该选项下的http://127.0.0.1:5500地址,可以看到设置的localStorage中Key的值为“usermame”,Value的值为“userl”的数据,如图所示。上述代码中,事件处理函数接收一个event对象作为参数,event对象的key属性保存发生变化的数据的键名。(5)保存代码,在浏览器中进行测试,效果如图2-10所示。

2023-09-08 13:35:54 724

原创 Canvas怎样修改线条的宽度、颜色和形状?

在Canvas中,线的默认颜色为黑色,宽度为lpx,但我们可以使用相关属性为线添加不同的样式。下面我们将从宽度、描边颜色、端点形状3方面详细讲解线条样式的设置方法。

2023-09-08 13:32:49 878

原创 volatile类型变量提供什么保证?

在Java中,volatile关键字用于修饰变量,它提供了可见性和有序性的保证。

2023-09-07 17:30:17 193

原创 什么是多线程环境下的伪共享(false sharing)?

当多个线程同时访问不同变量,但这些变量存储在同一缓存行中时,每个线程只修改自己的变量,但由于缓存一致性协议的要求,需要将整个缓存行的数据进行更新,导致其他线程缓存的数据失效,从而影响了性能。当我们运行该示例代码时,由于VolatileLong对象存储在同一缓存行中,不同线程对不同的VolatileLong对象进行操作,但由于缓存一致性协议的要求,每次写操作都会导致整个缓存行的数据失效。为了解决伪共享问题,可以使用填充(padding)技术来确保不同变量在不同的缓存行中,从而避免了不必要的缓存行无效和更新。

2023-09-07 17:29:03 197

原创 Dubbo默认使用什么序列化框架?

Dubbo默认使用的序列化框架是Hessian 2.0。Hessian是一种基于二进制的序列化协议,它具有简单、高效的特点,适用于网络传输和存储数据。Hessian在Dubbo中被广泛使用,因为它可以在不同的编程语言之间进行对象的序列化和反序列化。除了Hessian,Dubbo还支持其他的序列化框架,可以通过配置来选择使用特定的序列化框架。

2023-09-06 17:10:43 519

原创 垃圾分代收集的过程是怎样的?

垃圾分代收集是Java虚拟机(JVM)中一种常用的垃圾回收策略。该策略将堆内存分为不同的代(Generation),通常分为年轻代(Young Generation)和老年代(Old Generation)。不同代的对象具有不同的生命周期和回收频率。

2023-09-06 17:06:43 111

原创 构造器(constructor)是否可被重写(override)?

在上面的示例中,Animal类有一个构造器用于初始化name属性,并提供了一个introduce方法来介绍动物。Dog类继承自Animal类,并添加了一个新的属性age,并重载了introduce方法以提供更详细的介绍。通过使用继承和方法重载,我们可以实现类似于构造器的效果,并在子类中自定义对象的初始化和行为。构造器是用于创建对象的特殊方法,它具有与类相同的名称,但没有返回类型,并且在使用new关键字实例化对象时自动调用。构造器的目的是初始化对象的状态,而不是提供一个可以被子类修改的方法。

2023-09-06 17:05:03 268

原创 Java是如何实现线程间通信的?

线程可以调用wait方法暂停自己的执行,直到另一个线程调用相同对象上的notify或notifyAll方法来唤醒它们。通过这种方式,生产者线程在没有新消息时等待,直到消费者线程消费了消息并调用notifyAll方法。同样,消费者线程在没有新消息时等待,直到生产者线程产生新消息并调用notifyAll方法。在Main类的main方法中,创建了一个Message对象,并创建了一个生产者线程和一个消费者线程。在控制台输出中,我们将看到生产者线程和消费者线程交替输出消息,它们通过共享的Message对象进行通信。

2023-09-05 15:24:53 115

原创 volatile类型变量提供什么保证?

在Java中,volatile关键字用于修饰变量,它提供了可见性和有序性的保证。

2023-09-05 15:23:05 185

原创 什么是多线程环境下的伪共享(false sharing)?

当多个线程同时访问不同变量,但这些变量存储在同一缓存行中时,每个线程只修改自己的变量,但由于缓存一致性协议的要求,需要将整个缓存行的数据进行更新,导致其他线程缓存的数据失效,从而影响了性能。当我们运行该示例代码时,由于VolatileLong对象存储在同一缓存行中,不同线程对不同的VolatileLong对象进行操作,但由于缓存一致性协议的要求,每次写操作都会导致整个缓存行的数据失效。为了解决伪共享问题,可以使用填充(padding)技术来确保不同变量在不同的缓存行中,从而避免了不必要的缓存行无效和更新。

2023-09-01 14:22:21 151

原创 Dubbo默认使用什么序列化框架?还有哪些?

Dubbo默认使用的序列化框架是Hessian 2.0。Hessian是一种基于二进制的序列化协议,它具有简单、高效的特点,适用于网络传输和存储数据。Hessian在Dubbo中被广泛使用,因为它可以在不同的编程语言之间进行对象的序列化和反序列化。除了Hessian,Dubbo还支持其他的序列化框架,可以通过配置来选择使用特定的序列化框架。

2023-08-30 17:06:02 787

原创 EMQ X支持哪些认证方式?

MQTT 协议本身在 CONNECT 报文中指定用户名和密码,EMQ X 以插件形式支持基于 Username、 ClientID、HTTP、JWT、LDAP 及各类数据库如 MongoDB、MySQL、PostgreSQL、Redis 等多种形式的认证。忽略认证(ignore):当前认证方式中未查找到认证数据,无法显式判断结果是成功还是失败,交由认证链下一认证方式或匿名认证来判断。EMQ X 中的认证指的是当一个客户端连接到 EMQ X 的时候,通过服务器端的配置来控制客户端连接服务器的权限。

2023-08-30 17:00:44 165

原创 PATH系统环境变量配置教程【图文步骤】

CLASSPATH环境变量用于保存一系列类包的路径,它和PATH环境变量的查看与配置方式完全相同。当Java虚拟机需要运行一个类时,会在CLASSPATH环境变量定义的路径下寻找所需的.class文件和类包。为了让Java虚拟机能找到所需的class文件,就需要对CLASSPATH环境变量进行设置,保存HelloWorld.class文件路径。在命令行窗口执行下面的命令。执行完上述命令之后,再次执行java HelloWorld命令运行程序。

2023-08-30 16:46:58 178

原创 ParNew垃圾收集器(Serial+多线程)是干什么用的?

在Java中,ParNew垃圾收集器是一种垃圾收集算法,它是Serial垃圾收集器的多线程版本。它主要用于新生代(Young Generation)的垃圾收集。新生代是Java堆内存的一部分,主要用于存放新创建的对象。ParNew垃圾收集器的设计目标是在多核CPU上并行地进行垃圾收集,以提高垃圾收集的效率和吞吐量。相比于单线程的Serial垃圾收集器,ParNew垃圾收集器可以充分利用多核处理器的优势,在一定程度上减少垃圾收集的停顿时间,从而提高应用程序的响应性能。

2023-08-29 17:45:04 144 1

原创 Doris架构中包含哪些技术?

单机的节点故障的时候其实基本上三个就够了,因为FE节点毕竟它只存了一份元数据,它的压力不大,所以如果FE太多的时候它会去消耗机器资源,所以多数情况下三个就足够了,可以达到一个很高可用的元数据服务。多个follower组成选举组,会选出一个master,master是follower的一个特例,Master跟follower,主要是用来达到元数据的高可用,保证单节点宕机的情况下,元数据能够实时地在线恢复,而不影响整个服务。数据的可靠性由BE保证,BE会对整个数据存储多副本或者是三副本。

2023-08-29 17:42:41 1420

原创 Java中LinkedHashMap和PriorityQueue的区别是什么?

LinkedHashMap和PriorityQueue是Java中两种不同的集合类,它们分别用于不同的场景和目的。

2023-08-29 17:28:46 194

原创 为什么会形成缓存雪崩?缓存雪崩解决方案

缓存雪崩是缓存中大量key失效后当高并发到来时导致大量请求到数据库,瞬间耗尽数据库资源,导致数据库无法使用。造成缓存雪崩问题的原因是是大量key拥有了相同的过期时间,比如对课程信息设置缓存过期时间为10分钟,在大量请求同时查询大量的课程信息时,此时就会有大量的课程存在相同的过期时间,一旦失效将同时失效,造成雪崩问题。

2023-08-28 18:04:48 138

传智播客_Andorid_20天精通Android开发视频_第20天视频_第20天视频

传智播客_Andorid_20天精通Android开发视频_第20天视频_第20天视频.zip

2019-05-17

传智播客_Andorid_Android基础视频video_第一天修

传智播客_Andorid_Android基础视频video_第一天修.rar

2019-05-17

传智播客_Andorid_Android基础视频video_第七天修

传智播客_Andorid_Android基础视频video_第七天修.rar

2019-05-17

传智播客_Andorid_Android基础视频video_第三天修

传智播客_Andorid_Android基础视频video_第三天修.rar

2019-05-17

传智播客_Andorid_Android基础视频video_第九天修

传智播客_Andorid_Android基础视频video_第九天修.rar

2019-05-17

传智播客_Andorid_Android基础视频video_第二天修

传智播客_Andorid_Android基础视频video_第二天修.rar

2019-05-17

传智播客_Andorid_Android基础视频video_第五天修

传智播客_Andorid_Android基础视频video_第五天修.rar

2019-05-17

传智播客_Andorid_Android基础视频video_第八天修

传智播客_Andorid_Android基础视频video_第八天修.rar

2019-05-17

传智播客_Andorid_Android基础视频video_第六天修

传智播客_Andorid_Android基础视频video_第六天修.rar

2019-05-17

传智播客_Andorid_Android基础视频video_第十一天修

传智播客_Andorid_Android基础视频video_第十一天修.rar

2019-05-17

传智播客_Andorid_Android基础视频video_第十天修

传智播客_Andorid_Android基础视频video_第十天修.rar

2019-05-17

传智播客_Andorid_Android基础视频video_第四天修

传智播客_Andorid_Android基础视频video_第四天修.rar

2019-05-17

传智播客_Andorid_Android基础视频video_第三天-第10节_10_listview入门

传智播客_Andorid_Android基础视频video_第三天-第10节_10_listview入门.avi

2019-05-17

传智播客_Andorid_Android基础视频video_第九天-第15节_15

传智播客_Andorid_Android基础视频video_第九天-第15节_15.内容提供者向数据库插入一条记录.avi

2019-05-17

传智播客_Andorid_Android项目手机卫士视频video_day01视频

传智播客_Andorid_Android项目手机卫士视频video_day01视频.zip

2019-05-17

传智播客_Andorid_Android项目手机卫士视频video_day02视频

传智播客_Andorid_Android项目手机卫士视频video_day02视频.zip

2019-05-17

传智播客_Andorid_Android项目手机卫士视频video_day03视频

传智播客_Andorid_Android项目手机卫士视频video_day03视频.zip

2019-05-17

传智播客_Andorid_Android项目手机卫士视频video_day04视频

传智播客_Andorid_Android项目手机卫士视频video_day04视频.zip

2019-05-17

传智播客_Andorid_Android项目手机卫士视频video_day05视频

传智播客_Andorid_Android项目手机卫士视频video_day05视频.zip

2019-05-17

传智播客_Andorid_Android项目手机卫士视频video_day06视频

传智播客_Andorid_Android项目手机卫士视频video_day06视频.zip

2019-05-17

传智播客_Andorid_Android项目手机卫士视频video_day10视频

传智播客_Andorid_Android项目手机卫士视频video_day10视频.rar

2019-05-17

传智播客_Andorid_Android项目手机卫士视频video_day11视频

传智播客_Andorid_Android项目手机卫士视频video_day11视频.rar

2019-05-17

传智播客_Andorid_Android项目手机卫士视频video_day12视频

传智播客_Andorid_Android项目手机卫士视频video_day12视频.rar

2019-05-17

传智播客_Andorid_Android项目手机卫士视频video_day13视频

传智播客_Andorid_Android项目手机卫士视频video_day13视频.rar

2019-05-17

传智播客_Andorid_Android项目手机卫士视频video_下载必看

传智播客_Andorid_Android项目手机卫士视频video_下载必看.doc

2019-05-17

传智播客_Andorid_Android项目手机卫士视频video_手机卫士第9天视频修正

传智播客_Andorid_Android项目手机卫士视频video_手机卫士第9天视频修正.zip

2019-05-17

传智播客_Andorid_JNI视频_day02视频

传智播客_Andorid_JNI视频_day02视频.zip

2019-05-17

传智播客_Andorid_JNI视频_day03视频

传智播客_Andorid_JNI视频_day03视频.zip

2019-05-17

传智播客_Andorid_JNI视频_下载必看

传智播客_Andorid_JNI视频_下载必看.doc

2019-05-17

传智播客_Andorid_kotilin零基础到进阶视频_kotlin

传智播客_Andorid_kotilin零基础到进阶视频_kotlin.zip

2019-05-17

传智播客_Andorid_kotilin零基础到进阶视频_下载必看

传智播客_Andorid_kotilin零基础到进阶视频_下载必看.doc

2019-05-17

传智播客_Andorid_传智播客_8天Android视频教程_视频

传智播客_Andorid_传智播客_8天Android视频教程_视频.zip

2019-05-17

传智播客_Andorid_智慧北京视频_Day02视频

传智播客_Andorid_智慧北京视频_Day02视频.zip

2019-05-17

传智播客_Andorid_智慧北京视频_Day04视频

传智播客_Andorid_智慧北京视频_Day04视频.zip

2019-05-17

传智播客_Andorid_智慧北京视频_Day05视频

传智播客_Andorid_智慧北京视频_Day05视频.zip

2019-05-17

传智播客_Andorid_智慧北京视频_Day06视频

传智播客_Andorid_智慧北京视频_Day06视频.zip

2019-05-17

传智播客_Andorid_智慧北京视频_下载必看

传智播客_Andorid_智慧北京视频_下载必看.doc

2019-05-17

传智播客_Andorid_植物大战僵尸视频_Day01视频

传智播客_Andorid_植物大战僵尸视频_Day01视频.zip

2019-05-17

传智播客_Andorid_植物大战僵尸视频_Day03视频

传智播客_Andorid_植物大战僵尸视频_Day03视频.zip

2019-05-17

传智播客_Andorid_植物大战僵尸视频_下载必看

传智播客_Andorid_植物大战僵尸视频_下载必看.doc

2019-05-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除