Java开发:从类与对象到业务系统

一个订单从创建到保存,涉及对象设计、集合操作、数据库访问与异常处理。沿着这样的业务流程学习Java,再深入多线程与JVM,逐步掌握后端程序的编写和排错方法。

阅读127
发布人iPython
发布时间2026-09-24
相关标签:
Java开发:从类与对象到业务系统

Java实现图深度优先搜索与路径查找算法详解

本文详细解析如何在Java中基于深度优先搜索(DFS)实现图的顶点间路径查找。通过构建标记数组和边追踪数组(edgeTo),记录搜索过程中的遍历路径,从而高效判断两点间是否存在通路并还原具体路径。文章提供完整的API设计思路、核心代码实现及测试用例,帮助开发者掌握这一基础且重要的图论算法。

Java实现图深度优先搜索与路径查找算法详解

Java Socket编程:获取远程与本地IP及端口信息实例

本文介绍在Java网络编程中,如何分别通过ServerSocket监听连接以及Socket建立连接后,获取服务器端与客户端的IP地址和端口号。通过ServerSocketFrame和ClientSocketFrame两个示例类,演示使用getInetAddress、getPort等方法提取网络通信中的地址信息,适用于聊天室或即时通讯应用的基础开发需求。

Java Socket编程:获取远程与本地IP及端口信息实例

Java 线程池原理:从 Thread.start() 到工作循环

分析 Java 线程的执行机制与生命周期,解释频繁创建线程带来的用户态到内核态切换开销。通过 Thread 的 start0 native 方法揭示线程本质是执行一个函数后退出。阐述线程池通过 while 循环复用线程并阻塞等待任务队列的核心原理,为后续深入实现打下基础。

Java 线程池原理:从 Thread.start() 到工作循环

C语言 qsort 函数用法详解与模拟实现

本文详解C语言标准库函数qsort的用法,涵盖整型、字符串、浮点数及结构体的排序技巧。通过自定义比较函数解决通用排序问题,并提供基于冒泡思想的通用排序模拟实现,帮助深入理解指针操作与泛型编程原理。

Spring Boot YAML配置文件语法详解与数据读取

本文详细介绍Spring Boot中YAML配置文件的语法规则,涵盖字面量、对象、数组及复合结构的书写方式。重点解析使用 @ConfigurationProperties 和 @Value 注解读取各类配置数据的技巧,包括字符串转义、Map集合引用及多文档环境切换,帮助开发者规范使用YAML进行项目配置管理。

Spring Boot YAML配置文件语法详解与数据读取

Java使用RestHighLevelClient操作Elasticsearch的基础教程

本文介绍在Java项目中通过Spring Boot配置并使用RestHighLevelClient连接Elasticsearch进行索引创建、删除、查询及文档增删改查的基本操作。重点解析高版本Spring Boot依赖冲突的解决方法,并指出该客户端在当前Elasticsearch 8.x环境中的兼容性问题及迁移建议。

Java使用RestHighLevelClient操作Elasticsearch的基础教程

SpringBoot自定义MessageConverter与内容协商管理器详解

本文详细介绍了在Spring Boot中如何自定义HttpMessageConverter以返回特定格式的响应数据,并通过配置contentNegotiationManager支持通过URL参数进行媒体类型协商。通过实现WebMvcConfigurer接口,可以优雅地扩展默认的转换器,解决默认仅支持JSON和XML的问题,实现在Postman和浏览器中均能获取自定义格式(如分号拼接字符串)的响应。

SpringBoot自定义MessageConverter与内容协商管理器详解

Java多线程:使用Lock解决售票并发安全问题

本文通过模拟窗口售票场景,分析Java多线程环境下的数据竞争问题。重点讲解如何使用 java.util.concurrent.locks.ReentrantLock 替代传统 synchronized 关键字,演示了加锁、异常安全释放(finally块)以及手动控制锁时机的完整流程,帮助开发者掌握更灵活的并发控制手段。

Java多线程:使用Lock解决售票并发安全问题

Java中字节单位与KB/MB/GB互转的常用方法

本文介绍了Java中将字节数(Bytes)转换为KB、MB、GB等单位的两种常见实现方式。通过DecimalFormat格式化输出直观展示文件大小,或利用BigDecimal构建工具类进行高精度的双向换算,适用于文件下载、存储管理等业务场景。