一、简介使用Mybatis有一段时间了,但是一直没有专门去阅读MyBatis框架的源码,Mybatis是一个非常值得我们去阅读的框架,源码里面运用了很多常见的设计模式,如构建者模式、代理模式、模板方法模式等等,都值得我们去学习和借鉴。下面我们就以搭建一个源码阅读环境开始,一起来看看Mybatis的源码。MyBatis 是一款优秀的持久层框架,它支持自定义 S ......
194
0
0
2024-02-21
引言在分布式系统中,分布式锁、分布式ID和分布式事务是常用的组件,用于解决并发控制、唯一标识和数据一致性的问题。本文将介绍Java中常用的分布式锁、分布式ID和分布式事务的实现方案,并通过具体的示例代码演示它们的用法和应用场景。分布式锁的实现方案分布式锁用于协调多个节点对共享资源的访问,确保在并发环境中数据的一致性。以下是Java中常用的分布式锁的实现方案: ......
183
0
0
2024-02-21
第十四章 java中的daemon threadjava中有两种类型的 thread ,user threads 和 daemon threads。User threads是高优先级的thread,JVM将会等待所有的User Threads运行完毕之后才会结束运行。daemon threads是低优先级的 Thread ,它的作用是为User Thread ......
199
0
0
2024-02-19
栈长在之前的文章分享过关于 Spring Boot 打包运行的两篇文章: 运行 Spring Boot 应用的 3 种方式 Spring Boot 怎么打一个可执行 Jar 包? 不过一直没机会对 Spring Boot Maven 插件做详细介绍。 Spring Boot 对 Maven 一直支持很友好,栈长也一直在用 Maven 进行依赖和项目管理,那么 ......
239
0
0
2024-02-19
幻方 (Magic Square)是一种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法。 幻方也是一种中国传统游戏。旧时在官府、学堂多见。它是将从一到若干个数的自然数排成纵横各为若干个数的正方形,使在同一行、同一列和同一对角线上的几个数的和都相等。 三阶幻方 ​本篇主聊高阶幻方 构造方法 的java实现数据结构:以二维数组存放数字例: ......
207
0
0
2024-02-19
简要说明Log4j是Apache下的一款开源的日志框架,使用 Log4J,可以控制日志信息输出到控制台、文件、甚至是数据库中。也可以控制每一条日志的输出格式,通过定义日志的输出级别,可以更灵活的控制日志的输出过程以及方便项目的调试。操作步骤配置maven依赖<!-- log4j2的依赖--> <dependency&gt ......
201
0
0
2024-02-18
Spring事务管理是一个非常重要的功能,但在实际操作中,可能会出现事务失效的情况。本文将简要介绍导致Spring事务失效的八大原因,帮助开发者在实际操作中避免这些问题,并且这个问题对于面试中,面试如果要深入面试,经常也会问,事务失效有哪些原因。1)数据库引擎不支持事务 MySQL 为例,其 MyISAM 引擎是不支持事务操作的,InnoDB 才是 ......
177
0
0
2024-02-18
Java 中的泛型提供了一种创建可以处理不同类型数据的可重用代码的方法。它允许用户定义可操作各种数据类型的类、接口和方法,而无需牺牲类型安全性。在 Java 5 中引入的泛型已经成为 Java 编程语言的一个基本特性。在 Java 引入泛型之前,它使用原始类型来允许将各种类型的对象存储在集合中。然而,这种做法存在着类型安全性不足的问题,经常导致运行时错误,也 ......
209
0
0
2024-02-15
1. 概述1.1. Yarn基本概念YARN(Yet Another Resource Negotiator)是Hadoop 2.x的一个计算框架,旨在解决Hadoop 1.x中的资源管理和任务调度问题。它的主要目的是将MR1 JobTracker 的两个主要功能(资源管理和作业调度/监控)分离,以便更好地支持多种应用程序,而不是仅支持MapReduce。Y ......
233
0
0
2024-02-14
在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下 Spring Boot 中时间格式化的几种方法。 时间问题演示 为了方便演示,我写了一个简单 Spring Boot 项目,其中数据库中包含了一张 userinfo 表,它的组成结构和数据信息如下: 项目目录是这样的: UserController 实现代码如下: ......
232
0
0
2024-02-13
一、前言一个信息系统缺少不了信息安全模块,今天就带着大家全面了解并学习一下信息安全中的 密码学 知识,本文将会通过案例展示让你了解抽象的密码学知识,阅读本文你将会有如下收获: 熟悉现代密码学体系包含的主流密码技术 掌握Base64和Hex编码技术的特性与使用案例 掌握对称密码和非对称密码的特性与使用案例 掌握混合密码系统和随机数的特征与使用案例 二、关于密码 ......
182
0
0
2024-02-13
序本文主要研究一下spring事务的REQUIRES_NEWTransactionDefinitionorg/springframework/transaction/TransactionDefinition.java /** * Create a new transaction, suspending the current transaction ......
202
0
0
2024-02-13
一、什么是装饰模式装饰模式是一种设计模式,属于结构型模式之一。在 Java 中,装饰模式通过动态地将责任附加到对象上,以扩展其功能,它提供了一种比继承更灵活的方式来扩展对象的功能。在装饰模式中,有一个基础对象(被装饰对象)和一系列装饰器(装饰对象)。装饰器和基础对象实现同一个接口,这样它们可以相互替换。装饰器包含一个基础对象的引用,并将新的功能添加到基础对象 ......
202
0
0
2024-02-11
一、什么是适配者模式适配器模式是一种结构性设计模式,它将一个类的接口转换成客户端所期望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的类能够协同工作。在Java中适配器模式通常分为两种类型:类适配器和对象适配器。类适配器:类适配器通过多重继承实现,适配器类同时继承目标类并实现适配者类接口。通过继承目标类,适配器类可以访目标类的方法和属性;通过实 ......
204
0
0
2024-02-11
Java 封装OkHttp3工具类,适用于Java后端开发者 说实在话,用过挺多网络请求工具,有过java原生的, HttpClient 3和4,但是个人感觉用了OkHttp3之后,之前的那些完全不想再用了。怎么说呢,代码轻便,使用起来很很很灵活,响应快,比起HttpClient好用许多。当然,这些是我个人观点,不喜勿喷。 准备工作 Maven ......
192
0
0
2024-02-11