我的编程之路:从非计算机专业到Java开发工程师的成长之路 | 学习路线 | Java | 零基础 | 学习资源 | 自学

小伙伴们好,我是「 行走的程序喵」,感谢您阅读本文,欢迎三连~

😻 【Java基础】专栏,Java基础知识全面详解:👉点击直达

🐱 【Mybatis框架】专栏,入门到基于XML的配置、以及基于注解的高级开发详解:👉点击直达

🐵 【Linux运维】专栏,从系统安装到运维大师进阶教程笔记全记录:👉点击直达

放弃不难,但坚持一定很酷

学习路上难免遇到很多坑,我总结了一些资源,请戳文末名片交流~ 或 私信~

嗨,大家好!

我是“行走的程序喵”,一个曾经是大学非计算机专业出身的小伙子,但因为生活所迫,我不得不自学Web前端和Java后端开发。经过了数年的学习和实践,我现已是一名具有丰富经验的技术小牛。

在这段充满挑战和成长的旅程中,我遇到了无数次的困难和挑战,但我从未放弃。通过不断地学习、实践和总结,我逐渐掌握了Web前端和Java后端开发的核心技能,并成功应用于实际项目中。

在这篇博客中,我将分享我的学习心得、工作经验以及对技术发展趋势的理解。无论你是一名非计算机专业出身的学生,还是一名正在自学编程的开发者,我相信我的经验分享都能为你提供一些启发和帮助。

让我们一起踏上编程之路,共同成长,探索技术的奇妙世界吧!💻✨

在这里插入图片描述

🔥🔥🔥🔥 PDF版学习路线获取地址👉👉👉下载

高清学习路线请戳文末名片~ 或 私信~

让我们先探讨不同的学习方法,大家可以根据自己的情况做出选择。

  • 观看视频进行系统学习,例如培训机构提供的课程或慕课平台上的课程等。通过观看视频,有老师带领学习,易于理解和掌握,非常适合初学者。
  • 阅读书籍进行学习,包括各种专业技术书籍。这有助于了解技术脉络,并深入学习知识点。
  • 阅读博客和源码进行深入学习。博客的好处在于,有些知识点会以通俗易懂的方式讲解,更容易理解。

阶段一: Java 基础

最初学习的重点是Java基础知识。虽然这一部分内容可能有些乏味,但扎实的基础对于后续学习框架至关重要,具有非常大的益处而没有任何害处。事实上,大多数编程语言的基础知识都有相似之处。如果之前已经学习过其他语言如C、C++,那么学习Java基础会更快一些。

Java基础部分的主要内容包括:基本程序结构、类与对象、接口、泛型、反射、集合、异常处理与调试、Java网络编程、Java I/O和多线程。

在学习Java基础时,建议大家参考尚硅谷宋红康老师的Java教程。宋老师的课程更适合零基础学员,从Java语言的起源开始,循序渐进,对知识点进行详细的分析。

以下是Java基础教程的链接:

  • Java基础教程

除了以上提到的学习资源,还可以参考《Java核心技术 卷I》这本书。这本书偏向实用,内容的广度和深度都非常适中。其中,第7至9章介绍了Java的GUI编程,虽然在实际开发中GUI开发的应用并不是很多,所以可以选择跳过这部分内容。

此外,网上也有一些优质的文档和教程网站,可以作为学习的辅助资料。

以下是一些Java学习资源链接:

  • 廖雪峰Java教程
  • 菜鸟教程Java

一旦你掌握了Java基础知识,就可以尝试开发一些小型项目,比如图书管理系统、学生管理系统等。这样的小项目有助于巩固所学知识,同时也能够提升成就感。

当然,如果时间有限,你也可以直接尝试着开发一些Java Web项目。无论选择哪种方式,都是对你学习过程的一个很好的补充和实践。

阶段二:数据库

MySQL 和 Oracle 都是企业中广泛应用的数据库系统,其中 MySQL 是目前应用最广泛的开源关系数据库。对于初学者或者校园招聘的同学来说,目前只学习 MySQL 就足够了。

在学习 MySQL 的过程中,主要涉及以下内容:数据库的CRUD操作、JDBC API、数据库特性以及数据库连接池。

