大数据文摘_个人页

个人头像照片 大数据文摘
个人头像照片
158
0
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2024年12月

  • 12.25 17:53:12
    发表了文章 2024-12-25 17:53:12

    Java—多线程实现生产消费者

    本文介绍了多线程实现生产消费者模式的三个版本。Version1包含四个类:`Producer`(生产者)、`Consumer`(消费者)、`Resource`(公共资源)和`TestMain`(测试类)。通过`synchronized`和`wait/notify`机制控制线程同步,但存在多个生产者或消费者时可能出现多次生产和消费的问题。 Version2将`if`改为`while`,解决了多次生产和消费的问题,但仍可能因`notify()`随机唤醒线程而导致死锁。因此,引入了`notifyAll()`来唤醒所有等待线程,但这会带来性能问题。
  • 12.23 17:55:35
    发表了文章 2024-12-23 17:55:35

    Java多线程是什么

    Java多线程简介:本文介绍了Java中常见的线程池类型,包括`newCachedThreadPool`(适用于短期异步任务)、`newFixedThreadPool`(适用于固定数量的长期任务)、`newScheduledThreadPool`(支持定时和周期性任务)以及`newSingleThreadExecutor`(保证任务顺序执行)。同时,文章还讲解了Java中的锁机制,如`synchronized`关键字、CAS操作及其实现方式,并详细描述了可重入锁`ReentrantLock`和读写锁`ReadWriteLock`的工作原理与应用场景。
  • 12.19 17:58:37
    发表了文章 2024-12-19 17:58:37

    Spring Boot 编写 API 的 10条最佳实践

    本文总结了 10 个编写 Spring Boot API 的最佳实践,包括 RESTful API 设计原则、注解使用、依赖注入、异常处理、数据传输对象(DTO)建模、安全措施、版本控制、文档生成、测试策略以及监控和日志记录。每个实践都配有详细的编码示例和解释,帮助开发者像专业人士一样构建高质量的 API。
  • 12.17 17:16:50
    发表了文章 2024-12-17 17:16:50

    MySQL 窗口函数详解:分析性查询的强大工具

    MySQL 窗口函数从 8.0 版本开始支持,提供了一种灵活的方式处理 SQL 查询中的数据。无需分组即可对行集进行分析,常用于计算排名、累计和、移动平均值等。基本语法包括 `function_name([arguments]) OVER ([PARTITION BY columns] [ORDER BY columns] [frame_clause])`,常见函数有 `ROW_NUMBER()`, `RANK()`, `DENSE_RANK()`, `SUM()`, `AVG()` 等。窗口框架定义了计算聚合值时应包含的行。适用于复杂数据操作和分析报告。
  • 12.12 15:50:48
    发表了文章 2024-12-12 15:50:48

    Spring Boot 开发中的常见失误

    本文深入分析了Spring Boot开发中常见的失误,包括不当使用@Component、@ResponseBody、@Autowired注解,以及不良的异常处理和日志记录实践,提供了有效的规避策略,帮助开发者提升代码质量和系统性能。
  • 12.10 15:17:57
    发表了文章 2024-12-10 15:17:57

    Java 11 的String是如何优化存储的?

    本文介绍了Java中字符串存储优化的原理和实现。通过判断字符串是否全为拉丁字符,使用`byte`代替`char`存储,以节省空间。具体实现涉及`compress`和`toBytes`方法,前者用于尝试压缩字符串,后者则按常规方式存储。代码示例展示了如何根据配置决定使用哪种存储方式。
  • 12.06 11:59:13
    发表了文章 2024-12-06 11:59:13

    Java 异常处理:11 个异常处理最佳实践

    本文深入探讨了Java异常处理的最佳实践,包括早抛出晚捕获、只捕获可处理异常、不忽略异常、抛出具体异常、正确包装异常、记录或抛出异常但不同时执行、不在finally中抛出异常、避免用异常控制流程、使用模板方法减少重复代码、抛出与方法相关的异常及异常处理后清理资源等内容,旨在提升代码质量和可维护性。
  • 12.04 17:05:30
    发表了文章 2024-12-04 17:05:30

    java 为什么 String 在 java 中是不可变的?

    本文探讨了Java中String为何设计为不可变类型,从字符串池的高效利用、哈希码缓存、支持其他对象的安全使用、增强安全性以及线程安全等方面阐述了不可变性的优势。文中还通过具体代码示例解释了这些优点的实际应用。
  • 12.02 16:28:51
    发表了文章 2024-12-02 16:28:51

    Spring Boot集成MinIO

    本文介绍了如何在Spring Boot项目中集成MinIO,一个高性能的分布式对象存储服务。主要步骤包括:引入MinIO依赖、配置MinIO属性、创建MinIO配置类和服务类、使用服务类实现文件上传和下载功能,以及运行应用进行测试。通过这些步骤,可以轻松地在项目中使用MinIO的对象存储功能。

