全栈开发者的技术学习笔记:编程语言、框架与工具的全面总结

2024-10-08 13:00:31 浏览数 (2)

这是一篇学习笔记,汇总了我在编程语言、框架和工具等方面的技术知识点,涵盖了多个领域的核心概念和实际应用。

一. 编程语言

Java

Java 是使用最频繁的编程语言之一,主要用于开发服务器端应用和数据库管理系统。在使用中,我们要特别关注了以下几点:

面向对象编程(OOP):封装、继承、多态等特性使代码可复用性和可扩展性得到增强。

多线程编程:通过 `Thread` 和 `Runnable` 接口实现并发操作,在项目中处理任务时特别有效。

Java 8 特性:如 `Stream` 流式操作、`Optional`、`Lambda` 表达式和方法引用大大简化了代码逻辑,提高了开发效率。

Kotlin

Kotlin 是在现代开发中非常喜欢的语言,尤其在 Android 开发和 Spring Boot 项目中使用。它与 Java 100% 兼容,但提供了更简洁的语法。

空安全(Null Safety):Kotlin 对空指针异常进行了很好的处理,如通过 `?` 操作符避免潜在的 NullPointerException。

协程(Coroutines):Kotlin 的协程提供了强大的并发编程支持,比传统的 Java 线程更轻量且更易于使用。

数据类:简洁地定义了只用于存储数据的类,大大减少了样板代码。

二. 框架和工具

Spring Boot

Spring Boot 简化了传统 Spring 应用的配置过程,使应用开发更快、更简单。

Spring Security:使用它实现了权限管理,用户之间的组织和设备访问控制等功能。在开发中,注重通过过滤器、拦截器进行权限的细粒度控制。

事务管理:通过 `@Transactional` 注解保证了数据库操作的原子性和一致性,尤其在涉及多步操作时。

REST API:通过 `RestTemplate` 和 `WebClient` 实现与外部服务的交互,分别适用于同步和异步场景。

MyBatis 和 MyBatisPlus

在数据访问层使用 MyBatis 和 MyBatisPlus 进行 SQL 映射和简化数据库操作。

动态 SQL:利用 MyBatis 强大的 XML 配置和动态 SQL 生成,可以在不同条件下灵活生成查询。

自动生成代码:MyBatisPlus 的代码生成器大大减少了重复劳动,并且支持更多特性如分页和 CRUD 操作。

Redisson

用于分布式锁和并发任务处理。在多线程环境中,我通过 Redisson 实现了高效的分布式锁控制,并对锁的逻辑进行了复用和封装。

MQTT

使用 MQTT 协议处理物联网数据的接收和存储,通过 Java 连接客户端并实现高并发的数据入库。处理 MQTT 时,注重了消息的可靠性和 QoS(服务质量)。

数据库

MySQL:作为主要的关系型数据库,MySQL 被用来处理复杂的业务数据。在同步过程中,重点使用表结构迁移和定时同步等功能。

MongoDB:在开发中使用 MongoDB 作为 NoSQL 数据库,通过 Spring Data MongoDB 轻松实现数据的持久化。MongoDB 非常适合处理非结构化数据,如 JSON 文档。

三. 开发工具

IntelliJ IDEA :主要IDEA 开发工具,结合 Gradle 和 Maven 进行项目构建管理。对于 Kotlin 开发,IDEA 提供了丰富的代码补全和调试支持。

Gradle:在项目构建中,我使用 Gradle 来管理依赖和构建任务,尤其在多模块项目中,通过配置本地的 Gradle 环境大大提升了构建速度。

Druid 连接池 :Druid 是阿里巴巴开发的数据库连接池,在 Spring Boot 中通过整合 Druid 监控和优化了数据库连接性能,特别是在高并发场景下保证了连接的稳定性和高效性。

四. 网络和数据传输

OKHttp:这是 Kotlin 中常用的 HTTP 客户端库,用于执行 HTTP 请求。相比于 Java 中的 `HttpClient`,OKHttp 更加轻量且易于扩展。

axios:在前端开发中,我使用 `axios` 进行异步 HTTP 请求,结合 Vue.js 或 React 来处理接口调用。axios 提供了简洁的 API,用于处理 GET、POST 等常见请求。

五. 日志与监控

Logback 和 SLF4J :作为常用的日志框架,使用 Logback 结合 SLF4J 进行日志管理,通过配置文件实现日志级别的动态调整和输出格式的定制。

日志优化:在多线程环境中,优化了日志写入逻辑,避免了线程间的竞争。

六. 文件处理

CSV 文件处理:在程序中使用 Java 代码生成和处理 CSV 文件,特别是涉及到大数据量的导出时,通过优化 I/O 操作来提升性能。

文件压缩与下载:使用 Java `ZipOutputStream` 实现文件的压缩打包,并结合 Spring Boot 实现多文件下载功能。

七. 其他技术

Base64 加密解密:用于处理服务器返回的数据,特别是在处理需要对数据进行加密和解密时,通过 Base64 编码和 URLDecoder 解码实现数据的安全传输。

定时任务:通过 Spring 的 `@Scheduled` 注解实现定时任务调度功能,适用于定时发送邮件、同步数据等场景。

这些是在日常开发中总结出的关键技术点,涵盖了不同的技术栈和实际应用。通过持续的学习和项目实践,对这些技术的理解更加深入,能够灵活应对各种开发需求。

0 人点赞