自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(494)
  • 资源 (5)
  • 收藏
  • 关注

原创 浅谈线程池

线程池是池化技术的典型实现,通过预先创建线程资源提高性能。Java提供了四种默认线程池:固定大小线程池(适用于长期任务)、缓存线程池(适合短生命周期任务)、单线程池(保证顺序执行)和定时任务线程池。核心实现ThreadPoolExecutor包含任务队列、工作线程集合和拒绝策略三部分。线程池通过Worker对象管理线程与任务的绑定,每个Worker持续从队列获取任务执行。关键参数包括核心线程数、最大线程数、存活时间、任务队列类型及拒绝策略(如AbortPolicy、DiscardPolicy等)。合理配置线

2025-08-17 00:39:59 758

原创 垃圾回收标记算法:三色标记

三色标记法是JVM垃圾回收中的关键算法,通过将对象分为白、灰、黑三种状态来减少STW时间。其核心流程分为初始标记(STW)、并发标记(无STW)和重新标记(STW)三个阶段。并发标记阶段通过写屏障技术处理对象引用变更,但存在性能开销和多标/漏标问题。漏标需同时满足黑色对象新增引用和灰色对象删除引用两个条件,解决方案包括CMS的增量更新(破坏条件1)和G1的原始快照SATB(破坏条件2)。G1选择SATB因其更适配大堆场景,能通过记录对象快照快速定位变更,虽然会产生浮动垃圾,但权衡了性能与准确性。该算法显著提

2025-08-13 14:35:37 701

原创 Nacos的服务注册和发现的过程是怎样的

本文介绍了Nacos中的服务注册与发现机制。服务注册时,实例通过Nacos客户端向Server发送注册信息,默认采用AP模式的Distro协议实现异步同步和最终一致性,也可选择CP模式的Raft协议保证强一致性。服务注册后,实例通过心跳机制维持健康状态。服务发现支持主动查询和事件推送两种方式,客户端通过定期拉取和长轮询/gRPC推送机制保持本地缓存更新,确保服务列表的实时性。Nacos提供了灵活的服务治理能力,可根据不同场景需求在AP和CP模式间切换。

2025-08-12 15:29:21 339

原创 Nacos如何实现的配置变化客户端可以感知到?

文章摘要:Nacos客户端与配置中心采用推拉结合的数据交互模式。Nacos1.x使用长轮询机制,通过HTTP协议保持连接,在服务端数据变化或超时后返回响应;2.0版本改用gRPC长连接。客户端首次启动时会拉取初始配置并注册监听器,通过定时任务检查配置变更。代码示例展示了如何通过ConfigService添加配置变更监听器,以及实际业务中处理配置变更的回调逻辑。Nacos这种混合模式既保证了实时性,又避免了纯推送模式的高资源消耗问题。

2025-08-11 21:44:35 1222

原创 Nacos是CP还是AP?

Nacos支持AP(高可用)和CP(强一致)两种模式,默认采用AP模式。AP模式通过Distro协议实现异步复制、最终一致性,适用于服务注册发现等对可用性要求高的场景;CP模式基于Raft协议保证强一致性,适用于配置中心等对一致性要求严格的场景。AP模式下实例默认为临时(ephemeral=true),依赖心跳检测;CP模式为持久化实例(ephemeral=false),由服务端主动检测。两种模式可通过配置灵活切换,满足不同业务场景需求。

2025-08-11 11:05:09 276

原创 灰度发布、蓝绿部署、金丝雀部署都是什么?

本文介绍了两种常见的软件发布策略:蓝绿发布和金丝雀发布(灰度发布)。蓝绿部署通过维护两套环境(蓝环境和绿环境)实现快速切换和回滚,但存在资源浪费问题。金丝雀发布则采用部分机器灰度发布的方式,逐步验证新版本,资源利用率更高但回滚较复杂。文章还提到可通过基线记录实现快速回滚,并推荐了Spring Cloud Gray这一开源灰度路由解决方案。两种策略各有优劣,适用于不同场景,共同目标是降低部署风险、确保服务稳定性。

2025-08-08 16:00:48 385

原创 分布式架构下的降级机制