2024年11月

  • 11.27 15:39:05
    发表了文章 2024-11-27 15:39:05

    Java 8 异步编程利器:CompletableFuture

    Java 8引入了CompletableFuture,这是一个强大的异步编程工具,增强了Future的功能,支持链式调用、任务组合与异常处理等特性,使异步编程更加直观和高效。本文详细介绍了CompletableFuture的基本概念、用法及高级功能,帮助开发者更好地掌握这一工具。
  • 11.25 16:37:37
    发表了文章 2024-11-25 16:37:37

    springboot解决跨域问题

    跨域问题指前端调用与后端接口不在同一域名或端口时产生的安全限制。本文介绍两种在Spring Boot中解决跨域问题的方法:一是通过配置CorsFilter,二是实现WebMvcConfigurer接口。配置完成后重启项目即可生效。作者:博笙困了。来源:稀土掘金。
  • 11.21 16:01:31
    发表了文章 2024-11-21 16:01:31

    WebService客户端调用的5种常见方式

    本文介绍了在Java中创建和调用WebService的方法,包括服务端的搭建、配置类的添加以及客户端的多种调用方式(如使用JDK原生代码、wsimport命令、动态调用、代理工厂及HttpClient)。文中详细展示了每种方法的实现步骤和示例代码,强调了服务端与客户端参数实体类字段的兼容性,并推荐使用代理工厂方式进行调用。
  • 11.15 16:46:38
    发表了文章 2024-11-15 16:46:38

    Java设计模式:建造者模式详解

    建造者模式是一种创建型设计模式,通过将复杂对象的构建过程与表示分离,使得相同的构建过程可以创建不同的表示。本文详细介绍了建造者模式的原理、背景、应用场景及实际Demo,帮助读者更好地理解和应用这一模式。
  • 11.13 16:26:41
    发表了文章 2024-11-13 16:26:41

    Jackson反序列化不可变类

    Jackson 默认的反序列化策略需要无参构造器和字段 setter 函数。对于不可变类(如 `ImmutableUser`),可以通过以下三种方式解决: 1. **使用 Jackson 注解**:在全参构造器上使用 `@JsonCreator` 和 `@JsonProperty` 注解。 2. **使用 jackson-module-parameter-names**:引入依赖并注册 `ParameterNamesModule` 模块。 3. **使用 Mixins 机制**:创建一个 Mixin 类,使用 `@JsonCreator` 和 `@JsonProperty` 注解
  • 11.11 17:14:36
    发表了文章 2024-11-11 17:14:36

    mysql 的ReLog和BinLog区别

    MySQL中的重做日志(Redo Log)和二进制日志(Binary Log)是两种重要的日志系统。重做日志主要用于保证事务的持久性和原子性,通过记录数据页的物理修改信息来恢复未提交的事务更改。二进制日志则记录了数据库的所有逻辑变化操作,用于数据的复制、恢复和审计。两者在写入时机、存储方式、配置参数和使用范围上有所不同,共同确保了数据库的稳定性和可靠性。
  • 11.08 12:02:14
    发表了文章 2024-11-08 12:02:14

    go进阶编程:Golang中的文件与文件夹操作指南

    本文详细介绍了Golang中文件与文件夹的基本操作,包括读取、写入、创建、删除和遍历等。通过示例代码展示了如何使用`os`和`io/ioutil`包进行文件操作,并强调了错误处理、权限控制和路径问题的重要性。适合初学者和有经验的开发者参考。
  • 11.06 14:24:51
    发表了文章 2024-11-06 14:24:51

    Go文件操作:掌握Go的文件读写与操作技巧

    本文介绍了Go语言的文件操作功能,包括文件的打开、读写和关闭。Go语言通过`os`和`io`包提供了丰富的文件操作接口,使开发者能够轻松实现文件的读写和管理。文章详细讲解了核心概念、具体操作步骤和代码示例,并探讨了实际应用场景和未来发展趋势。
  • 11.04 15:06:19
    发表了文章 2024-11-04 15:06:19

    Java基础(13)抽象类、接口

    本文介绍了Java面向对象编程中的抽象类和接口两个核心概念。抽象类不能被实例化,通常用于定义子类的通用方法和属性;接口则是完全抽象的类,允许声明一组方法但不实现它们。文章通过代码示例详细解析了抽象类和接口的定义及实现,并讨论了它们的区别和使用场景。

