从零开始学习Java:如何成为一名Java开发者并找到工作

news2024/12/23 22:26:21

文章目录

  • 🌟 JavaSE
  • 🌟 JavaWeb
  • 🌟 多线程
  • 🌟 主流框架
  • 🌟 Redis缓存
  • 🌟 消息中间件
  • 🌟 全文搜索
  • 🌟 MySQL
  • 🌟 Mongodb
  • 🌟 开发工具
  • 🌟 模板引擎
  • 🌟 部署
  • 🌟 负载均衡
  • 🌟 监控
  • 🌟 Apache ShardingSphere
  • 🌟 设计模式
  • 🌟 领域驱动DDD
  • 🌟 Kubernetes
  • 🌟 Activiti工作流(非必要)
  • 🌟 FastDFS文件存储(非必要)

📕我是廖志伟,一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作者、产品软文创造者、技术文章评审老师、问卷调查设计师、个人社区创始人、开源项目贡献者。🌎跑过十五公里、徒步爬过衡山、🔥有过三个月减肥20斤的经历、是个喜欢躺平的狠人。

📘拥有多年一线研发和团队管理经验,研究过主流框架的底层源码(Spring、SpringBoot、Spring MVC、SpringCould、Mybatis、Dubbo、Zookeeper),消息中间件底层架构原理(RabbitMQ、RockerMQ、Kafka)、Redis缓存、MySQL关系型数据库、 ElasticSearch全文搜索、MongoDB非关系型数据库、Apache ShardingSphere分库分表读写分离、设计模式、领域驱动DDD、Kubernetes容器编排等。🎥有从0到1的高并发项目经验,利用弹性伸缩、负载均衡、报警任务、自启动脚本,最高压测过200台机器,有着丰富的项目调优经验。

📙经过多年在CSDN创作上千篇文章的经验积累,我已经拥有了不错的写作技巧。同时,我还与清华大学出版社签下了四本书籍的合约,并将陆续在明年出版。这些书籍包括了基础篇、进阶篇、架构篇的📌《Java项目实战—深入理解大型互联网企业通用技术》📌,以及📚《解密程序员的思维密码–沟通、演讲、思考的实践》📚。具体出版计划会根据实际情况进行调整,希望各位读者朋友能够多多支持!

以梦为马,不负韶华

希望各位读者大大多多支持用心写文章的博主,现在时代变了,信息爆炸,酒香也怕巷子深,博主真的需要大家的帮助才能在这片海洋中继续发光发热,所以,赶紧动动你的小手,点波关注❤️,点波赞👍,点波收藏⭐,甚至点波评论✍️,都是对博主最好的支持和鼓励!

  • 💂 博客主页: 我是廖志伟
  • 👉开源项目:java_wxid
  • 🌥 哔哩哔哩:我是廖志伟
  • 🎏个人社区:幕后大佬
  • 🔖个人微信号SeniorRD

💡在这个美好的时刻,本人不再啰嗦废话,现在毫不拖延地进入文章所要讨论的主题。接下来,我将为大家呈现正文内容。

CSDN

🌟 JavaSE

  1. 基本语法:包括Java的基本数据类型、运算符、流程控制、函数、异常处理等。

  2. 面向对象编程:封装、继承、多态、抽象类、接口、内部类等。

  3. 集合框架:包括List、Set、Map等集合类型以及泛型。

  4. IO流:包括字节流和字符流,文件读写等。

  5. 多线程:包括线程创建、同步、死锁、线程池等。

  6. 反射:包括Class、Method、Constructor等反射API的使用。

  7. 异常处理:包括Exception和RuntimeException等异常类型的捕获和处理。

  8. JDBC:包括连接数据库、执行SQL语句、批处理等。

  9. 注解:包括元注解、自定义注解、注解处理器等。

  10. Lambda表达式和Stream API:Java 8新特性,简化了集合的操作和代码的书写。

  11. JVM:包括类加载机制、双亲委派机制、内存模型、垃圾回收等。