文章摘要: 降级机制是在资源紧张或系统故障时优先保障核心功能的策略,通过暂时关闭非关键功能或采用默认处理方案实现。主要分为服务降级(如调用失败时启用兜底逻辑)和功能降级(如电商场景隐藏非核心模块)。降级方式包括自动触发(基于超时、失败次数等指标)和人工干预(如大促前主动降级)。常用工具如Hystrix和Sentinel,前者侧重隔离熔断,后者支持更灵活的流量控制与动态规则。典型实现包括fallback函数、异步延迟处理(如死信队列)和多级缓存降级(如写降级为Cache)。降级核心在于识别关键路径并制定预案,

2025-08-08 15:05:11 1019

原创 分布式架构下的熔断机制

本文介绍了熔断机制在分布式系统中的重要性及实现原理。熔断是一种防止服务雪崩的自我保护机制,当检测到下游服务连续失败时会主动切断请求,避免系统崩溃。熔断器通常包含关闭、开启和半开三种状态,通过状态转换实现快速失败和无缝恢复。文章对比了主流熔断框架Sentinel和Hystrix的特性差异,并详细说明了触发熔断的四种条件:服务调用超时、错误率/QPS超限、资源过载等。最后提供了面试回答模板,强调熔断应与降级策略配合使用,在非核心业务场景可采用替代方案并配置告警,核心业务则需快速失败或延迟重试。

2025-08-07 21:46:01 982

原创 count(0),count(*),count(1),count(列)有什么区别?

本文分析了MySQL中COUNT函数的用法差异与性能优化。主要对比了COUNT()、COUNT(1)和COUNT(列)三种形式:COUNT()统计所有行数,COUNT(1)执行计划相同但性能无差异,COUNT(列)仅统计非NULL值。性能关键点在于InnoDB会优先选择最小索引(存储空间最小)进行扫描,二级索引由于结构更紧凑通常成为首选。建议优先使用COUNT(*),既语义清晰又能利用索引优化。对于COUNT(列),若该列无索引则需全表扫描,性能较差。

2025-08-07 20:57:49 858

原创 什么是负载均衡,有哪些常见算法?

摘要 负载均衡是一种将工作任务分摊到多个服务器上的技术,用于提升Web应用的性能、可用性和扩展性。根据OSI七层网络模型,负载均衡可分为四层(传输层)和七层(应用层)两种主要类型。常见的负载均衡工具包括LVS(四层)、Nginx和HAProxy(七层)。负载均衡算法分为静态和动态两类,静态算法如轮询、比率、优先权,动态算法如最少连接数、最快响应速度等。这些技术共同构成了现代高可用性网络架构的核心。

2025-08-07 19:19:14 1152

原创 RocketMQ和Kafka一样有重平衡的问题吗?

本文摘要: Kafka与RocketMQ在重平衡机制上的差异分析 Kafka采用强一致性(CP)的重平衡机制,通过Group Coordinator管理消费者组,在消费者变动时会暂停所有消费(STW)并重新分配分区,支持多种分配策略如Range、RoundRobin等。最新4.0版本改进了独立重平衡能力。 RocketMQ采用弱一致性的定时重平衡机制,通过RebalanceService线程每20秒检查一次,本地计算分配方案,避免了全局停顿,但延迟较高。广播模式下无重平衡问题,集群模式下采用渐进式分配。 两

2025-08-06 14:12:03 707

原创 如何在不使用synchronized和ReentrantLock的情况下实现线程安全的单例模式

单例模式实现与原理分析 单例模式用于确保线程安全并提供统一访问入口(如日志工具、配置管理器)。常见实现方式包括: 静态内部类(推荐):利用类加载机制保证线程安全,延迟初始化单例。 枚举(最安全):JVM天然保证唯一性,防反射/反序列化破坏。 CAS乐观锁:通过AtomicReference实现无锁线程安全,适合高并发场景。 关键点: volatile必要性:在双重检查锁中防止指令重排序,避免返回未初始化的对象(如new Singleton()非原子操作可能先分配内存后初始化)。 优势对比:静态内部类简洁高效

2025-08-06 11:43:59 881

原创 RocketMQ拉模式下的长轮询实现分析

