简单排序算法

冒泡排序

冒泡排序是一种交换类排序算法。它的核心思想是通过重复走访要排序的数列,依次比较相邻的两个元素。如果它们的顺序错误(比如前面的比后面的大),就交换过来。就像水底的气泡一样,越大的元素会经由交换慢慢 “浮” 到数列的顶端。冒泡排序虽然在处理大规模乱序数据时效率较低,但它具有实现简单、不占额外内存且保持顺序稳定的优点。它是理解算法思维、循环控制逻辑以及 “空间换时间” 优化理念的最佳入门案例。

Maven资源文件的打包与过滤

默认打包测试

根据 Maven 的默认项目结构,资源文件放置在 src/main/resources 中,测试的资源文件在 src/test/resources 中。放置在 src/main/resources 中的资源文件默认会被打包进 jar 中。

注:如果配置文件放置在src/main/resources 下,则默认打包后该配置文件位于jar包的根目录下;

如果配置文件放置在src/main/resources/aaa 下,则默认打包后该配置文件位于jar包的根目录下的/aaa目录下;

如果配置文件放置在src/main/resources/META-INF 下,则默认打包后该配置文件位于jar包的根目录下的 /META-INF目录下;

JDBC核心技术

JDBC概述

数据的持久化

持久化(persistence):

把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。在Java中,数据库存取技术可分为如下几类:

  • JDBC直接访问数据库
  • JDO (Java Data Object )技术
  • 第三方O/R工具,如Hibernate, Mybatis 等

JDBC是java访问数据库的基石,JDO、Hibernate、MyBatis等只是更好的封装了JDBC。


分布式事务

分布式事务

啥是事务

数据库事务(简称事务)是数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。

如商品订单逻辑:

  • 查询商品的库存
  • 扣减商品的库存
  • 生成订单