其中,数据库连接池的作用是为了避免频繁地创建和销毁 JDBC 连接。常见的连接池包括 C3P0、Druid 和 HikariCP,目前使用最广泛的是 HikariCP。

针对学习资源,你可以参考尚硅谷提供的MySQL入门视频:

  • MySQL入门视频链接。

在书籍方面,推荐入门的同学阅读《MySQL必知必会》。这本小册子非常实用,内容紧凑,几乎没有理论堆砌,非常适合初学者。

如果想要深入学习,可以考虑阅读《高性能 MySQL》。这本书是 MySQL 领域的经典之作,但是相对较厚。对于面试准备,重点可以关注索引部分。

阶段三: Java Web

学习Java Web开发需要掌握后端Java技术,同时也需要一些前端知识。

前端的基础技术包括HTML、CSS和JavaScript,初学者可以先学习这些基础知识,之后在项目开发过程中可以查阅相关手册。如果想要实现更好的交互效果,可以进一步学习Vue和React等前端技术。

后端Java技术包括Servlet、Filter、Listener、Session、Cookie、JSP、EL表达式和JSTL等。

值得注意的是,像JSP这样的技术在很多互联网公司已经不再使用,取而代之的是Freemark、Thymeleaf等模板引擎。因此,我们只需了解JSP的基本使用即可。

如果想要入门Java Web开发,推荐参考尚硅谷的Java Web教程。该教程涵盖了前端三大技术以及后端Java技术,并最终会带领大家完成一个书城项目。

Java Web教程链接:

  • Java Web教程

阶段四:主流框架

在学习Java Web开发中,主流的框架包括Spring、Spring MVC和MyBatis,通常被称为SSM框架。

过去的SSH框架,即Struts2、Spring和Hibernate框架,已经逐渐被SSM框架所取代。因此,现在学习者可以不必再专门学习Struts2和Hibernate框架。在准备面试时,可能会被问及与此相关的知识,因此大家只需在面试前了解这方面的知识即可。

在学习这些框架之前,建议先学习项目管理工具Maven和版本控制工具Git。Maven可以帮助管理项目的依赖和构建过程,Git则是团队协作中常用的版本控制工具。

4.1、Maven

Maven是一个项目管理工具,其核心概念是基于项目对象模型(POM)。它可以用于管理项目的构建、报告和文档。

Maven本质上是一个庞大的JAR包资源库。使用Maven构建项目时,只需在项目的pom.xml文件中配置相关依赖,就可以直接从远程仓库同步到本地。这样就不再需要手动在各处搜索和下载JAR包,省去了很多查找和下载的麻烦。

如果你想学习Maven的实际应用,可以参考动力结点提供的Maven实战入门视频:

  • Maven实战入门视频链接
4.2、Git

Git是一个开源的分布式版本控制系统,其主要作用是对文件进行版本管理,便于在不同版本之间进行切换和修改,同时也方便协作开发。

GitHub是基于Git的代码库托管站点,掌握了Git后,我们就能够愉快地在GitHub上进行交友和协作开发。

如果你喜欢视频教程,可以参考狂神提供的Git视频:

  • Git视频链接。

对于喜欢文字版教程的小伙伴,推荐看廖雪峰的Git教程,内容浅显易懂:

  • 廖雪峰的Git教程链接。

另外,还有一个方便查阅的Git中文手册可供参考:

  • Git中文手册链接
4.3、SSM框架

Spring是一个轻量级的Java开发框架,目前已经成为最受欢迎的企业级Java应用程序开发框架之一,最新版本为Spring 5。

Spring框架的核心特性包括依赖注入(DI)和面向切面编程(AOP)。其组成结构如下图所示:

Spring框架组成结构

Spring MVC是基于MVC架构的一个框架,用于简化Web应用程序的开发。作为Spring的一部分,Spring MVC已经成为当前最主流的MVC框架之一。

MyBatis是一款优秀的持久层框架,支持自定义SQL、存储过程以及高级映射。

在传统JDBC中,往往需要编写大量的JDBC代码,包括SQL语句的编写、参数的装配以及结果集的处理。而MyBatis通过一些配置文件(XML)或注解来简化了这些操作,使得数据库查询和结果映射封装更加便捷。

学习SSM框架时,推荐使用一整套课程进行学习,这样会有更好的连贯性,并且还能学习到整合SSM框架的相关知识。