🌟 JavaWeb

  1. Servlet:理解Servlet的生命周期、请求和响应的过程、Servlet API等;
  2. JSP:学习JSP的基本语法、JSP指令、EL表达式、JSTL标签库等;
  3. MVC架构:掌握MVC架构的实现方式、优势和劣势;MVC设计模式,即Model、View、Controller之间的关系和作用。
  4. 数据库技术:了解数据库的基本概念、SQL语句、数据库连接池等;
  5. Web基础知识:了解HTTP协议、Servlet、JSP、JavaScript、HTML、CSS、Tomcat等Web开发相关技术。
  6. Ajax:掌握Ajax的工作原理及其实现方式;
  7. XML和JSON:理解XML和JSON的基本结构和用途,掌握XML解析和JSON解析的方法。
  8. RESTful API:理解RESTful API的概念和设计原则,掌握RESTful API的开发方法。
  9. 版本控制工具:掌握Git等版本控制工具的使用。
  10. Maven工具:了解Maven工具的使用和管理项目依赖的方法。

🌟 多线程

  1. 进程和线程的概念:理解进程和线程的概念,以及它们之间的关系和区别。

  2. 线程的创建和销毁:了解如何创建和销毁线程,能够创建多个线程,并正确地释放线程资源。

  3. 线程同步和互斥:掌握线程同步和互斥的实现方法,如锁、信号量、条件变量等,能够正确地使用这些方法来保证多个线程之间的数据共享的正确性。

  4. 线程通信:了解线程之间的通信方式,如管道、消息队列、共享内存等,能够正确地使用这些方法来实现线程之间的数据传输和同步。

  5. 线程调度和优先级:了解线程的调度算法和优先级,并正确地设置线程的优先级,以保证线程的运行效率和响应性。

  6. 异常处理和错误处理:能够正确地处理线程中出现的异常和错误,并能够正确地回收线程资源,避免程序出现崩溃等问题。

  7. 并发编程模型:了解并发编程的常用模型,如生产者-消费者模型、读者-写者模型、线程池模型等,能够根据实际需求选择合适的并发编程模型。

🌟 主流框架

  1. Spring框架:掌握Spring框架的基本原理、IOC容器、AOP编程、事务管理等。
  2. Spring Boot框架:掌握Spring Boot框架的使用、自动化配置、启动器、命令行界面等。
  3. MyBatis框架:掌握MyBatis框架的使用、Mapper接口、动态SQL语句、插件等。
  4. Spring MVC:学习Spring MVC的基本概念、Spring的依赖注入、控制反转等;
  5. 微服务技术:包括Spring Cloud组件、Dubbo、Zookeeper等微服务框架。
  6. 单元测试:掌握JUnit和Mockito等单元测试框架的使用和原理。

🌟 Redis缓存

  1. 数据结构:redis支持多种数据结构,例如字符串、列表、哈希、集合、有序集合等,在使用redis时需要了解这些数据结构,以及它们的特点和使用场景。

  2. 安装和配置:了解如何在自己的系统上安装redis,并且了解redis的配置文件和参数含义。

  3. 命令:redis的使用主要通过命令行进行,需要了解redis提供的各种命令及其参数含义。

  4. 持久化:redis支持两种持久化方式,即快照和AOF,需要了解它们之间的区别以及如何进行配置。

  5. 高可用性:redis提供了各种高可用性方案,例如主从复制、哨兵和集群等,需要了解它们之间的区别以及如何进行配置。

  6. 性能优化:了解如何对redis进行性能优化,例如使用合适的数据结构、调整缓存大小、优化命令使用等。

  7. 分布式锁:了解如何使用redis实现分布式锁,以避免多个客户端同时对同一资源进行修改。

🌟 消息中间件

  1. 消息队列的基础概念:需要了解消息队列的一些基本概念,如消息生产者、消息消费者、消息队列等。

  2. 消息中间件的分类:需要了解消息中间件的分类,如点对点模型、发布订阅模型等,并了解它们的应用场景和特点。

  3. 消息中间件的实现原理:需要了解消息中间件的实现原理,包括消息的存储方式、消息的传递方式、消息的过滤方式等。

  4. 消息中间件的常见应用场景:需要了解消息中间件的常见应用场景,如分布式事务、数据同步、异步处理等。

  5. 常见的消息中间件:需要了解常见的消息中间件,如ActiveMQ、RabbitMQ、RocketMQ、Kafka等,熟悉它们的使用、配置和优化。