RocketMQ拉模式通过长轮询机制实现高效消息消费。当消费者发送拉取请求时,Broker若无消息不会立即返回,而是将请求挂起(默认30秒),待新消息到达或超时再响应,既减少无效请求又保证实时性。核心实现包括:PullMessageProcessor处理请求入口,判断是否挂起;PullRequest封装挂起请求信息;PullRequestHoldService管理挂起请求。相比短轮询,长轮询显著降低网络开销和Broker负载。批量消费模式下,当消息数量达到阈值或等待超时才会触发消费,进一步提升效率。

2025-08-05 19:40:31 1111

原创 RocketMQ如何保证消息不丢失的

摘要:RocketMQ消息防丢失实践指南 要确保RocketMQ消息不丢失,需生产者、Broker和消费者协同保障: 生产者端:采用同步/异步发送并实现重试机制,同步发送通过SendResult确认,异步发送需处理回调异常 Broker端: 配置同步刷盘(flushDiskType=SYNC_FLUSH) 主从同步复制(brokerRole=SYNC_MASTER) 设置最小同步副本数(minInSyncReplicas≥2) 消费者端:确保业务处理成功后返回CONSUME_SUCCESS,设置合理的消费超

2025-08-05 14:08:53 804

原创 RocketMq如何保证消息的顺序性

RocketMQ顺序消息通过三阶段协同机制实现严格有序:发送阶段使用MessageQueueSelector确保同一业务消息路由至同一队列;存储阶段依托CommitLog顺序写入和ConsumeQueue分区索引保证物理存储顺序;消费阶段通过分布式锁(Broker级)、synchronized锁(队列级)和ReentrantLock(ProcessQueue级)三重保障,实现单线程串行消费。该机制重点解决分布式环境下消息分区一致性、存储顺序性和消费串行化问题,尤其适用于金融交易等强顺序场景。其中第三把锁(P

2025-08-05 13:07:09 1017

原创 如何基于MQ实现分布式事务

本文介绍了基于消息队列(MQ)实现分布式事务的两种主要方案:可靠消息最终一致性和最大努力通知。重点分析了可靠消息最终一致性中的本地消息表方案,详细阐述了其实现流程、异常处理机制及优缺点。该方案通过业务操作与消息记录在同一个事务中保证可靠性,并采用定时任务重试保障最终一致性。针对大数据量下的性能问题,提出了增加索引、多线程分段扫描、备库查询等优化方案,同时指出集中式扫描可能影响正常业务的问题及应对措施。最后提到分库方案可作为进一步扩展的解决方案。

2025-08-04 22:33:13 1159

原创 二叉树中的最大路径和

本文介绍了如何求解二叉树的最大路径和问题。路径定义为节点序列,相邻节点间有边连接且节点不重复出现。解题思路采用后序遍历,递归计算每个节点左右子树的最大贡献值(若为负数则舍弃),然后比较三种情况:当前节点值、当前节点加左/右子树路径、当前节点连接左右子树的路径。核心算法通过DFS遍历,记录全局最大值,时间复杂度为O(n)。代码实现中,递归函数返回当前节点的单边最大路径,同时更新包含当前节点的完整路径最大值。

2025-07-09 19:40:50 376

原创 从前序与中序遍历序列构造二叉树

摘要:本文详细讲解了如何通过二叉树的前序遍历和中序遍历结果重建二叉树。解题思路是通过前序遍历确定根节点,在中序遍历中划分左右子树,递归构建二叉树。具体步骤包括:1)前序首元素为根节点;2)在中序中找到根节点位置;3)划分左右子树范围;4)递归构建左右子树。文章通过示例演示了整个过程,并提供了Java代码实现,使用哈希表优化中序遍历查找效率,采用深度优先搜索(DFS)的前序方式完成树的重建。

2025-07-07 19:51:21 634

原创 使用 Context7 MCP Server 让 AI 写出靠谱的代码

Context7是一款解决AI编程助手生成过时代码问题的工具。它实时获取最新官方文档和代码示例,将准确信息注入LLM上下文,显著提升代码生成质量。主要优势包括:提供最新库版本建议、减少调试时间、拒绝代码幻觉、支持精准版本查询。目前已收录1.4万个主流库,完全免费使用。配置方式支持远程服务和本地启动两种,可与Cursor等编程助手无缝集成。使用前需通过resolve_library_id查找库名,再用get_library_docs获取文档内容。该工具有效填补了AI训练数据时效性不足的缺陷,是提升开发效率的实