视频教程链接:

  • SSM框架视频

整合SSM框架虽然有些繁琐,但时间紧张的学习者可以选择跳过此步骤。在实际开发中,可以直接复制粘贴已有的代码来完成整合工作。另外,现在使用更强大的Spring Boot也能够达到同样的效果。

4.4、Spring Boot

Spring Boot采用约定大于配置的方式,大大减少了配置文件的使用,使得开发人员不再需要定义大量的样板化配置。

对于学习Spring Boot,我推荐雷丰阳老师的Spring Boot课程。该课程基于Spring Boot 2.3与2.4版本,内容涵盖了核心基础、Web原理、单元测试、数据访问、指标监控等方面的知识。

关于是否直接跳过SSM而学习Spring Boot,这取决于你的目标和需求。如果你只是想使用Spring Boot快速开发项目,那么当然可以跳过SSM。因为SSM的配置相对繁琐,Spring Boot能够提供更便捷的开发体验。

但如果你想深入学习Java开发,并且可能会在面试中遇到关于Spring底层原理的问题,那么学习SSM仍然是有必要的。了解SSM框架可以帮助你更好地理解Spring Boot的底层原理和运作机制。

雷老师的Spring Boot课程链接:

  • Spring Boot课程链接

阶段五:服务器中间件

学完上述内容后,你确实已经具备了实际项目开发的基本能力。然而,要解决更复杂的业务场景,你还需要学习一些中间件技术,如Redis、消息队列(MQ)和Elasticsearch。

  • Redis(Remote Dictionary Server):Redis是一个高性能的键值存储系统,常用于缓存、会话管理、消息队列等。学习Redis可以让你了解如何利用内存数据库来加速应用程序的性能,并实现一些复杂的数据结构和业务场景。

  • 消息队列(MQ):消息队列是一种在分布式系统中广泛应用的通信机制,常用于解耦合、异步通信、流量控制等。学习消息队列可以帮助你处理高并发、大数据量的场景,并实现系统之间的解耦合和异步通信。

  • Elasticsearch:Elasticsearch是一个开源的分布式搜索和分析引擎,常用于全文搜索、日志分析、数据可视化等。学习Elasticsearch可以帮助你构建复杂的搜索引擎、日志分析系统和数据可视化平台,提升系统的搜索性能和用户体验。

掌握了这些中间件技术,你就可以更好地应对复杂的业务场景,提升系统的性能、可靠性和扩展性,从而更好地应对工作中的挑战。

5.1、Redis

Redis是一个key-value存储系统,是跨平台的非关系型数据库,可用作数据库、高速缓存和消息队列代理。

作为当前主流的缓存技术,Redis已经成为互联网企业的首选之一。

如果你想入门Redis并掌握其用法,可以参考以下课程:

  • Redis入门到精通课程。

对于想深入学习的同学,推荐阅读《Redis设计与实现》,该书知识点丰富,深入讲解了Redis的底层原理。我曾经反复阅读了三遍,对我的面试帮助很大,强烈推荐!

你可以在以下链接找到《Redis设计与实现》的在线版:

  • Redis设计与实现在线版。

此外,你还可以参考中文网站上的Redis命令查询:

  • Redis命令查询中文网站。
5.2、MQ

MQ(消息队列)是一种跨进程的通信机制,用于在应用程序之间传递消息。简单来说,它是一种先进先出(FIFO)的数据结构。MQ的主要作用包括解耦、异步、削峰/限流等。

目前业界有多种MQ产品,其中比较出名的有以下四种:

  • Kafka
  • RabbitMQ
  • RocketMQ
  • ActiveMQ

根据个人喜好或项目需求,你可以选择其中一款MQ进行学习。

如果你想学习Kafka,可以参考以下教程:

  • Kafka教程。

如果你想学习RabbitMQ,可以参考以下教程:

  • RabbitMQ教程。

另外,如果想深入学习,可以阅读《Kafka权威指南》。这本书由Kafka的作者执笔,覆盖了比较全面的内容,对于深入理解Kafka是非常有帮助的。

5.3、Elasticsearch

全文搜索是一个非常常见的需求,而开源的Elasticsearch目前是全文搜索引擎的首选之一。

Elasticsearch能够快速地存储、搜索和分析海量数据。很多知名网站和平台,如维基百科、Stack Overflow和GitHub等都采用了Elasticsearch。