🌟 全文搜索

  1. Elasticsearch基础知识:了解Elasticsearch的基础概念、索引、分片、节点、集群等基本概念。

  2. 全文搜索的基本原理:理解全文搜索的基本原理以及如何搭建一个可靠的全文搜索引擎。

  3. Lucene基础知识:Lucene是Elasticsearch底层的搜索引擎库,因此需要了解Lucene的基础知识,包括索引和查询的基本原理,以及查询语法等。

  4. 数据建模和索引设计:为了提高搜索的效率和准确性,需要对数据进行建模和索引设计,包括确定字段类型、分析器、词库等等。

  5. 查询语句的编写和优化:学会如何编写和优化查询语句,包括基本查询、复合查询、聚合查询、模糊查询、范围查询等。

  6. 集群和分布式搜索:了解分布式搜索的基本原理和配置,扩展集群的节点数以及实现高可用性。

  7. 与其他系统的集成:学会如何与其他系统(如Kibana、Logstash、Beats等)进行集成,以实现更复杂的数据分析和可视化功能。

🌟 MySQL

  1. 数据库基础知识:了解关系型数据库的概念、数据库的体系结构、数据类型、SQL语言等基本知识。

  2. 数据库设计:学习如何设计合理的数据库结构,涉及到数据表、数据字段、数据类型、主键、外键、索引等概念。

  3. 数据库操作语言(SQL):了解SQL语言的语法规则、基本语句以及高级语句,如SELECT、INSERT、UPDATE、DELETE等。

  4. 数据库管理系统(DMS):包括MySQL的基本配置、安装和管理、备份和恢复、安全等知识。

  5. 数据库优化:学习如何优化数据库查询性能,包括索引优化、查询语句优化等。

  6. 数据库应用开发:如何在Web应用中使用MySQL,以及如何使用各种编程语言进行对MySQL的操作。

  7. 数据库安全:涉及到数据库用户身份、权限管理、数据加密等相关内容。

总之,MySQL关系型数据库学习需要全面了解各种基础知识以及实际应用,掌握以上知识点可以使得初学者更好地入门 MySQL 数据库的学习。

🌟 Mongodb

  1. NoSQL数据库概念和优点:NoSQL是指非关系型数据库,MongoDB就是一种NoSQL数据库,需要了解其与传统关系型数据库的区别和优点。

  2. MongoDB的安装和配置:需要了解如何安装和配置MongoDB,包括如何启动和停止MongoDB服务。

  3. MongoDB的基本概念和架构:需要了解MongoDB的文档、集合、数据库和副本集、分片等概念,以及其整体架构。

  4. MongoDB的数据存储和查询:需要了解MongoDB的数据存储方式和数据查询语言,掌握如何使用MongoDB进行数据存储和查询。

  5. MongoDB的高级功能:需要了解MongoDB的高级功能,包括索引、数据备份和恢复、性能优化等。

  6. MongoDB的应用场景和实践经验:需要了解MongoDB在实际应用中的应用场景和实践经验,例如如何在Python、Java等编程语言中使用MongoDB进行开发。

🌟 开发工具

  1. Eclipse:一款开源的Java IDE,被广泛使用。

  2. IntelliJ IDEA:一款功能强大的Java IDE,具有高度的智能化和自动化功能。

🌟 模板引擎

  1. 模板语言:FreeMarker和Thymeleaf均有自己的模板语言,需要学习其基础语法及常用指令、表达式等。

  2. 数据模型:模板引擎可以接收一个数据模型,并将其渲染到模板中。因此,需要了解如何准备数据模型及如何在模板中使用数据模型中的数据。

  3. 模板标记:模板标记是指模板引擎中用来标识特定功能或指令的标记。需要了解如何使用模板标记以及如何自定义模板标记。

  4. 模板文件:需要了解如何创建和管理模板文件,包括如何使用模板继承、布局、包含等功能。

  5. 集成框架:了解如何将FreeMarker和Thymeleaf集成到常用的Java Web框架中,如Spring MVC等。

  6. 性能优化:模板引擎的性能对于Web应用程序非常重要。需要了解如何进行性能优化和缓存机制的实现。

  7. 其他:还需要了解如何处理异常、调试技巧、安全性等方面的内容。

