Fork me on GitHub
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 35 下一页
摘要: 我们工作中写SQL处理数据是家常便饭,不管是应用内数据处理还是临时查询分析都可以用SQL完成,相对其他技术(如Java等高级语言)也更简单。不过,SQL的简单只限于简单需求,有些复杂计算场景SQL写起来却很难,嵌套N层以至于达到几百上千行,说SQL代码长度时通常不会以行计而是以KB计。这种情况并不少 阅读全文
posted @ 2023-01-17 15:53 磊哥|www.javacn.site 阅读(323) 评论(0) 推荐(0)
摘要: 开源分析数据库ClickHouse以快著称,真的如此吗?我们通过对比测试来验证一下。 ClickHouse vs Oracle 先用ClickHouse(简称CH)、Oracle数据库(简称ORA)一起在相同的软硬件环境下做对比测试。测试基准使用国际广泛认可的TPC-H,针对8张表,完成22条SQL 阅读全文
posted @ 2022-12-15 13:30 磊哥|www.javacn.site 阅读(401) 评论(0) 推荐(0)
摘要: 很多数据仓库产品都采用了列式存储。如果数据表的总列数很多而计算涉及的列很少,采用列存就只读取需要的列即可,能够减少硬盘访问量,提高性能。特别是数据量非常大时,硬盘扫描和读取的时间占比很大,这时候列存的优势会很明显。 那么,是不是只要用了列存就一定能做到性能最佳呢?我们来看看,列式存储在哪些方面还可以 阅读全文
posted @ 2022-11-10 09:42 磊哥|www.javacn.site 阅读(190) 评论(0) 推荐(0)
摘要: 前段时间的俄乌冲突,Oracle宣布“暂停在俄罗斯的所有业务”,相信大家的心情绝不是隔岸观火,而是细思恐极。 数据库号称IT领域三大核心之一(其他两个是CPU和操作系统),一直以来都被国际巨头垄断,人家控制着核心,想什么时候锁喉就什么时候锁,你一点办法都没有。 现在解决这个问题的办法只能是自强,将数 阅读全文
posted @ 2022-10-24 22:19 磊哥|www.javacn.site 阅读(362) 评论(0) 推荐(0)
摘要: MD5 是 Message Digest Algorithm 的缩写,译为信息摘要算法,它是 Java 语言中使用很广泛的一种加密算法。MD5 可以将任意字符串,通过不可逆的字符串变换算法,生成一个唯一的 MD5 信息摘要,这个信息摘要也就是我们通常所说的 MD5 字符串。那么问题来了,MD5 加密 阅读全文
posted @ 2022-10-18 20:30 磊哥|www.javacn.site 阅读(2507) 评论(22) 推荐(3)
摘要: 过滤器(Filter)和拦截器(Interceptor)都是基于 AOP(Aspect Oriented Programming,面向切面编程)思想实现的,用来解决项目中某一类问题的两种“工具”,但二者有着明显的差距,接下来我们一起来看。 实现过滤器和拦截器 首先,我们先来看一下二者在 Spring 阅读全文
posted @ 2022-10-16 19:24 磊哥|www.javacn.site 阅读(2338) 评论(0) 推荐(3)
摘要: 事务隔离级别和事务传播机制都是对事务行为的规范,但二者描述的侧重点却不同。本文这里所说的事务隔离级别和事务传播机制指的是 Spring 框架中的机制。 1、事务隔离级别 事务隔离级别是对事务 4 大特性中隔离性的具体体现,使用事务隔离级别可以控制并发事务在同时执行时的某种行为。 比如,有两个事务同时 阅读全文
posted @ 2022-10-09 20:41 磊哥|www.javacn.site 阅读(1016) 评论(0) 推荐(2)
摘要: 加入事务和嵌套事务是指在 Spring 事务传播机制中的加入事务(REQUIRED)和嵌套事务(NESTED)的区别,二者看似很像,实则截然不同,那么它们有什么区别呢?接下来我们一起来看。 Spring 事务传播机制是指,包含多个事务的方法在相互调用时,事务是如何在这些方法间传播的,Spring 事 阅读全文
posted @ 2022-10-07 17:06 磊哥|www.javacn.site 阅读(1008) 评论(0) 推荐(2)
摘要: Spring 事务传播机制是指,包含多个事务的方法在相互调用时,事务是如何在这些方法间传播的。 既然是“事务传播”,所以事务的数量应该在两个或两个以上,Spring 事务传播机制的诞生是为了规定多个事务在传播过程中的行为的。比如方法 A 开启了事务,而在执行过程中又调用了开启事务的 B 方法,那么 阅读全文
posted @ 2022-09-27 20:28 磊哥|www.javacn.site 阅读(13723) 评论(1) 推荐(6)
摘要: 在 Spring Boot 中,造成事务不自动回滚的场景有很多,比如以下这些: 非 public 修饰的方法中的事务不自动回滚; 当 @Transactional 遇上 try/catch 事务不自动回滚; 调用类内部的 @Transactional 方法事务不自动回滚; 抛出检查异常时事务不自动回 阅读全文
posted @ 2022-09-25 21:00 磊哥|www.javacn.site 阅读(973) 评论(0) 推荐(0)
摘要: 导致 @Transactional 失效的常见场景有以下 5 个: 非 public 修饰的方法; timeout 超时时间设置过小; 代码中使用 try/catch 处理异常; 调用类内部的 @Transactional 方法; 数据库不支持事务。 很多人只知道答案但不知道原因,这就像只谈恋爱不结 阅读全文
posted @ 2022-09-20 20:33 磊哥|www.javacn.site 阅读(331) 评论(0) 推荐(0)
摘要: Spring 中的事务隔离级别和数据库中的事务隔离级别稍有不同,以 MySQL 为例,MySQL 的 InnoDB 引擎中的事务隔离级别有 4 种,而 Spring 中却包含了 5 种事务隔离级别。 1.什么是事务隔离级别? 事务隔离级别是对事务 4 大特性中隔离性的具体体现,使用事务隔离级别可以控 阅读全文
posted @ 2022-09-18 20:49 磊哥|www.javacn.site 阅读(2718) 评论(0) 推荐(1)
摘要: 一个程序中不可能没有事务,而 Spring 中,事务的实现方式分为两种:编程式事务和声明式事务,又因为编程式事务实现相对麻烦,而声明式事务实现极其简单,所以在日常项目中,我们都会使用声明式事务 @Transactional 来实现事务。 @Transactional 使用极其简单,只需要在类上或方法 阅读全文
posted @ 2022-09-14 19:44 磊哥|www.javacn.site 阅读(907) 评论(0) 推荐(2)
摘要: 在 Spring Boot 中操作事务有两种方式:编程式事务或声明式事务,接下来我们一起来看二者的具体实现。 1.编程式事务 在 Spring Boot 中实现编程式事务又有两种实现方法: 使用 TransactionTemplate 对象实现编程式事务; 使用更加底层的 TransactionMa 阅读全文
posted @ 2022-09-12 21:00 磊哥|www.javacn.site 阅读(835) 评论(0) 推荐(0)
摘要: 跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。 但这个保护机制也带来了新的问题,它的问题是给不同站点之间的正常调用,也带来的阻碍,那怎么解决这个问题呢?接下来我们一起来看。 1.跨域三种情况 在 阅读全文
posted @ 2022-09-07 20:52 磊哥|www.javacn.site 阅读(9924) 评论(0) 推荐(1)
摘要: Java 中的公共类称之为 Bean 或 Java Bean,而 Spring 中的 Bean 指的是将对象的生命周期,交个 Spring IoC 容器来管理的对象。所以 Spring 中的 Bean 对象在使用时,无需通过 new 来创建对象,只需要通过 DI(依赖注入),从 Spring 中取出 阅读全文
posted @ 2022-09-05 20:49 磊哥|www.javacn.site 阅读(7109) 评论(0) 推荐(4)
摘要: Spring 框架作为一个管理 Bean 的 IoC 容器,那么 Bean 自然是 Spring 中的重要资源了,那 Bean 的作用域是什么意思?又有几种类型呢?接下来我们一起来看。 PS:Java 中的公共类可称之为 Bean 或 Java Bean。 1.作用域 Bean 的作用域是指 Bea 阅读全文
posted @ 2022-08-31 09:26 磊哥|www.javacn.site 阅读(1575) 评论(1) 推荐(1)
摘要: Spring Cloud Alibaba 是阿里巴巴提供的一站式微服务开发解决方案,目前已被 Spring Cloud 官方收录。而 Nacos 作为 Spring Cloud Alibaba 的核心组件之一,提供了两个非常重要的功能:注册中心和配置中心,我们今天来了解和实现一下二者。 1.Naco 阅读全文
posted @ 2022-08-30 20:47 磊哥|www.javacn.site 阅读(1812) 评论(0) 推荐(3)
摘要: @Autowired 和 @Resource 都是 Spring/Spring Boot 项目中,用来进行依赖注入的注解。它们都提供了将依赖对象注入到当前对象的功能,但二者却有众多不同,并且这也是常见的面试题之一,所以我们今天就来盘它。 @Autowired 和 @Resource 的区别主要体现在 阅读全文
posted @ 2022-08-29 08:38 磊哥|www.javacn.site 阅读(1082) 评论(0) 推荐(2)
摘要: Spring Cloud Alibaba 是阿里巴巴提供的一站式微服务开发解决方案,目前已被 Spring Cloud 官方收录。而 Nacos 作为 Spring Cloud Alibaba 的核心组件之一,提供了两个非常重要的功能:服务注册中心(服务注册和发现)功能,和统一配置中心功能。 Nac 阅读全文
posted @ 2022-08-28 22:24 磊哥|www.javacn.site 阅读(971) 评论(1) 推荐(2)
摘要: IoC 和 DI 是 Spring 中最重要的两个概念,其中 IoC(Inversion of Control)为控制反转的思想,而 DI(Dependency Injection)依赖注入为其(IoC)具体实现。那么 DI 实现依赖注入的方式有几种?这些注入方式又有什么不同?接下来,我们一起来看。 阅读全文
posted @ 2022-08-24 08:38 磊哥|www.javacn.site 阅读(2272) 评论(0) 推荐(2)
摘要: ${} 和 #{} 都是 MyBatis 中用来替换参数的,它们都可以将用户传递过来的参数,替换到 MyBatis 最终生成的 SQL 中,但它们区别却是很大的,接下来我们一起来看。 1.功能不同 ${} 是将参数直接替换到 SQL 中,比如以下代码: <select id="getUserById 阅读全文
posted @ 2022-08-23 08:44 磊哥|www.javacn.site 阅读(1910) 评论(0) 推荐(5)
摘要: Spring Boot 中读取配置文件有以下 5 种方法: 使用 @Value 读取配置文件。 使用 @ConfigurationProperties 读取配置文件。 使用 Environment 读取配置文件。 使用 @PropertySource 读取配置文件。 使用原生方式读取配置文件。 它们 阅读全文
posted @ 2022-08-17 08:51 磊哥|www.javacn.site 阅读(1223) 评论(0) 推荐(5)
摘要: properties 和 yml 都是 Spring Boot 支持的两种配置文件,它们可以看作是 Spring Boot 在不同时期的两款“产品”。在 Spring Boot 时代已经不需要使用 XML 文件格式来配置项目了,取而代之的是 properties 或 yml 文件。 properti 阅读全文
posted @ 2022-08-15 08:43 磊哥|www.javacn.site 阅读(1347) 评论(0) 推荐(3)
摘要: IoC 和 DI 都是 Spring 框架中的重要概念,就像玫瑰花与爱情一样,IoC 和 DI 通常情况下也是成对出现的。那 IoC 和 DI 什么关系和区别呢?接下来,我们一起来看。 1.IoC 介绍 IoC 是 Inversion of Control 的缩写,翻译成中文是“控制反转”的意思,它 阅读全文
posted @ 2022-08-10 08:40 磊哥|www.javacn.site 阅读(1148) 评论(3) 推荐(1)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 35 下一页