avatar
文章
172
标签
157
分类
42

主页
文章
标签
分类
TranquilXuan
搜索
主页
文章
标签
分类

TranquilXuan

Integer.valueOf()对比Integer.parseInt()
发表于2024-11-08|后端Java|后端•Java
Java 中 Integer.valueOf() 和 Integer.parseInt() 的区别及实践在 Java 中,处理字符串与整数的转换时,Integer.valueOf() 和 Integer.parseInt() 是最常用的两个方法。 这两个方法虽然看似相似,但在实际使用中却有一些关键的区别。本文将详细讲解这两个方法的用法、内部实现及其不同之处,并结合实际示例来帮助大家更好地理解和使用。 方法定义和基本用法1. Integer.valueOf()方法定义: 12public static Integer valueOf(String s) throws NumberFormatException;public static Integer valueOf(int i); 用法: Integer.valueOf(String s):将字符串 s 转换为 Integer 对象。 Integer.valueOf(int i):将基本数据类型 int 转换为 Integer 对象。 示例: 12Integer num1 = Integer.valueOf("123 ...
ES 文档基本操作
发表于2024-09-27|后端中间件|后端•中间件•Elasticsearch
ES 文档基本操作添加文档模版: 12345678910POST /索引库名/_doc/文档id{ "字段1": "值1", "字段2": "值2", "字段3": { "子属性1": "值3", "子属性1": "值4" } // ......} 如果没有文档id,ES会随机生成一个 示例: 123456789POST /demo_index/_doc/1{ "demo_property_1":"test_content1_text", "demo_property_2":"test_content1_keyword", "demo_property_3":{ "demo_child_property ...
JsonNode API文档
发表于2024-09-27|后端数据处理|后端•数据处理
JsonNode API 文档概述JsonNode 是 Jackson 数据绑定库中的一个类,用于表示 JSON 数据的节点。它是 com.fasterxml.jackson.databind.JsonNode 包的一部分,提供了处理 JSON 数据的灵活接口。 主要特性 支持多种类型的 JSON 数据(对象、数组、字符串、数字、布尔值和 null)。 支持树状结构的动态访问和遍历。 提供类型安全的方法访问 JSON 数据。 创建 JsonNode从 JSON 字符串创建1JsonNode jsonNode = objectMapper.readTree("{\"key\":\"value\"}"); 从 Java 对象创建1JsonNode jsonNode = objectMapper.valueToTree(yourObject); 主要方法节点类型判断 boolean isObject()检查当前节点是否为 JSON 对象。 boolean isArray()检查当前节点是否为 JSON 数 ...
JsonNode详解
发表于2024-09-27|后端数据处理|后端•数据处理
JsonNode 详解com.fasterxml.jackson.databind.JsonNode.JsonNode 是 Jackson 库中表示 JSON 数据结构的核心类之一,属于 com.fasterxml.jackson.databind 包。 它用于以树状结构解析和处理 JSON 数据。 JsonNode 的基本特性 树状结构:JsonNode 可以表示 JSON 的各种类型,包括对象、数组、字符串、数字、布尔值和 null。 动态访问:支持动态访问 JSON 节点的属性和元素,可以方便地进行遍历和操作。 类型安全:虽然 JsonNode 是一个通用类型,但它提供了一些方法以确保对 JSON 数据的类型安全访问。 创建 JsonNodeJsonNode 主要通过 ObjectMapper 类创建。以下是一些常用的方法: 12345678910import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.JsonNode;ObjectMapper object ...
数据库表字符编码utf8和utf8mb4
发表于2024-09-26|后端数据库|后端•数据库•MySQL
数据库表编码:UTF-8 与 UTF8MB4 的区别及选择编码概述在数据库中,字符编码定义了如何存储和处理字符串数据。UTF-8 和 UTF8MB4 是 MySQL 中常用的字符编码,具有不同的特性和适用场景。 UTF-8 定义:UTF-8 是一种可变长度字符编码,使用 1 到 4 个字节表示一个字符。 范围:支持 Unicode 字符集的绝大多数字符,但不支持某些特殊字符(如某些表情符号)。 字节限制:在 MySQL 中,UTF-8 仅使用 1 到 3 个字节存储字符。 UTF8MB4 定义:UTF8MB4 是 UTF-8 的扩展,完整支持 Unicode,包括所有字符。 范围:除了基本的多语言字符外,还支持所有的 emoji 和其他非基本字符。 字节限制:使用 1 到 4 个字节表示一个字符。 主要区别 特性 UTF-8 UTF8MB4 最大字节数 3 字节 4 字节 支持的字符范围 不支持某些 emoji 支持所有 Unicode 字符 应用场景 多数语言文本 包含特殊符号、表情符号等的文本 实战中的选择在选择字符编码时,考虑以下因素: 数据类型和内容 ...
Spring事务管理的原理
发表于2024-09-26|后端Spring|后端•Spring
Spring事务管理的原理Spring 通过 AOP 实现声明式事务的机制是其事务管理的核心部分。 声明式事务和编程式事务的实现原理不同。 声明式事务的实现原理AOP(面向切面编程) 代理模式:Spring 使用 AOP 代理模式来实现声明式事务。具体而言,当你在服务方法上使用 @Transactional 注解时,Spring 会生成一个代理对象,该对象会拦截方法调用。 切面:切面是 AOP 的核心概念,包含了切点(定义在哪些方法上应用切面)和通知(在切点方法执行前、后或异常时执行的逻辑)。在事务管理中,切面会处理事务的开启、提交和回滚。 事务通知:当目标方法被调用时,代理会执行事务的前置逻辑(例如开启事务),然后调用目标方法。执行完毕后,代理会根据方法执行的结果(正常结束或抛出异常)决定是否提交或回滚事务。 具体流程 方法调用: 当调用标注了 @Transactional 的方法时,Spring 代理会拦截该调用。 事务开始: 代理会使用配置的事务管理器开始一个新事务。 执行目标方法: 代理调用实际的业务逻辑方法。 事务结束: 根据目标方法的执行结果(正 ...
未检查的异常
发表于2024-09-26|后端Java|后端•Java
未检查的异常未检查的异常(Unchecked Exception)是指在编译时不需要强制捕获或声明的异常。 在 Java 中,未检查的异常是 RuntimeException 类及其子类的实例,以及 Error 类及其子类的实例。 未检查的异常通常表示程序中的逻辑错误或不应当发生的情况。 主要特点 不需要显式处理:编译器不会强制要求在代码中捕获或声明这些异常。开发者可以选择处理这些异常,也可以不处理。 程序逻辑错误:未检查的异常通常表示程序内部的逻辑错误,例如访问数组的非法索引、空指针引用等。它们通常表示错误的程序设计。 运行时异常:未检查的异常通常在程序运行时发生,而不是在编译时。例如: NullPointerException ArrayIndexOutOfBoundsException ClassCastException 事务管理中的应用在 Spring 中,默认情况下,只有未检查的异常(如 RuntimeException)会导致事务回滚。这意味着: 如果方法执行中抛出未检查的异常,Spring 会自动回滚当前事务。 如果方法执行中抛出已检查的异常(如 IOEx ...
\@Value注解缺省值的细节
发表于2024-09-26|后端Spring|后端•Spring
@Value缺省值的细节使用 @Value 注解时,缺省值的一些细节包括: 格式:在 .properties 文件中,缺省值不需要用单引号包裹;在 YAML 文件中,可以使用单引号。 占位符:可以使用 ${} 来引用其他属性。 默认值语法:可以通过 :${defaultValue} 指定缺省值,例如:${some.property:defaultValue}。 类型转换:Spring 会自动根据目标字段类型进行类型转换。 异常处理:如果没有找到值且没有提供缺省值,可能会抛出异常。
事务传播的概念
发表于2024-09-24|后端Spring|后端•Spring
事务传播的概念概述 事务传播是指在执行数据库操作时,如何处理当前事务与外部事务之间的关系。 在多层架构或分布式系统中,事务传播机制可以确保数据的一致性和完整性。 Spring 框架提供了多种事务传播行为,帮助开发者灵活管理事务。 事务传播的意义 数据一致性:确保在不同的数据库操作中,数据的一致性得以保持,避免因事务未提交或回滚而导致的数据不一致。 灵活性:允许在不同的业务逻辑层次中定义事务的行为,以便在需要的情况下开启或使用现有的事务。 错误处理:在出现异常时,能够决定是回滚当前事务还是让外部事务负责,从而简化错误处理逻辑。 Spring 中的事务传播行为Spring 提供了七种事务传播行为,分别是: REQUIRED(默认行为): 如果当前存在事务,则加入该事务;如果不存在事务,则新建一个事务。 适用于大多数场景。 REQUIRES_NEW: 总是新建一个事务,即使当前存在事务也会暂停当前事务。 适用于需要独立事务的场景,如日志记录或审计功能。 NESTED: 如果当前存在事务,则在该事务中嵌套一个事务;如果不存在事务,则新建一个事务。 适用于需要部分 ...
\@ConditionalOnProperty 详解
发表于2024-09-24|后端Spring|后端•Spring
@ConditionalOnProperty 注解详解概述@ConditionalOnProperty 是 Spring Boot 提供的一个条件注解,用于根据特定的属性值来决定是否加载某个 Spring Bean。 它使得 Bean 的创建变得更加灵活,允许开发者根据配置的不同来控制 Bean 的注册。 作用 灵活配置:可以根据不同的环境或配置条件,选择性地启用或禁用某个 Bean。 提高模块化:使得应用程序能够更好地适应不同的需求,避免了在代码中硬编码条件逻辑。 使用方法基本用法使用 @ConditionalOnProperty 注解时,可以指定以下几个属性: **value/name**:要检查的属性名(必须是一个属性)。 **havingValue**:当属性值匹配时,条件成立,默认为 true。 **matchIfMissing**:如果指定的属性不存在,是否匹配,默认为 false。 示例假设我们有一个服务类 MyService,我们希望根据配置文件中的属性 app.service.enabled 来决定是否注册该 Bean。 1. 配置文件 在 appli ...
1…8910…18
avatar
TranquilXuan
潜龙勿用,或跃在渊
文章
172
标签
157
分类
42
分类
  • MySQL1
    • 数据库1
  • 业务认知27
    • 零售供应链27
  • 中间件5
    • 后端4
    • 数据库1
  • 博客搭建5
  • 后端73
    • Java12
    • MyBatis5
    • Spring21
    • 中间件8
    • 工具库2
    • 性能优化1
    • 数据处理3
    • 数据库20
      • 中间件2
    • 软件工程1
  • 工程实践4
    • DevOps3
    • 博客搭建1
  • 数据库19
    • Doris1
    • MySQL1
    • 中间件3
    • 后端7
    • 后端实战1
    • 大数据4
    • 缓存1
  • 数据库实战1
    • 大数据1
  • 数据架构1
  • 认知思考7
  • 读书笔记15
  • 软件工程7
    • UML1
    • 设计模式6
  • 运维1
    • 数据库1
  • 零售供应链6
    • 业务认知5
标签
可靠性 死锁 博客搭建 RabbitMQ 库存周转 零售 品类策略 零售供应链 在线变更 索引 库存周转率 数据生命周期 数据库 采购管理 事务 大数据 缓存策略 仓储配送 资源隔离 长尾爆款 Doris Bitmap索引 技术管理 商品深度 并发控制 业务认知 后端 进销存 缓存击穿 UML 类目层级 采购 存储引擎 MVCC 数据倾斜 品牌资源 数据库优化 成本 中间件 库存管理
归档
  • 十月 202613
  • 九月 202627
  • 八月 202631
  • 七月 20261
  • 一月 20253
  • 十二月 20245
  • 十一月 20241
  • 九月 202424
  • 八月 20245
  • 七月 202462
网站资讯
文章数目 :
172
已运行时间 :
本站总字数 :
33.2w
本站总访问量 :
最后更新时间 :
©2024 - 2026 By TranquilXuan
京ICP备2026046208号-1
搜索
数据库加载中