2024年10月

  • 10.30 14:28:21
    发表了文章 2024-10-30 14:28:21

    MySQL主从复制原理和使用

    本文介绍了MySQL主从复制的基本概念、原理及其实现方法,详细讲解了一主两从的架构设计,以及三种常见的复制模式(全同步、异步、半同步)的特点与适用场景。此外,文章还提供了Spring Boot环境下配置主从复制的具体代码示例,包括数据源配置、上下文切换、路由实现及切面编程等内容,帮助读者理解如何在实际项目中实现数据库的读写分离。
  • 10.28 14:03:30
    发表了文章 2024-10-28 14:03:30

    Java泛型是什么?

    本文回顾了作者五年的工作经历,强调了自我学习的重要性,并介绍了Java泛型的基础知识,包括泛型的概念、泛型集合、泛型方法、泛型接口、泛型类及类型擦除等内容,旨在帮助读者理解泛型机制及其在编程中的应用。
  • 10.24 14:23:03
    发表了文章 2024-10-24 14:23:03

    Python中的Socket魔法:如何利用socket模块构建强大的网络通信

    本文介绍了Python的`socket`模块,讲解了其基本概念、语法和使用方法。通过简单的TCP服务器和客户端示例,展示了如何创建、绑定、监听、接受连接及发送/接收数据。进一步探讨了多用户聊天室的实现,并介绍了非阻塞IO和多路复用技术以提高并发处理能力。最后,讨论了`socket`模块在现代网络编程中的应用及其与其他通信方式的关系。
  • 10.21 17:10:35
    发表了文章 2024-10-21 17:10:35

    LangServe如何革新LLM应用部署?

    LangServe是一款专为LLM部署和管理设计的框架,旨在简化AI服务的开发和运维。它支持多种AI模型,提供高效的推理缓存、安全的访问控制、实时监控和简洁的API接口,帮助开发者从零到一实现LLM应用的快速部署。文中详细介绍了LangServe的功能特点、REST API开发流程及客户端调用测试。
  • 10.17 11:48:20
    发表了文章 2024-10-17 11:48:20

    短频快task的java解决方案

    本文探讨了Java自带WorkStealingPool的缺陷,特别是在任务中断方面的不足。普通线程池在处理短频快任务时存在锁竞争问题,导致性能损耗。文章提出了一种基于任务窃取机制的优化方案,通过设计合理的窃取逻辑和减少性能损耗,实现了任务的高效执行和资源的充分利用。最后总结了不同场景下应选择的线程池类型。
  • 10.15 12:03:50
    发表了文章 2024-10-15 12:03:50

    SpringBoot框架日志详解

    本文详细介绍了日志系统的重要性及其在不同环境下的配置方法。日志用于记录系统运行时的问题,确保服务的可靠性。文章解释了各种日志级别(如 info、warn、error 等)的作用,并介绍了常用的日志框架如 SLF4J 和 Logback。此外,还说明了如何在 SpringBoot 中配置日志输出路径及日志级别,包括控制台输出与文件输出的具体设置方法。通过这些配置,开发者能够更好地管理和调试应用程序。
  • 10.11 11:28:24
    发表了文章 2024-10-11 11:28:24

    Java 泛型深入解析:类型安全与灵活性的平衡

    Java 泛型通过参数化类型实现了代码重用和类型安全,提升了代码的可读性和灵活性。本文深入探讨了泛型的基本原理、常见用法及局限性,包括泛型类、方法和接口的使用,以及上界和下界通配符等高级特性。通过理解和运用这些技巧,开发者可以编写更健壮和通用的代码。
  • 10.09 11:59:18
    发表了文章 2024-10-09 11:59:18

    Spring FactoryBean 的常见使用场景总结

    FactoryBean 是 Spring 框架中的一个重要接口,用于自定义 Bean 的创建逻辑。常见使用场景包括: 1. **复杂 Bean 的创建**:如数据源配置。 2. **延迟实例化**:按需创建资源密集型对象。 3. **动态代理**:为 Bean 创建 AOP 代理。 4. **自定义配置**:根据特定配置创建 Bean。 5. **第三方库集成**:利用 FactoryBean 封装外部库的创建过程。