Elasticsearch的底层是开源库Lucene,但是如果要使用Lucene,就需要自己编写代码来调用Lucene的接口。而Elasticsearch则是对Lucene的封装,提供了REST API的操作接口,使得开发者可以直接使用,开箱即用。

如果你想学习Elasticsearch,可以参考以下教程:

  • ElasticSearch7.6.x最新完整教程。

阶段六:微服务和分布式

对于实习和校招的小伙伴来说,学好前五阶段的技术知识是非常重要的,这包括:

  1. Java基础知识:包括基本语法、面向对象编程、集合框架等。
  2. 数据库基础:了解SQL语言、数据库设计、基本的CRUD操作等。
  3. Web开发:掌握HTML、CSS、JavaScript等前端技术,以及后端技术如Servlet、JSP等。
  4. Spring框架:理解Spring框架的核心特性,包括依赖注入(DI)和面向切面编程(AOP)等。
  5. 数据持久化技术:掌握MyBatis等ORM框架,能够实现数据库与Java对象之间的映射。

学好这些技术知识可以为你的实习和校招打下坚实的基础。如果你有额外的时间和精力,可以考虑深入学习微服务和分布式系统的内容。这些技术是当今互联网行业非常热门的方向,掌握了这些技术可以让你在求职时更有竞争力,也有助于你未来的职业发展。

6.1、Spring Cloud

Spring Cloud是一套完整的微服务解决方案,基于Spring Boot框架。

更准确地说,Spring Cloud是一系列框架的有序集合,它利用了Spring Boot的开发便利性,简化了分布式系统的开发。它包括了诸如服务发现、服务网关、服务路由、链路追踪等功能。

如果你想学习Spring Cloud,可以参考以下教程:

  • SpringCloud(H版&alibaba)框架开发教程。

这个教程将帮助你了解Spring Cloud及其在微服务架构中的应用。

6.2、Dubbo

阿里开源的Dubbo是一个高性能优秀的服务框架。简单来说,Dubbo是一个基于Spring的RPC(远程过程调用)框架,可以实现服务的远程调用和服务的治理。

与Dubbo相比,Spring Cloud是另一种微服务架构解决方案。它是一个基于Spring Boot的开源工具集,旨在简化分布式系统的开发。Spring Cloud提供了诸如服务发现、配置管理、负载均衡、断路器等功能,使得构建、部署和管理分布式系统变得更加容易。

用一个网络上的台式电脑的比喻来说,Dubbo可以看作是品牌机,它是一个完整的、高性能的服务框架;而Spring Cloud则可以看作是组装机,它提供了一系列工具和组件,可以根据需求自由组合和定制,更加灵活。

如果你想学习Dubbo,可以参考以下视频:

  • Dubbo视频链接。

这个视频将帮助你了解Dubbo的基本概念和用法。

6.3、ZooKeeper

ZooKeeper是一个高可用的分布式管理与协调框架,其基于ZAB算法(原子消息广播协议)的实现确保了在分布式环境中数据的一致性。因此,ZooKeeper成为了解决分布式一致性问题的重要工具。

如果你想学习ZooKeeper,可以参考以下视频:

  • ZooKeeper视频链接。

这个视频将帮助你了解ZooKeeper的基本概念、原理和用法。

阶段七:进阶优化

学会了前面提到的技术知识,你就能够独立完成一个小项目,并且应对项目组分配给你的开发任务。

然而,想要写出优质的代码,还需要学习更多的知识,包括设计模式、多线程以及JVM的内部原理等。这些知识点同样是面试中的必备内容。

以下是一些书籍和视频课程的推荐:

设计模式

  • 书籍推荐:《Head First设计模式》

JVM

  • 书籍推荐:《深入理解Java虚拟机》

Java并发编程

  • 书籍推荐:《Java并发编程的艺术》、《并发编程实战》
  • 视频课程:Java并发编程视频

以上资源可以帮助你深入理解设计模式、JVM和并发编程,为写出高质量的代码打下坚实的基础。

写在最后

学习任何新技能都需要持之以恒和耐心。Java技术栈的确非常庞大,而且技术更新速度快,这可能让刚入门的小伙伴感到有些懵圈。但不要担心,只要你按部就班、由浅入深地学习,一切都会变得更容易些。

