前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全栈开发者的技术学习笔记:编程语言、框架与工具的全面总结

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

原创
作者头像
Marblog
发布2024-10-08 13:00:31
1640
发布2024-10-08 13:00:31

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

一. 编程语言

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` 注解实现定时任务调度功能,适用于定时发送邮件、同步数据等场景。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一. 编程语言
  • Java
    • Kotlin
    • 二. 框架和工具
      • Spring Boot
        • MyBatis 和 MyBatisPlus
          • Redisson
            • MQTT
            • 数据库
            • 三. 开发工具
            • 四. 网络和数据传输
            • 五. 日志与监控
            • 六. 文件处理
            • 七. 其他技术
            相关产品与服务
            云数据库 MongoDB
            腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档