2024年09月

  • 09.30 15:36:41
    发表了文章 2024-09-30 15:36:41

    golang 栈数据结构的实现和应用

    本文详细介绍了“栈”这一数据结构的特点,并用Golang实现栈。栈是一种FILO(First In Last Out,即先进后出或后进先出)的数据结构。文章展示了如何用slice和链表来实现栈,并通过golang benchmark测试了二者的性能差异。此外,还提供了几个使用栈结构解决的实际算法问题示例,如有效的括号匹配等。
  • 09.26 15:03:27
    发表了文章 2024-09-26 15:03:27

    Spring Get请求 与post请求

    本文详细介绍了Spring框架中GET请求和POST请求的区别及应用场景。GET请求用于从服务器获取资源,参数附在URL末尾,适合查看非敏感信息;POST请求用于向服务器提交数据,参数在请求体中传输,适合处理敏感信息。Spring通过`@GetMapping`和`@PostMapping`注解分别处理这两种请求。此外,文章还提供了示例代码,展示了如何在Spring中实现这两种请求的处理。最后,文章总结了推荐使用POST请求的原因,包括更高的安全性、更大的数据传输量、更好的幂等性及灵活性。
  • 09.24 11:38:30
    发表了文章 2024-09-24 11:38:30

    原生JDBC简单实现Mybatis核心功能

    本文介绍了在Vertx项目中使用Tdengine时,因缺乏异步JDBC驱动而采用同步驱动结合`vertx.executeBlocking`实现异步查询的方法。文中详细描述了自行开发的一个简易JDBC工具,该工具实现了SQL参数绑定与返回值映射至实体类的功能,简化了原生JDBC的繁琐操作。通过具体示例展示了其实现过程及代码细节,并与原生JDBC进行了对比,突显了其便捷性和实用性。
  • 09.20 11:58:51
    发表了文章 2024-09-20 11:58:51

    使用springSession完成分布式session

    本文介绍了如何使用 `spring-session` 实现分布式 Session 管理,并提供了将 Session 存储在 Redis 中的具体配置示例。通过配置相关依赖及 Spring 的配置文件,可以轻松实现 Session 的分布式存储。示例中详细展示了所需的 Maven 依赖、Spring 配置及过滤器配置,并给出了启动项目后在 Redis 中查看 Session 数据的方法。
  • 09.20 11:58:14
    发表了文章 2024-09-20 11:58:14

    使用springSession完成分布式session

    本文介绍了如何使用 `spring-session` 实现分布式 Session 管理,并提供了将 Session 存储在 Redis 中的具体配置示例。通过配置相关依赖及 Spring 的配置文件,可以轻松实现 Session 的分布式存储。示例中详细展示了所需的 Maven 依赖、Spring 配置及过滤器配置,并给出了启动项目后在 Redis 中查看 Session 数据的方法。
  • 09.18 15:20:08
    发表了文章 2024-09-18 15:20:08

    Java设计模式:组合模式的介绍及代码演示

    组合模式是一种结构型设计模式,用于将多个对象组织成树形结构,并统一处理所有对象。例如,统计公司总人数时,可先统计各部门人数再求和。该模式包括一个通用接口、表示节点的类及其实现类。通过树形结构和节点的通用方法,组合模式使程序更易扩展和维护。
  • 09.13 14:01:59
    发表了文章 2024-09-13 14:01:59

    Python Requests 库中的重试策略实践

    在网络请求中,由于网络波动或服务暂时不可达等原因,请求可能失败。为增强客户端健壮性,自动重试机制变得尤为重要。本文介绍如何在 Python 的 `requests` 库中实现请求自动重试,通过 `urllib3` 的 `Retry` 类配置重试策略,并提供了一个具体示例,展示了如何设置重试次数、状态码集合及异常类型等参数,从而提高系统的可靠性和容错能力。
  • 09.11 18:09:54
    发表了文章 2024-09-11 18:09:54

    Spring Cloud全解析:熔断之Hystrix简介

    Hystrix 是由 Netflix 开源的延迟和容错库,用于提高分布式系统的弹性。它通过断路器模式、资源隔离、服务降级及限流等机制防止服务雪崩。Hystrix 基于命令模式,通过 `HystrixCommand` 封装对外部依赖的调用逻辑。断路器能在依赖服务故障时快速返回备选响应,避免长时间等待。此外,Hystrix 还提供了监控功能,能够实时监控运行指标和配置变化。依赖管理方面,可通过 `@EnableHystrix` 启用 Hystrix 支持,并配置全局或局部的降级策略。结合 Feign 可实现客户端的服务降级。
  • 09.09 18:06:20
    发表了文章 2024-09-09 18:06:20

    使用Java创建集成JACOB的HTTP服务

    本文介绍了如何在Java中创建一个集成JACOB的HTTP服务,使Java应用能够调用Windows的COM组件。文章详细讲解了环境配置、动态加载JACOB DLL、创建HTTP服务器、实现IP白名单及处理HTTP请求的具体步骤,帮助读者实现Java应用与Windows系统的交互。作者拥有23年编程经验,文章来源于稀土掘金。著作权归作者所有,商业转载需授权。
  • 09.06 15:37:39
    发表了文章 2024-09-06 15:37:39

    Mybatis的Cursor如何避免OOM异常

    在 Mybatis 中,`Cursor` 是一个特殊对象,用于避免大量数据查询时导致的 OOM 错误。它通过懒加载和迭代器实现内存友好型数据处理,尤其适用于大规模数据查询。使用时只需将 Mapper 文件中的方法返回值设为 `Cursor<T>`。其原理在于操作原生 `Statement` 并按需获取数据,而非一次性加载所有数据,从而避免内存溢出。
  • 09.04 16:45:17
    发表了文章 2024-09-04 16:45:17

    浅析MySQL中的SQL执行过程

    本文探讨了MySQL的体系结构、SQL执行流程及SQL执行时间分析方法。首先介绍了MySQL由连接层、SQL层和存储引擎层构成;接着详细描述了SQL从客户端发送到服务器执行的具体流程;最后,通过启用profiling功能,展示了如何分析SQL执行时间,并说明了MySQL 8.0版本后移除查询缓存的原因。
  • 09.02 16:35:24
    发表了文章 2024-09-02 16:35:24

    MySQL 延迟从库介绍

    本文介绍了MySQL中的延迟从库功能,详细解释了其工作原理及配置方法。延迟从库允许从库在主库执行完数据变更后延迟一段时间再同步,主要用于快速恢复误操作的数据。此外,它还可用于备份、离线查询及数据合规性需求。通过合理配置,可显著提升数据库系统的稳定性和可靠性。