2025-07-07 19:39:16 1779

原创 将有序数组转换为二叉搜索树

摘要:本文介绍了如何将已排序的整数数组转换为平衡二叉搜索树(BST)。通过选取数组中间元素作为根节点,并递归构建左右子树,可以同时满足BST的中序有序性和平衡性要求。核心思路是使用前序遍历,先处理根节点再构建子树。文章给出了清晰的Java实现代码,通过分治算法将数组区间不断二分,确保树高平衡。这种方法的时间复杂度为O(n),空间复杂度为O(logn)。

2025-07-04 10:43:20 337

原创 MCP+Cursor入门

摘要:MCP(模型上下文协议)是由Anthropic推出的标准化协议,旨在连接大型语言模型(LLM)与外部数据源和工具。它通过提示(Prompts)、资源(Resources)和工具(Tools)三种原语增强LLM能力,支持stdio和SSE两种通信方式。开发者可通过cursor进行项目级或全局配置,启动MCP服务后即可让AI助手实时访问企业知识库和API。该协议适用于需要扩展AI能力、减少开发成本的场景,解决AI系统与数据源连接的标准化和集成难题。使用中需注意Token安全保护和通信方式选择。

2025-07-03 20:36:22 885

原创 二叉树的直径

本文介绍了如何计算二叉树的直径(最长路径边数)。通过分析可知,直径等于以某节点为根的左子树和右子树最大深度之和。采用后序遍历递归计算每个节点的左右子树深度,维护最大值maxNodes,最终直径即为maxNodes-1。关键点在于理解直径的计算方式,以及运用后序遍历自底向上统计子树深度。文章给出了Java实现代码,通过递归遍历计算每个节点的左右子树深度并更新最大值,时间复杂度为O(n)。

2025-06-30 17:37:32 256

原创 搜索二维矩阵II

摘要:本文探讨了在行列有序的m×n矩阵中高效搜索目标值的方法。通过分析矩阵特性,提出从右上角开始的搜索策略:当当前元素大于目标值时左移列,小于目标值时下移行,时间复杂度为O(m+n)。文章给出了示例搜索路径和核心代码实现,并进一步优化引入二分查找来加速行/列定位。两种方法均能有效解决问题,第二种方法利用二分查找性能更优。该算法适用于行列有序矩阵的搜索场景。

2025-06-20 13:26:27 471

原创 缺失的第一个正整数

摘要:本文介绍了一种利用原数组作为哈希表来寻找缺失最小正整数的算法。该算法通过将每个正整数交换到其正确位置(即数值-1的索引处),然后扫描数组找到第一个不匹配的位置。时间复杂度O(n),空间复杂度O(1)。例如数组[3,4,-1,1]经过处理后变为[1,-1,3,4],缺失的最小正整数是2。关键点包括:只处理1到n范围内的数,避免重复交换导致死循环,最终通过遍历查找第一个不符合nums[i]=i+1的位置。该算法巧妙地利用了数组索引作为哈希键值。

2025-06-19 10:35:11 386

原创 最小覆盖子串

本文讲解了一道滑动窗口算法题目:在字符串s中寻找包含t所有字符的最小子串。使用双指针维护窗口,通过统计字符频次进行匹配。核心步骤包括:初始化频次数组need和window,计算需要匹配的字符数量totalChars;移动右指针扩展窗口,当字符频次满足need时增加匹配数matchs;当matchs等于totalChars时,记录最小子串并移动左指针收缩窗口。通过频次数组的精确增减控制matchs的变化,确保窗口始终满足条件。该解法时间复杂度为O(n),适用于字符集较大的情况。

2025-06-17 20:57:56 628

原创 和为k的子数组

本文介绍了一种使用前缀和解决子数组和为k的问题的方法。通过构建前缀和数组pre[j],将子数组和转换为pre[j]-pre[i]=k的形式。利用哈希表存储前缀和的出现次数,可以在遍历数组时快速统计满足条件的子数组个数。以数组[3,4,7,2,-3,1,4,2]和k=7为例,详细演示了计算过程,最终得出4组解。该方法时间复杂度为O(n),空间复杂度为O(n),代码实现简洁高效。