在学习的过程中,不要过分纠结于某个难以理解的知识点。记得做好记录,暂时跳过,过一段时间再回过头来看,也许会有新的领悟。放弃固然容易,但只有坚持下去,才能真正体会到学习的乐趣和成就感。

往期精彩内容

🔥 《Java入门到精通学习手册》
🔥 《Mybatis连接池、事务控制和复杂查询》

🔥🔥🔥🔥 PDF版学习路线获取地址👉👉👉下载

🔥🔥🔥🔥 学习资源获取🔥🔥🔥请戳下方名片获取~ 或 私信~

持续更新更多内容… 欢迎小伙伴们前来围观~

感谢小伙伴们的厚爱!都到这里了,来个👍三👍连👍再走吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/776210.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

负荷频率控制LFC,自抗扰ADRC控制,麻雀SSA算法优化自抗扰参数,两区域二次调频simulink/matlab

红色曲线为优化结果,蓝色曲线为没有自抗扰和没有优化的结果!

基于springboot实现蜗牛兼职网平台系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现蜗牛兼职网平台系统演示 摘要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,蜗牛兼职网当然也不能排除在外。蜗牛兼职网是以实际运用为开发背景&#xff…

【C语言】多文件编程以及static关键字

1、多文件编程 把函数声明放在头文件xxx.h中&#xff0c;在主函数中包含相应头文件在头文件对应的xxx.c中实现xxx.h声明的函数 a、主文件 #include<stdio.h> #include "MyMain.h"//需要包含头文件&#xff0c;头文件包含我们自定义的函数int main(){int num…

6、鸿蒙学习-Stage模型应用程序包结构

基于Stage模型开发的应用&#xff0c;经编译打包后&#xff0c;其应用程序的结构如下图应用程序包结构&#xff08;Stage模型&#xff09;所示。开发者需要熟悉应用程序包结构相关的基本概念。 一、在开发态&#xff0c;一个应用包含一个或者多个Module&#xff0c;可以在DevE…

【管理咨询宝藏60】顶级咨询公司对医药行业的研究报告

【管理咨询宝藏60】顶级咨询公司对医药行业的研究报告 【格式】PDF 【关键词】医疗行业、战略咨询、行业洞察 【核心观点】 - 195页精品内容&#xff0c;让你彻底透视医疗行业的发展现状和未来趋势 - 前20大交易约占医疗交易总额的65%&#xff1b;医疗行业大部分为制药业投资交…

c++的学习之路:5、类和对象(1)

一、面向对象和面向过程 在说这个定义时&#xff0c;我就拿c语言举例&#xff0c;在c语言写程序的时候&#xff0c;基本上就是缺什么函数&#xff0c;就去手搓一个函数&#xff0c;写的程序也只是调用函数的&#xff0c;而c就是基于面向对象的开发&#xff0c;他关注的不再是单…

DFS算法(C/C++)(内含立例题)

DFS&#xff1a; DFS又称深度优先搜索&#xff0c;是一种图运算方法&#xff0c;它从第一个节点走起&#xff0c;一直往下走&#xff0c;一直走到不能继续再走&#xff0c;就返回上一个节点&#xff0c;继续搜索其他地方&#xff0c;直到找到目标节点为止。 DFS可以解决迷宫问…

每日一题 --- 有效的字母异位词[力扣][Go]

有效的字母异位词 题目&#xff1a;242. 有效的字母异位词 给定两个字符串 *s* 和 *t* &#xff0c;编写一个函数来判断 *t* 是否是 *s* 的字母异位词。 **注意&#xff1a;**若 *s* 和 *t* 中每个字符出现的次数都相同&#xff0c;则称 *s* 和 *t* 互为字母异位词。 示例 …

基于单片机多功能智能台灯设计

**单片机设计介绍&#xff0c;基于单片机多功能智能台灯设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的多功能智能台灯设计是一个集硬件与软件于一体的综合性项目&#xff0c;旨在为用户提供更加便捷、舒适和节…

安静:内向性格的竞争力 - 三余书屋 3ysw.net