2024年08月

  • 08.29 12:08:01
    发表了文章 2024-08-29 12:08:01

    Spring Cloud全解析:配置中心之解决configserver单点问题

    但是如果该configserver挂掉了,那就无法获取最新的配置了,微服务就出现了configserver的单点问题,那么如何避免configserver单点呢?
  • 08.27 17:15:12
    发表了文章 2024-08-27 17:15:12

    Java内存模型(JMM)

    Java内存模型(JMM)是一个抽象概念,用于规范程序中各种变量(实例字段、静态字段及数组元素)的访问方式,确保不同Java虚拟机(JVM)上的并发程序结果一致可靠。JMM定义了主存储器(所有线程共享)与工作存储器(线程私有)的概念,线程间通过主存储器进行通信。JMM具备三大特性:原子性(确保基本读写操作的不可分割)、可见性(确保一个线程对共享变量的修改对其他线程可见)、有序性(防止指令被处理器或编译器重排序影响程序逻辑)。通过这些特性,JMM解决了多线程环境下的数据一致性问题。
  • 08.26 16:05:45
    发表了文章 2024-08-26 16:05:45

    Java中var的使用方法

    这篇文章主要介绍了Java中自JDK10起引入的新特性`var`,这是一种局部变量类型推断功能,旨在简化代码书写并提升开发效率。通过示例展示了如何使用`var`定义不同类型的变量,包括基本数据类型及集合类。作者还特别强调了在使用`var`时的一些限制与注意事项,比如无法定义未初始化的变量、不适用于类成员变量以及不可作为方法参数等。最后,文章指出虽然`var`能带来便利,但也可能影响代码的可读性,建议开发者根据实际情况合理使用。
  • 08.22 15:58:26
    发表了文章 2024-08-22 15:58:26

    FastAPI是什么?

    FastAPI是一个现代、高性能的Python Web框架,专为构建API设计。它利用标准的Python类型提示,支持同步及异步编程,并借助Pydantic实现数据验证。FastAPI以卓越的性能媲美Node.js和Go,代码简洁优雅,能自动生成交互式API文档如Swagger UI和ReDoc,方便测试和调试。其对`async`和`await`的支持使之适用于WebSocket等高并发场景。快速上手仅需安装FastAPI和Uvicorn,编写少量代码即可启动服务并访问自动生成的文档界面。FastAPI不仅易于入门,还支持复杂的功能如依赖注入和后台任务,非常适合追求高性能和快速开发的项目。
  • 08.20 18:10:11
    发表了文章 2024-08-20 18:10:11

    Python基于Excel多列长度不定的数据怎么绘制折线图?

    本文档详述了如何运用Python从CSV格式的Excel文件中读取特定范围的数据,并基于这些数据绘制多条折线图。文件的第一列代表循环增长的时间序列,后续各列包含不同属性的数据。通过指定起始与结束行数,可选取一个完整的时间循环周期内的数据进行绘图。每列数据以不同颜色和线型表示,并且图片长度会根据时间序列的长度动态调整,确保图表清晰易读。最终生成的图表将保存至指定文件夹。
  • 08.16 17:43:03
    发表了文章 2024-08-16 17:43:03

    spring如何解决循环依赖

    Spring框架处理循环依赖分为构造器循环依赖与setter循环依赖两种情况。构造器循环依赖不可解决,Spring会在检测到此类依赖时抛出`BeanCurrentlyInCreationException`异常。setter循环依赖则通过缓存机制解决:利用三级缓存系统,其中一级缓存`singletonObjects`存放已完成的单例Bean;二级缓存`earlySingletonObjects`存放实例化但未完成属性注入的Bean;三级缓存`singletonFactories`存放创建这些半成品Bean的工厂。
  • 08.14 18:17:55
    发表了文章 2024-08-14 18:17:55

    什么是系统可用性?如何提升可用性?

    本文探讨了系统可用性的概念、计算方法及其重要性。可用性指系统能在预定时间内正常运行的比例,计算公式为:(运行时间)/(运行时间+停机时间)。文章列举了不同级别的可用性对应的停机时间,并介绍了提升系统可用性的多种策略,包括冗余设计、故障检测与自动恢复、数据备份与恢复、负载均衡、容错设计、定期维护与更新及使用高可用性云服务和网络优化。这些措施有助于构建更加稳定可靠的系统。
  • 08.12 11:53:35
    发表了文章 2024-08-12 11:53:35

    MySQL意向锁是什么?

    意向锁用于协调InnoDB存储引擎中的行锁与表锁,避免全表扫描判断行锁的存在,提升性能。主要包括意向共享锁(IS)与意向排他锁(IX),分别在请求行级共享(S)锁与排他(X)锁前加于表级。意向锁自动管理,无需用户干预。例如,事务A锁定一行时先加IS锁,B事务可加IX锁但不能直接加表级X锁。意向锁与行级S/X锁兼容,仅与表级S/X锁冲突。这确保了锁机制高效且减少冲突。
  • 08.09 18:02:15
    发表了文章 2024-08-09 18:02:15

    Python怎么使用爬虫获取网页内容

    本文详细介绍了网页的基本概念及其构成,包括HTML文件的结构与作用,并演示了如何手动下载网页及使用Python编程语言实现网页内容的自动化下载。
  • 08.07 13:54:49
    发表了文章 2024-08-07 13:54:49

    什么是Go 中的单例模式?

    本文介绍了Go语言中的单例设计模式,包括饿汉式与懒汉式两种实现方式。饿汉式单例在程序启动时即完成实例化,适用于不需延迟加载的情况;通过全局变量初始化确保实例唯一性。懒汉式单例采用延迟初始化策略,在首次请求时创建实例,适合资源消耗较大的场景;利用双重检查锁定机制保证多线程环境下的安全性。两种模式各有优劣,开发者应根据实际需求选择合适的实现方案。
  • 08.05 16:20:47
    发表了文章 2024-08-05 16:20:47

    MybatisPlus怎么拓展自定义BaseMapper

    通过扩展Mybatis-Plus的`BaseMapper`,可以自定义SQL模板以满足特定业务需求。例如,当遇到唯一键冲突而不希望抛出异常时,可使用`INSERT IGNORE`语法。首先,创建`InsertIgnore`类继承`AbstractMethod`并定义`insertIgnore`方法及其SQL模板。接着,在自定义的`UltraBaseMapper`接口中声明`insertIgnore`方法,并让业务Mapper继承此接口。最后,通过`UltraSqlInjector`类将`InsertIgnore`方法注册到Mybatis-Plus插件中。
  • 08.01 11:56:18
    发表了文章 2024-08-01 11:56:18

    日志记录当前类和当前方法

    公司原有日志记录需手动输入类名与方法名,繁琐且易错。目标是开发工具类简化此过程。调研发现`Thread.currentThread().getStackTrace()`可获取调用栈信息,0号索引为该方法自身。在被调用的方法内,可通过访问1号索引获取所在类及方法名。为此,创建`CurClassAndMethodUtil`工具类,其`getCurClazzAndMethod`方法返回调用者的类名与方法名,解决手动输入问题。实际应用中,因多一层工具方法调用,需访问2号索引。最终实现自动化获取记录信息,提高效率。
  • 发表了文章 2024-12-25

    Java—多线程实现生产消费者

  • 发表了文章 2024-12-23

    Java多线程是什么

  • 发表了文章 2024-12-19

    Spring Boot 编写 API 的 10条最佳实践

  • 发表了文章 2024-12-17

    MySQL 窗口函数详解:分析性查询的强大工具

  • 发表了文章 2024-12-12

    Spring Boot 开发中的常见失误

  • 发表了文章 2024-12-10

    Java 11 的String是如何优化存储的?

  • 发表了文章 2024-12-06

    Java 异常处理:11 个异常处理最佳实践

  • 发表了文章 2024-12-04

    java 为什么 String 在 java 中是不可变的?

  • 发表了文章 2024-12-02

    Spring Boot集成MinIO

  • 发表了文章 2024-11-27

    Java 8 异步编程利器:CompletableFuture

  • 发表了文章 2024-11-25

    springboot解决跨域问题

  • 发表了文章 2024-11-21

    WebService客户端调用的5种常见方式

  • 发表了文章 2024-11-15

    Java设计模式:建造者模式详解

  • 发表了文章 2024-11-13

    Jackson反序列化不可变类

  • 发表了文章 2024-11-11

    mysql 的ReLog和BinLog区别

  • 发表了文章 2024-11-08

    go进阶编程:Golang中的文件与文件夹操作指南

  • 发表了文章 2024-11-06

    Go文件操作:掌握Go的文件读写与操作技巧

  • 发表了文章 2024-11-04

    Java基础(13)抽象类、接口

  • 发表了文章 2024-10-30

    MySQL主从复制原理和使用

  • 发表了文章 2024-10-28

    Java泛型是什么?

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息