2025-06-12 10:25:16 645

原创 找到字符串中所有字母异位词

摘要:本文讲解如何用滑动窗口算法解决字符串异位词搜索问题。题目要求在字符串s中找出所有与p为异位词的子串起始位置。关键思路是:1)定义左右指针控制窗口;2)窗口滑动时移动指针并维护字符计数;3)当窗口大小等于p长度时,比较字符计数判断异位词。实现使用两个数组分别记录p和窗口的字符频率,用Arrays.equals比较是否匹配。时间复杂度主要取决于窗口滑动和比较操作,空间复杂度为O(1)。该模板可推广到其他滑动窗口问题。

2025-06-11 10:57:41 254

原创 Apollo Auto:Cyber RT 与 ROS 通信

Apollo Auto 10.0中cyber与ROS的通信实现Apollo Auto 10.0新版本cyber框架实现了与ROS的通信功能,主要特点包括:实现了常用传感器消息(如点云、IMU)的自动转换,用户只需配置对齐两端channel即可使用;提供插件化消息转换框架,用户只需实现消息转换函数,无需关心底层通信接口;通过ros-bridge适配ROS 2通信接口,打通cyber到ROS的双向通信通路。部署步骤包括:安装cyber源码配置ROS环境(推荐使用iron版本)处理动态库缓存

2025-06-05 17:25:30 1068 4

原创 最长连续序列

我们遍历到100的时候,我们要找下一个元素,但是下一个元素有可能是100+1,也有可能是100-1,这个时候就很难确定我们的走向是如何,现在我们有两种思路,但其本质都是确定从起点开始还是从终点开始。给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。所以最大长度为4,知道了这个逻辑我们代码就很好实现了。继续给大家带来每日一题。

2025-06-04 16:35:28 269

原创 每日一题:H指数

本文介绍了计算研究者h指数的算法问题。h指数是指研究者至少有h篇论文被引用次数≥h。文章从暴力解法入手,逐步优化:先排序数组减少计算量,再通过指针优化遍历过程,最后整合计算步骤减少遍历次数。通过四种解法的时间对比(3ms→2ms→1ms→0ms),展示了算法优化的思路过程。核心思想是:对每个可能的h值(1到n),统计引用次数≥h的论文数量,取满足条件的最大h值。建议逐步优化而非直接追求最优解,以培养算法思维能力。

2025-05-30 14:12:28 580

原创 Apollo Auto10.0安装教程(博主已将坑踩完)

本文介绍了如何快速搭建百度开源的自动驾驶系统Apollo Auto。主要内容包括:硬件要求:最低4核CPU/16GB内存/200GB SSD存储部署步骤:下载Apollo Auto安装包使用Docker建立Ubuntu系统环境安装必要依赖和Docker环境配置:获取GPU支持(可选)安装Apollo环境管理工具aem示例工程安装:提供了application-core等3个不同场景的示例工程特别提醒:部署过程中不要更改Ubuntu镜像源,否则可能导致依赖安装失败

2025-05-30 13:20:40 1224 1

原创 买卖股票的最佳时机II

本文介绍了一道经典的多维动态规划题目——买卖股票的最佳时机II。题目要求在给定股票价格数组的情况下,通过买卖股票获得最大利润。

2025-05-14 16:29:21 914

原创 SpringBoot集成RedisSearch