🌟 部署

  1. 打包成war文件,部署到Web容器中:将Java项目打包成war文件,然后将war文件部署到Tomcat、Jetty、WebSphere等Web容器中,通过Web容器来管理和运行Java项目。
  2. 打包成jar文件,直接运行:将Java项目打包成可执行的jar文件,然后在命令行或者脚本中直接运行,不需要Web容器的支持,适用于一些简单的命令行应用。
  3. 使用Docker容器部署:将Java项目打包成Docker镜像,然后在Docker容器中运行,可以轻松制作和部署Java项目。
  4. 通过Jenkins进行自动化部署:使用Jenkins等自动化工具,将Java项目打包、发布和部署进行自动化化管理,可以提高效率和减少出错率。
  5. 使用云服务进行部署:将Java项目部署到云平台上,如AWS、Azure、Google Cloud等,可以快速部署和弹性扩展Java应用。
  6. Linux操作系统和Shell脚本:了解Linux操作系统的基本概念、常用命令和Shell编程等。

🌟 负载均衡

  1. 网络基础知识:如路由、子网划分、IP地址等;
  2. 协议和服务:如HTTP、TCP、UDP、DNS等;
  3. 负载均衡算法:如轮询、最少连接、IP哈希、加权轮询等;
  4. 负载均衡器的分类和功能:如硬件负载均衡器和软件负载均衡器;
  5. 负载均衡架构的设计和部署:如负载均衡器的选型、高可用性和容错性等;
  6. 监控和调优:如性能监测、请求分析、错误排除等。

🌟 监控

  1. JConsole:Java自带的监控工具,可以实时监控JVM的运行情况。
  2. JMeter:Apache开源的性能测试工具,可以模拟多种负载类型,对Java应用进行性能测试和压力测试。
  3. JProfiler:商业的Java性能分析工具,可以分析JVM的各种性能指标,并提供详细的性能分析报告。
  4. 掌握SkyWalking的架构、原理和使用方法,了解支持的语言、支持的部署方式、支持的监控数据等。
  5. 掌握Prometheus的基本概念和架构,例如指标、目标、作业、规则等;Prometheus的查询语言PromQL;Grafana的基本概念和架构,例如数据源、面板、图表等;Grafana的模板变量和面板过滤器等高级功能;Prometheus和Grafana的安全设置,例如认证、授权、TLS等;

🌟 Apache ShardingSphere

  1. 数据库分片和分库分表的概念

  2. 分片规则和分片键的设计

  3. 数据库读写分离的概念和实现方式

  4. Proxy和JDBC的区别和联系

  5. ShardingSphere架构和原理

  6. ShardingSphere的配置和使用方法

  7. ShardingSphere的优势和局限性

  8. ShardingSphere在实际应用中的使用场景和案例

  9. ShardingSphere的性能调优和故障处理方法

  10. 对分布式数据库的理解和实践经验。

🌟 设计模式

学习设计模式需要掌握以下知识点:

  1. 面向对象编程思想:设计模式是基于面向对象编程思想而产生的,因此学习设计模式需要熟悉面向对象的基本概念、原则、特点等。

  2. UML建模:在学习设计模式时需要使用UML类图或时序图等图形化工具来描述模式结构、流程,因此需要掌握UML建模的基本知识。

  3. 设计原则:设计模式通常都基于一些设计原则(如单一职责原则、开闭原则等),因此需要熟悉这些设计原则。

  4. 模式分类及应用场景:了解不同类型的设计模式,以及它们的应用场景。

  5. 代码实现:了解设计模式的基本思想后,需要通过编写代码实现模式,加深理解。

  6. 重构:学习设计模式后,需要将其应用于实际项目中,进行重构,提高代码的可维护性、可扩展性等。因此需要掌握重构的基本思想及常用技巧。

