
java开发经验
文章平均质量分 94
专栏聚焦Java开发实战,涵盖基础知识、面向对象设计、并发编程、性能优化及主流框架(如Spring、MyBatis)应用,深入解析分布式系统架构与项目案例。以实用性为导向,通过代码示例帮助开发者解决实际问题,提升编程能力。同时分享职业规划、技术面试技巧及行业趋势,助力工程师成长。
庄小焱
我是庄小焱,某大厂Java高级工程师、PMP项目管理专家、系统架构设计师(高级)、优快云博文专家。博主在支付交易领域,信贷金融领域、机器学习模型算法领域深耕,我在博客中分享业务、技术、产品相关知识,欢迎大家和我交流学习。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java开发经验——阿里巴巴编码规范实践解析10
这篇文章主要介绍了阿里巴巴Java开发的编码规范实践解析,重点聚焦于系统设计规范。文中强调了存储方案和底层数据结构设计的重要性,指出其需要经过严格评审并形成文档。同时,详细阐述了设计与评审流程,包括设计方案初稿、建模设计文档等阶段,并明确了各阶段的责任人。此外,还列举了多个强制或推荐的系统设计规范,如使用用例图、状态图、时序图等来表达复杂需求和关系,以及在设计阶段遵循单一原则、依赖倒置原则等,旨在提高系统的可扩展性、可维护性和稳定性。原创 2025-05-31 09:21:07 · 1214 阅读 · 0 评论 -
Java开发经验——阿里巴巴编码规范实践解析9
这篇文章主要介绍了阿里巴巴Java开发中关于远程调用超时设置、线程池隔离、服务器性能优化等编码规范的实践解析。强调了超时设置的重要性,提供了多种技术栈的超时设置示例。同时,探讨了高并发服务器的TCP协议time_wait超时时间调优、最大文件句柄数调整、JVM参数优化等实践。还涉及了线程池隔离的必要性及实现方式,以及服务器重定向的规范和线程池管理的解决方案。原创 2025-05-31 05:05:00 · 714 阅读 · 0 评论 -
Java开发经验——阿里巴巴编码规范实践解析8
本文主要介绍了阿里巴巴编码规范在Java开发中的实践解析,强调了在表查询中不使用“*”作为查询字段列表的重要性,指出其会增加查询分析成本、浪费网络传输资源、降低可维护性、不利于缓存且存在安全隐患。同时,还提出了正例推荐写法,包括明确指定查询字段、在不同框架中的体现以及最佳实践建议。此外,还涉及了POJO类布尔属性命名规范、resultMap的使用、sql.xml配置参数的规范、数据更新接口的规范、事务的合理使用、分层结构推荐、异常处理规约以及分层领域模型规约等内容,旨在帮助Java开发者更好地遵循编码规范,原创 2025-05-29 23:39:14 · 1075 阅读 · 0 评论 -
Java开发经验——阿里巴巴编码规范实践解析7
本文主要解析了阿里巴巴 Java 开发中的 SQL 编码规范,涉及 SQL 查询优化、索引建立、字符集选择、分页查询处理、外键与存储过程的使用等多个方面,旨在帮助开发者提高代码质量和数据库操作性能,避免常见错误和性能陷阱。原创 2025-05-29 22:44:51 · 935 阅读 · 0 评论 -
Java开发经验——阿里巴巴编码规范实践解析6
本文深入解析了阿里巴巴编码规范在数据库设计和Java开发中的实践应用。详细阐述了数据库字段命名、类型选择、索引命名等规范,以及Java POJO类的对应规范。强调了字段命名的重要性,如布尔字段命名规则、表名和字段名的命名禁忌等。同时,介绍了主键、唯一索引和普通索引的区别,以及小数类型和字符串类型的选择建议。还提出了表设计的必备字段、逻辑删除操作、表命名规则、字段注释更新、冗余字段使用、分库分表等最佳实践。原创 2025-05-29 21:37:50 · 809 阅读 · 0 评论 -
Java开发经验——阿里巴巴编码规范实践解析5
这篇文章主要介绍了阿里巴巴Java开发规范中关于安全和性能优化的实践解析。内容涵盖了配置文件密码加密、用户输入内容风控、SQL注入防护、参数有效性验证、XSS攻击防护、CSRF安全验证、文件上传安全检查、防重放机制等多个方面,通过正反示例和推荐做法,为Java开发者提供了详细的安全开发指导。原创 2025-05-29 17:53:04 · 1168 阅读 · 0 评论 -
Java开发经验——异常处理方案设计
文章主要探讨了 Java 开发中 Throwable 和 Exception 的异常处理方式。阿里巴巴 Java 开发手册规定,RPC 调用、二方包、动态代理类等场景推荐使用 Throwable,因为这些场景可能会出现类似 NoClassDefFoundError 这样的严重错误,使用 Throwable 可以防止遗漏。原创 2025-03-19 23:48:19 · 1213 阅读 · 0 评论 -
Java开发经验——阿里巴巴编码规范实践解析4
本文主要介绍了阿里巴巴编码规范中关于日志处理的相关实践解析。强调了使用日志框架(如 SLF4J、JCL)而非直接使用日志系统(如 Log4j、Logback)的 API 的重要性,包括解耦日志实现、统一日志调用方式等好处。同时,还涉及了日志文件的保存规范、扩展日志的命名方式、日志输出时字符串拼接的占位符方式、日志级别的开关判断以及避免重复打印日志等多方面的内容,旨在提升日志系统的可维护性、性能和合规性。原创 2025-05-28 08:52:38 · 1105 阅读 · 0 评论 -
Java开发经验——阿里巴巴编码规范实践解析3
这篇文章主要介绍了DDD(领域驱动设计)项目中不同类型的对象(如VO、BO、DO、DTO等)的定义、职责以及它们分别适合放置在哪些应用层。同时,还涉及了DDD项目中Domain层设计的主要组成部分、设计要点以及电商系统中的Domain层设计案例等内容。原创 2025-05-18 23:23:47 · 798 阅读 · 0 评论 -
Java开发经验——阿里巴巴编码规范实战解析2
文章总结了Java开发中阿里巴巴编码规范的核心经验,重点包括:避免使用Apache BeanUtils进行属性复制,推荐使用Spring BeanUtils、Hutool BeanUtil、MapStruct或手动赋值;不应在视图模板中加入复杂逻辑运算,明确MVC架构各层职责;数据结构初始化时应指定大小,以避免内存溢出;正则表达式应预编译以提高性能;不应通过catch处理可通过预检查规避的RuntimeException异常;finally块中必须正确关闭资源;防止空指针异常(NPE)是程序员的基本修养,需原创 2025-05-11 23:47:15 · 1120 阅读 · 0 评论 -
Java开发经验——阿里巴巴编码规范实战解析1
这篇文章探讨了Java开发中关于对象比较、数据类型比较、数据库字段类型选择、RPC参数类型、并发控制、版本控制等编码规范实践。重点分析了Objects.equals()方法的使用场景及其局限性,包括基本类型与自动装箱问题、数组内容比较问题以及自定义对象未正确重写equals方法的情况。同时,还讨论了浮点数比较、数据库字段类型对应、RPC参数类型选择、并发修改记录的锁机制以及接口版本控制等关键点。原创 2025-05-03 21:59:00 · 1064 阅读 · 0 评论 -
Java开发经验——系统迁移经验
本文概述了系统迁移的关键步骤和通用方案,包括需求分析、数据迁移、系统集成、业务连续性、用户迁移等,并讨论了迁移过程中可能遇到的挑战及应对措施,最后针对不同规模和类型的系统提供了适用的迁移策略。原创 2024-12-24 21:14:13 · 1665 阅读 · 0 评论 -
Java开发经验——日志治理经验
本文主要介绍了Java开发中的日志治理经验,包括系统异常日志、接口摘要日志、详细日志和业务摘要日志的定义和目的,以及错误码规范和异常处理规范。强调了日志治理的重要性和如何通过规范化错误码和日志格式来提高系统可观测性和问题排查效率。原创 2024-12-21 23:35:23 · 1187 阅读 · 0 评论 -
Java开发经验——数据库开发经验
本文主要介绍了Java开发中的数据库操作规范,包括数据库建表规范、索引规约、SQL规范和ORM规约。强调了在数据库设计和操作中应遵循的最佳实践,如字段命名、数据类型选择、索引创建、SQL语句编写和ORM映射,旨在提高数据库操作的性能和安全性。原创 2024-12-21 21:42:25 · 984 阅读 · 0 评论 -
Java开发经验——Java泛型原理与示例
本文介绍了Java泛型的概念和使用。泛型允许在编译时进行类型检查,避免运行时错误和强制类型转换。文章通过代码示例展示了泛型类的定义和使用,强调了泛型在静态类型检查中的优势。解释了Java泛型的类型擦除机制,即编译器将泛型类型替换为原生类型,以保持向后兼容性。同时,讨论了泛型的多态性和桥接方法,以及泛型中不能使用基本类型、不能实例化泛型类型等限制。最后,文章还探讨了泛型在异常处理中的应用。原创 2024-12-01 09:48:25 · 1164 阅读 · 0 评论 -
Java开发经验——SpringRestTemplate常见错误
本文分析了在使用Spring框架的RestTemplate发送表单请求时遇到的常见错误。主要问题在于将表单参数错误地以JSON格式提交,导致服务器无法正确解析参数。文章提供了错误案例的分析,并提出了修正方法。原创 2024-11-24 13:00:42 · 1341 阅读 · 0 评论 -
Java开发经验——接口设计
本文主要讨论了Java接口设计中的几个关键点,包括异常处理、自动包装响应体、自定义注解@NoAPIResponse的使用,以及接口版本控制策略。文章强调了接口响应的明确性、版本控制的重要性,并提出了接口处理方式的同步与异步选择。原创 2024-11-23 14:16:25 · 1455 阅读 · 0 评论 -
Java开发经验——系统日志问题
本文讨论了Java开发中的系统日志设置问题,特别是性能优化。文章分析了使用占位符记录slowString的耗时问题,并提出了使用lambda表达式和Log4j2 API来延迟参数内容获取,以解决性能问题。同时,文章还提到了SLF4J适配器的好处,即允许使用不同日志框架而保持代码的一致性。原创 2024-11-23 09:33:39 · 666 阅读 · 0 评论 -
Java开发经验——Java开发常用工具类实战总结
本文介绍了Java开发中常用的工具类,包括Apache Commons Collections的SetUtils、Google Guava的Sets、Apache Commons Lang的ArrayUtils等,以及它们在集合操作、数组操作、字符串处理、JSON处理等方面的应用。文章还涉及了Optional类、Money工具类、JDK流式函数等,旨在提高Java开发效率和代码质量。原创 2024-11-20 09:00:09 · 1428 阅读 · 0 评论 -
Java开发经验——JDK工具类的安全问题
本文探讨了Java开发中JDK工具类的安全问题,重点分析了不同工具类(包括Java自带的Objects工具类、Apache Commons Lang、Guava和Spring Framework的ObjectUtils)在比较对象相等性时的使用方法和优势。同时,文章还涉及了Integer类型拆箱与封箱、Lombok代码生成异常、计算精度问题、List集合类问题和异常处理问题等多个Java开发中的常见问题。原创 2024-11-20 23:17:55 · 953 阅读 · 0 评论 -
Java开发经验——线程池的安全问题
本文探讨了线程池和连接池的安全问题,包括线程池的声明、管理策略、复用性、混用策略以及CallerRunsPolicy策略可能导致的程序阻塞问题。同时,文章还讨论了连接池的鉴别、复用性和配置问题。原创 2024-11-18 23:26:17 · 1231 阅读 · 0 评论 -
Java开发经验——并发工具类库线程安全问题
本文探讨了Java并发工具类库中的线程安全问题,特别是ThreadLocal导致的用户信息错乱异常场景。文章通过一个Spring Boot Web应用程序示例,展示了在Tomcat线程池环境下,ThreadLocal如何因线程重用而导致异常,并讨论了其他并发工具类的线程安全问题,包括ConcurrentHashMap、computeIfAbsent方法、CopyOnWrite性能问题以及List线程安全方案。原创 2024-11-17 09:22:25 · 1323 阅读 · 0 评论 -
Java开发经验——HTTP调用超时、重试、并发问题
本文探讨了Java中HTTP调用的超时、并发和重试问题。强调了合理设置超时参数的重要性,包括连接超时和读取超时,并讨论了超时参数配置的常见误区。同时,分析了服务端接口幂等性对请求重试的影响,以及并发连接数限制对服务性能的潜在影响。原创 2024-11-19 22:52:40 · 1771 阅读 · 0 评论 -
Java开发经验——Spring声明式事务问题
Spring 针对 Java Transaction API (JTA)、JDBC、Hibernate 和 Java Persistence API (JPA) 等事务 API,实现了一致的编程模型,而 Spring 的声明式事务功能更是提供了极其方便的事务配置方式,配合 Spring Boot 的自动配置,大多数 Spring Boot 项目只需要在方法上标记 @Transactional 注解,即可一键开启方法的事务性配置。原创 2024-11-20 22:41:23 · 679 阅读 · 0 评论 -
Java开发经验——Spring Test 常见错误
本文详细介绍了Java开发中Spring Test的常见错误和解决方案。文章首先概述了Spring中进行单元测试的多种方法,包括使用JUnit和Spring Boot Test进行集成测试,以及Mockito进行单元测试。接着,文章分析了Spring资源文件扫描不到的问题,并提供了解决方案。最后,文章探讨了Spring的Mock问题,包括Spring Context启动缓慢的原因和优化方法。原创 2024-11-24 11:33:28 · 888 阅读 · 0 评论