Redis Search 是 Redis 官方提供的全文搜索引擎,它为Redis 提供全文搜索、索引和复杂查询功能。它基于内存存储,结合了 Redis 的高性能和倒排索引技术,支持实时搜索、聚合分析、模糊匹配等场景。RedisSearch 适用于需要快速检索结构化或非结构化数据的应用,如电商搜索、日志分析、实时推荐等。更多详细的介绍可参见:[《一文了解亿级数据检索:RedisSearch》](https://blog.youkuaiyun.com/zhiyikeji/article/details/147069153)

2025-04-08 17:36:42 1130

原创 一文了解亿级数据检索:RedisSearch

Redis Search 是 Redis 官方提供的全文搜索引擎,只是Redis 的一个模块,它可以在 Redis 中存储和查询文本数据。它为Redis 提供全文搜索、索引和复杂查询功能。它基于内存存储,结合了 Redis 的高性能和倒排索引技术,支持实时搜索、聚合分析、模糊匹配等场景。适用于需要快速检索结构化或非结构化数据的应用,如电商搜索、日志分析、实时推荐等。

2025-04-08 15:12:42 2440

原创 docker安装redisSearch

Redis Search 是 Redis 官方提供的全文搜索引擎,它为Redis 提供全文搜索、索引和复杂查询功能。它基于内存存储,结合了 Redis 的高性能和倒排索引技术,支持实时搜索、聚合分析、模糊匹配等场景。RedisSearch 适用于需要快速检索结构化或非结构化数据的应用,如电商搜索、日志分析、实时推荐等。

2025-04-08 11:39:05 790

原创 通过第k个最大元素深入浅出快排和堆排序

快排和堆排序在确定k个元素有着得天独厚的优势,原因是无论快排还是堆排序在每一轮排序中均可以确定一个元素每一轮排序均可以确定一个元素位置每一轮排序都可以确定一个最小值或最大值他们的时间复杂度都是O(nlogk),但是快排的空间复杂度是O(logn),而堆排序的空间复杂度是O(k)。所以便想着带着大家通过来详细的学习一下如何将这两种思路去落地和应用题目:《题目描述:给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。

2025-04-03 17:04:24 410

原创 单调栈详解

从5开始分别向左向右找,向左找到元素5第一个小于5的元素1,向右找到5第一个小于5的元素2,则元素5对应的长度是4-1-1=2,这是暴力的思路,我们用单调栈来处理这个过程。考虑[2,1]这样的特殊情况,2入栈后,当前枚举的元素是1,1小于2,所以2出栈,并计算以2为高度的矩形面积,右边界是清晰的,为1,而左边界是什么呢?相关处理:从5开始分别向左向右找,向左找到元素5第一个小于5的元素1,向右找到5第一个小于5的元素2,则元素5对应的长度是4-1-1=2。求在该柱状图中,能够勾勒出来的矩形的最大面积。

2025-04-01 19:43:01 682

原创 Spring的事件处理机制

Component@Overridetry {LogUtil.errorLog().log("获取IP地址异常", e);由于一些限制,没法针对代码做逐行讲解,只能借着一个点,把相关的核心技术点讲解一下,这个核心技术点就是Spring的事件监听机制。Spring中的事件处理机制是对设计模式中的观察者模式的一种扩展,它可以实现应用程序中的解耦,提高代码的可维护性和可扩展性。《观察者模式》在传统的观察者模式中,最主要的对象有观察者被观察者。

2025-03-10 17:52:52 725

原创 新一代MPP数据库:StarRocks

OLAP数据库(Online Analytical Processing Database,在线分析处理数据库)

2025-02-21 11:27:20 3999

原创 docker安装StarRocks

StarRocks 是新一代极速全场景 MPP (Massively Parallel Processing,MPP数据库是一种基于大规模并行处理技术的数据库系统,旨在高效处理大量数据。) 数据库。StarRocks 的愿景是能够让用户的数据分析变得更加简单和敏捷。用户无需经过复杂的预处理,就可以用 StarRocks 来支持多种数据分析场景的极速分析。本文主要介绍如何通过docker快速完成StarRocks的安装与使用。

2025-02-10 13:32:35 1476 1

分布式+链路追踪+skywaling+探针

分布式+链路追踪+skywaling+探针

2022-11-11

vue实现用户管理系统

里面有详细的步骤和页面设计的样式来使用vue实现用户管理系统

2018-11-18

学生在线管理系统

使用bootStrap,ssm,jquery,excel导出等功能实现在线学生管理系统

2018-12-09

计算机网络第五版课后答案已经ip类型题目详解

里面的有第五版(谢希仁)微课版完整的课后答案以及ip类型的题目及其详解

2018-12-23

java_I/O流的教程

里面有java流的详解----从入门到掌握,里面有详细的代码解释,也有详细的笔记教程,望采纳

2018-11-18

在线视频播放器

里面使用springboot以及bootstrap,video,js,bootstrap-box,在线翻译等主流技术搭建一个在线播放视频,音频的播放器,可以实现即时更新,即时切换,在线翻译,在线搜索资源等技术,里面有详细的文档说明次代码

2018-12-06

空空如也

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

TA关注的人

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