精读文稿 这期我们介绍的这本书叫做《安静》&#xff0c;副标题是《内向性格的竞争力》。本书共有267页&#xff0c;我会用大约25分钟的时间为你讲述书中的精髓。内向性格具备什么样的竞争力&#xff1f;内向性格的人在人际交往和日常生活中似乎总是吃亏&#xff0c;因为他们不…

[AutoSar]BSW_ECUC模块介绍

目录 关键词平台说明一、ECUC 的定义二、Definition of Partitions三、Variant Resolver Description四、Definition of PDUs 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector &#xff0c; EB芯片厂商TI 英飞凌编程语言C&#xf…

YOLOv5 | 鬼魅(幽灵)卷积 | 改进Ghost卷积轻量化网络

目录 原理简介 代码实现 yaml文件实现 检查是否添加执行成功 完整代码分享 论文创新必备 启动命令 由于内存和计算资源有限&#xff0c;在嵌入式设备上部署卷积神经网络 (CNN) 很困难。特征图中的冗余是那些成功的 CNN 的一个重要特征&#xff0c;但在神经架构设计中很…

企业计算机服务器中了mkp勒索病毒怎么办,mkp勒索病毒解密流程步骤

在网络技术飞速发展的今天&#xff0c;越来越多的企业走向了数字化办公模式&#xff0c;网络为企业的生产运营提高了效率&#xff0c;为企业带来了极大便利&#xff0c;但网络是一把双刃剑&#xff0c;在为人们提供便利的同时也会带来数据安全问题&#xff0c;网络数据安全一直…

智能优化算法 | Matlab实现牛顿-拉夫逊优化算法Newton-Raphson-based optimize(内含完整源码)

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 智能优化算法 | Matlab实现牛顿-拉夫逊优化算法Newton-Raphson-based optimize(内含完整源码) 源码设计 % ------------------------------------------------------------------------------------------------…

如何借用 NTFS 交换数据流 实现隐藏文件?如何使用【文件包含】PHP伪协议?不同操作系统如何实现文件隐藏和木马伪装?

如何借用 NTFS 交换数据流 实现隐藏文件?如何使用【文件包含】PHP伪协议?不同操作系统如何实现文件隐藏和木马伪装? NTFS交换数据流(Alternate Data Streams, ADS)是NTFS文件系统特有的一种功能,它允许在同一个文件名下存储多个数据流。除了默认的数据流(通常用于存储文…

29---Nor Flash电路设计

视频链接 Nor Flash硬件电路设计01_哔哩哔哩_bilibili NOR FLASH电路设计 1、NOR FLASH介绍 NOR Flash最早是由Intel公司于1988年开发出的。 NOR Flash虽容量小但速度快,最大特点是支持芯片内执行&#xff08;XIP&#xff09;&#xff0c;即程序可以直接在NOR flash的片内…

欧拉系统部署ftp服务器

1.先检查是否已经安装ftp vsftpd -v 2.安装vsftpd yum install vsftpd 3.修改ftp配置文件 vim /etc/vsftpd/vsftpd.conf 4.启动ftp systemctl start vsftpd 5.查看是否启动 systemctl status vsftpd 6.设置为开机自启 systemctl enable vsftpd 7.查看端口是否开启 net…

uniapp 微信小程序 canvas 手写板获取书写内容区域并输出

uni.canvasGetImageData 返回一个数组&#xff0c;用来描述 canvas 区域隐含的像素数据&#xff0c;在自定义组件下&#xff0c;第二个参数传入自定义组件实例 this&#xff0c;以操作组件内 组件。 // 获取目标 canvas 的像素信息 pixelData let canvas uni.createSelector…

Wireshark使用相关

1.wireshark如何查看RST包 tcp.flags.reset1 RST表示复位&#xff0c;用来异常的关闭连接&#xff0c;在TCP的设计中它是不可或缺的。发送RST包关闭连接时&#xff0c;不必等缓冲区的包都发出去&#xff08;不像上面的FIN包&#xff09;&#xff0c;直接就丢弃缓存区的包发送R…

【功能实现】新年贺卡(蓝桥)

题目分析&#xff1a; 想要实现一个随机抽取功能 功能拆解&#xff1a;题目给了数组&#xff0c;我们采用生成随机数的方式&#xff0c;随机数作为数组的索引值访问数组的值。 并返回获取到的值&#xff0c;将获取到的值插入到页面中。 document.addEventListener(DOMConten…