🌟 领域驱动DDD

  1. 领域模型:了解什么是领域模型和如何正确设计一个领域模型。

  2. 领域驱动设计的基础概念:包括聚合、实体、值对象、领域服务、领域事件等概念的理解。

  3. 业务分析和建模:学会如何进行业务分析,理解业务模型和业务过程。了解如何将业务分析转化为领域模型的设计。

  4. 软件开发技术:掌握至少一门编程语言,理解基本的面向对象设计和编程技术。

  5. 设计模式:熟悉常用的设计模式,并知道如何将其应用到领域模型的设计中去。

  6. 持久化技术:掌握常用的数据库技术和ORM框架,了解如何将领域模型持久化到数据库中。

  7. 分布式系统设计:对于涉及到分布式系统的问题,需要具备相应的设计和开发经验。

  8. 团队协作和沟通能力:领域驱动设计需要团队协作,需要良好的沟通能力和合作精神。

🌟 Kubernetes

  1. 容器技术:需要熟悉常见容器技术,例如Docker。

  2. 容器编排:需要熟悉常见容器编排工具,例如Docker Compose、Kubernetes等。

  3. Linux操作系统:需要熟悉Linux操作系统的基本命令和操作。

  4. 网络基础:需要熟悉网络基础知识,例如IP地址、子网掩码、端口、协议等。

  5. 负载均衡:需要了解负载均衡的概念、原理和常见工具。

  6. 存储:需要了解存储的概念和种类,例如本地存储、网络存储等。

  7. 安全:需要了解容器和Kubernetes的安全机制和实践。

🌟 Activiti工作流(非必要)

  1. Java编程语言:Activiti是一个基于Java的框架,所以熟练掌握Java编程语言是必须的。

  2. BPMN标准:Activiti采用BPMN2.0标准,掌握BPMN的基本原理和相关概念是学习Activiti的基础。

  3. Activiti框架:了解Activiti的基本框架结构、核心类和模块,包括流程引擎、表单引擎、任务引擎、历史引擎、流程仓库等。

  4. Activiti的基本API:掌握Activiti的基本API,如流程定义API、运行时服务API、历史记录服务API等,可以实现流程的定义、部署、执行和监控。

  5. Spring框架:Activiti通常与Spring集成使用,因此需要了解Spring框架的基本原理和使用方法。

  6. 数据库:Activiti的流程和任务信息需要进行持久化存储,因此需要掌握数据库相关知识,包括SQL语言、数据库设计和操作等。

  7. Web开发技术:Activiti的表单和任务界面通常采用Web技术实现,因此需要掌握相关的Web开发技术,如HTML、CSS、JavaScript等。

  8. 工作流设计和开发经验:具有一定的工作流设计和开发经验,可以更好地理解Activiti的使用和应用场景。

🌟 FastDFS文件存储(非必要)

  1. 分布式系统:了解分布式系统的基本概念和架构,包括分布式存储、负载均衡、集群等。

  2. Linux系统:熟悉Linux系统的基本操作、目录结构、命令行等。

  3. 文件存储:了解文件在计算机系统中的存储方式和存储管理方法,包括文件系统、文件格式、文件读写操作等。

  4. 编程语言:熟悉至少一种编程语言,如C、Java等。

  5. 网络协议:了解TCP/IP协议等网络协议的基本概念和原理。

  6. FastDFS:熟悉FastDFS的特点、架构、安装部署、配置以及使用方法等。

  7. 文件上传下载:了解文件上传下载的基本原理和方法,包括HTTP协议、FTP协议等。

  8. 数据库:了解MySQL等数据库的基本操作和使用方法,以及与FastDFS的配合使用。

  9. 高可用性:了解如何保证FastDFS的高可用性,包括负载均衡、故障转移等。

  10. 安全性:了解如何保护FastDFS的安全性,包括用户权限管理、数据加密等。

CSDN

🔔如果您需要转载或者搬运这篇文章的话,非常欢迎您私信我哦~

希望各位读者大大多多支持用心写文章的博主,现在时代变了,信息爆炸,酒香也怕巷子深,博主真的需要大家的帮助才能在这片海洋中继续发光发热,所以,赶紧动动你的小手,点波关注❤️,点波赞👍,点波收藏⭐,甚至点波评论✍️,都是对博主最好的支持和鼓励!

  • 💂 博客主页: 我是廖志伟
  • 👉开源项目:java_wxid
  • 🌥 哔哩哔哩:我是廖志伟
  • 🎏个人社区:幕后大佬
  • 🔖个人微信号SeniorRD

📥博主的人生感悟和目标

探寻内心世界,博主分享人生感悟与未来目标

  • 🍋程序开发这条路不能停,停下来容易被淘汰掉,吃不了自律的苦,就要受平庸的罪,持续的能力才能带来持续的自信。我本身是一个很普通程序员,放在人堆里,除了与生俱来的盛世美颜,就剩180的大高个了,就是我这样的一个人,默默写博文也有好多年了。
  • 📺有句老话说的好,牛逼之前都是傻逼式的坚持,希望自己可以通过大量的作品、时间的积累、个人魅力、运气、时机,可以打造属于自己的技术影响力。
  • 💥内心起伏不定,我时而激动,时而沉思。我希望自己能成为一个综合性人才,具备技术、业务和管理方面的精湛技能。我想成为产品架构路线的总设计师,团队的指挥者,技术团队的中流砥柱,企业战略和资本规划的实战专家。
  • 🎉这个目标的实现需要不懈的努力和持续的成长,但我必须努力追求。因为我知道,只有成为这样的人才,我才能在职业生涯中不断前进并为企业的发展带来真正的价值。在这个不断变化的时代,我必须随时准备好迎接挑战,不断学习和探索新的领域,才能不断地向前推进。我坚信,只要我不断努力,我一定会达到自己的目标。

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

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

相关文章

2023年是5G-A标准制定关键年 华为实现5G-A重大突破

5G商用四年,2023年5G应用项目已经达到10万个,5G向千行百业渗透的同时,也在向5G-Advanced(下简称5G-A)演进。 10月20日,在工业和信息化部主办的2023年中国5G发展大会上,由IMT-2020(5G…

Yusi技术资讯博客wordpress模板

Yusi技术资讯博客wordpress模板,从第一感觉看上去,两栏结构直接将网站的内容展现,以红白灰色调搭配,一种低调协调的风格,喜欢该wordpress主题的朋友可以下载试试。 下载地址:https://bbs.csdn.net/topics/…

在Instagram进行kol营销之后要如何去后续维护

在网红经济盛行的如今,学会利用网红的影响力来推广品牌是营销中很重要的一个形式。企业要把握这个风口,承接这些网红带来的流量之后,牢牢掌握,及时开展后续的营销活动,这样才能实现高转化,成为网红经济下的…

python按照windows或者Ubuntu的文件夹中文件的顺序读取文件

摘要 在使用python读取文件的时候,发现python读取文件的顺序和文件夹中的顺序不一致,这时候应该怎么办呢? 解决方法 使用os_sorted库,安装方式: pip install natsort使用方法: from natsort import os…

【JavaSE专栏56】Java面向对象编程:深入理解类、对象、属性和方法的核心概念

Java面向对象编程:深入理解类、对象、属性和方法的核心概念 📚🧬💻 摘要引言1. Java中的类和对象 📚🧬1.1 什么是Java类和对象? 🤔1.2 类和对象在面向对象编程中的作用 &#x1f3af…

centos 7 kafka2.6单机安装及动态认证SASL SCRAM配置

目录 1.kfaka安装篇 1.1 安装jdk 1.2安装kafka 2.安全篇 2.1 kafka安全涉及3部份: 2.2 Kafka权限控制认证方式 2.3 SASL/SCRAM-SHA-256 配置实例 2.3.1 创建用户 2.3.2 创建 JAAS 文件及配置 3.测试 3.1 创建测试用户 3.2 配置JAAS 文件 3.2.1 生产者配…

关于息肉检测和识别项目的总结

前言 整体的思路:首先息肉数据集分为三类: 1.正常细胞 2. 增生性息肉 3. 肿瘤要想完成这个任务,首先重中之重是分割任务,分割结果的好坏, 当分割结果达到一定的准确度后,开始对分割后的结果进行下游分类…

【C语言_题库】C语言:编写一个程序,输入一组字符串,将字符串中的小写字母转换为大写字母,其它字符不变,并输出。

把键盘输入的一行字符串的小写字母转换成大写字母,其余字符不变,进行输出,直到遇到回车为止。 具体说明 【问题描述】 从键盘输入一行英文字符串,把所有小写字母变成大写字母,其他字母和字符保持不变。 【输入形式】 输入一行字符串,含大小写。 【输出形式】 输出大写字…

详解—数据结构《树和二叉树》

目录 一.树概念及结构 1.1树的概念 1.2树的表示 二.二叉树的概念及结构 2.1概念 2.2二叉树的特点 2.3现实中的二叉树 2.4数据结构中的二叉树 2.5 特殊的二叉树 2.6二叉树的存储结构 2.6.1二叉树的性质 2.6.2 顺序结构 2.6.3链式存储 三. 二叉树的链式结构的遍历 …

《算法通关村—用栈实现队列|用队列实现栈问题解析》

《算法通关村—用栈实现队列|用队列实现栈问题解析》 用栈实现队列 LeetCode232 先看题意: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): void push(int x) 将元素 x 推到…

Mac 解决 APP 快捷键冲突

打开 Mac 系统设置键盘->键盘快捷键->App快捷键->添加快捷键(加号)->标题需要和tab名称完全一致(包括中英文、标点符号等,如下图)设置快捷键即可 Reference: https://www.cnblogs.com/Questio…

qt-gui

C常用GUI开发框架Qt,开始支持Python 2018-12-24 12:49 C的GUI接口开发框架Qt宣布,在5.12版本中开始支持Python,Python开发人员现在可以使用所有的Qt API,目前仍在技术预览版的阶段,但官方也承诺,正式版将…

BUUCTF_练[CISCN2019 华北赛区 Day1 Web5]CyberPunk

[CISCN2019 华北赛区 Day1 Web5]CyberPunk 文章目录 [CISCN2019 华北赛区 Day1 Web5]CyberPunk掌握知识解题思路代码分析paylaod的构建正式解题 关键paylaod 掌握知识 ​ php伪协议读取文件;源码泄露hint ;代码审计 发现二次注入点;SQL语句的…

配置文件草稿

SpringBoot配置文件是用来保存SpringBoot项目当中所有重要的数据的,比如说数据库连接信息,数据库的启动端口,如果端口被占用了,那么就可以随时修改; 1)比如说我们之前再写JDBC的代码的时候,要去写链接字符串…

Figma怎么用?看这篇最全攻略,用完回不去了!

Figma是什么?设计师朋友们一定不会陌生,它以轻体量、高设计效率、超强协作性以及设计和开发一体化等特点风靡一时,在全球的数字产品设计领域范围内崭露头角,得到海量用户和无数企业的认可和选择(真棒啊)。 …

成绩不公开,如何发成绩

亲爱的老师们,有没有在学期中疯狂整理成绩单,又担心成绩私发引起混乱的烦恼?今天就让我们一起探索如何利用各种工具和代码,实现学生自主查询成绩的便捷方式吧! 成绩查询系统简介 成绩查询系统是一款方便学生和老师查询…

自主查询成绩

今天我们来揭秘如何制作成绩查询系统,让学生可以自行查看成绩! 成绩查询系统可以帮助学生和老师轻松管理、发布、查看成绩。无论是期中考试、期末考试,作业查询还是平时的课堂表现,都可以通过成绩查询系统来及时掌握。 让我们一起…

双十一限时优惠!沃通SSL证书、代码签名证书年度好价

2023年11月01日至11月11日,沃通2023“双十一限时特惠”活动,精选9款SSL证书、国密SSL证书、代码签名证书产品推出年度好价,部分SSL证书产品低至5折,更有EV代码签名证书爆款特惠!多种数字证书一站式采购,解决…

京东数据分析:2023年9月京东饮料行业品牌销售排行榜

鲸参谋监测的京东平台9月份饮料市场销售数据已出炉! 9月份,京东饮料市场整体销售下滑。鲸参谋数据显示,今年9月,京东平台饮料市场的销量将近750万,环比降低约9%,同比降低约12%;销售额约4.4亿&am…

外网远程登录之 NAT server

案例: 外网远程登录内网SW: 需求 1.内网的PC都可以访问Server1 2.外网的R2可以远程登录SW1, 用户名和密码是:HCIE/hehe 需求 1.内网的PC都可以访问Server1 2.外网的R2可以远程登录SW1, 用户名和密码是:HCI…