04 2022 档案

摘要:目录 守护线程 & 用户线程 守护线程是一种特殊的线程,在后台默默地完成一些系统性的服务,比如垃圾回收线程、JIT线程都是守护线程。与之对应的是用户线程,用户线程可以理解为是系统的工作线程,它会完成这个程序需要完成的业务操作。如果用户线程全部结束了,意味着程序需要完成的业务操作已经结束了,系统可以退 阅读全文
posted @ 2022-04-28 10:02 程序员小明1024 阅读(42) 评论(0) 推荐(0) 编辑
摘要:线程组 我们可以把线程归属到某个线程组中,线程组可以包含多个线程以及线程组,线程和线程组组成了父子关系,是个树形结构,如下图: 使用线程组可以方便管理线程,线程组提供了一些方法方便方便我们管理线程。 创建线程关联线程组 创建线程的时候,可以给线程指定一个线程组,代码如下: package com.i 阅读全文
posted @ 2022-04-28 09:52 程序员小明1024 阅读(44) 评论(0) 推荐(0) 编辑
摘要:public class Demo09 { public static boolean flag = true; public static class T1 extends Thread { public T1(String name) { super(name); } @Override pub 阅读全文
posted @ 2022-04-28 09:42 程序员小明1024 阅读(31) 评论(0) 推荐(0) 编辑
摘要:目录 新建线程 新建线程很简单。只需要使用new关键字创建一个线程对象,然后调用它的start()启动线程即可。 Thread thread1 = new Thread1(); t1.start(); 那么线程start()之后,会干什么呢?线程有个run()方法,start()会创建一个新的线程并 阅读全文
posted @ 2022-04-28 09:29 程序员小明1024 阅读(43) 评论(0) 推荐(0) 编辑
摘要:目录 进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。 进程具有的特征: 动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的 并发性 阅读全文
posted @ 2022-04-28 09:13 程序员小明1024 阅读(50) 评论(0) 推荐(0) 编辑
摘要:目录 JMM JMM(java内存模型),由于并发程序要比串行程序复杂很多,其中一个重要原因是并发程序中数据访问一致性和安全性将会受到严重挑战。如何保证一个线程可以看到正确的数据呢?这个问题看起来很白痴。对于串行程序来说,根本就是小菜一碟,如果你读取一个变量,这个变量的值是1,那么你读取到的一定是1 阅读全文
posted @ 2022-04-28 08:56 程序员小明1024 阅读(63) 评论(0) 推荐(0) 编辑
摘要:本文详解Spring事务中的7种传播行为,还是比较重要的。 环境 jdk1.8Spring 5.2.3.RELEASEmysql5.7 什么是事务传播行为?事务的传播行为用来描述:系统中的一些方法交由spring来管理事务,当这些方法之间出现嵌套调用的时候,事务所表现出来的行为是什么样的? 比如下面 阅读全文
posted @ 2022-04-27 17:24 程序员小明1024 阅读(160) 评论(0) 推荐(0) 编辑
摘要:目录 前言 有关为什么要使用并行程序的问题前面已经进行了简单的探讨。总的来说,最重要的应该是处于两个目的。 第一,为了获得更好的性能; 第二,由于业务模型的需要,确实需要多个执行实体。 在这里,我将更加关注第一种情况,也就是有关性能的问题。将串行程序改造为并发程序,一般来说可以提高程序的整体性能,但 阅读全文
posted @ 2022-04-27 15:14 程序员小明1024 阅读(106) 评论(0) 推荐(0) 编辑
摘要:由于临界区的存在,多线程之间的并发必须受到控制。根据控制并发的策略,我们可以把并发的级别分为阻塞、无饥饿、无障碍、无锁、无等待几种。 目录 阻塞 一个线程是阻塞的,那么在其他线程释放资源之前,当前线程无法继续执行。当我们使用synchronized关键字或者重入锁时,我们得到的就是阻塞的线程。 sy 阅读全文
posted @ 2022-04-27 15:09 程序员小明1024 阅读(35) 评论(0) 推荐(0) 编辑
摘要:目录 同步(Synchronous)和异步(Asynchronous) 同步和异步通常来形容一次方法调用,同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。异步方法调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。而异步方法通常会在另外一个线程中 阅读全文
posted @ 2022-04-27 14:15 程序员小明1024 阅读(71) 评论(0) 推荐(0) 编辑
摘要:12.1、缓存穿透 12.1.1、问题描述 当系统中引入redis缓存后,一个请求进来后,会先从redis缓存中查询,缓存有就直接返回,缓存中没有就去db中查询,db中如果有就会将其丢到缓存中,但是有些key对应更多数据在db中并不存在,每次针对此次key的请求从缓存中取不到,请求都会压到db,从而 阅读全文
posted @ 2022-04-27 13:59 程序员小明1024 阅读(88) 评论(0) 推荐(0) 编辑
摘要:11.1、存在的问题 单台redis容量限制,如何进行扩容?继续加内存、加硬件么? 单台redis并发写量太大有性能瓶颈,如何解决? redis3.0中提供了集群可以解决这些问题。 11.2、什么是集群 redis集群是对redis的水平扩容,即启动N个redis节点,将整个数据分布存储在这个N个节 阅读全文
posted @ 2022-04-27 13:53 程序员小明1024 阅读(832) 评论(0) 推荐(0) 编辑
摘要:10.1、是什么? 主机更新后根据配置和策略,自动同步到备机的master/slave机制,Master以写为主,Slave以读为主。 10.2、能干嘛? 读写分离,性能扩展,降低主服务器的压力 容灾,快速恢复,主机挂掉时,从机变为主机 10.3、主从复制:怎么玩? 10.3.1、配置1主2从 下面 阅读全文
posted @ 2022-04-27 13:38 程序员小明1024 阅读(49) 评论(0) 推荐(0) 编辑
摘要:9.1、AOF(Append Only File) 9.1.1、是什么 以日志的形式来记录每个写操作(增量保存),将redis执行过的所有写指令记录下来(读操作不记录),只允追加文件但不可改写文件,redis启动之初会读取该文件重新构造数据,换言之,redis重启的话就根据日志文件的内容将写指令从前 阅读全文
posted @ 2022-04-27 13:33 程序员小明1024 阅读(200) 评论(0) 推荐(0) 编辑
摘要:8.1、总体介绍 Redis是一个基于内存的数据库,它的数据是存放在内存中,内存有个问题就是关闭服务或者断电会丢失。 Redis的数据也支持写到硬盘中,这个过程就叫做持久化。 Redis提供了2种不同形式的持久化方式。 RDB(Redis DataBase) AOP(Append Of File) 阅读全文
posted @ 2022-04-27 13:29 程序员小明1024 阅读(166) 评论(0) 推荐(0) 编辑
摘要:7.1、redis事务定义 redis事务是一个单独的隔离操作,事务中的所有命令都会序列化、按顺序地执行,事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 redis事务的主要作用就是串联多个命令防止 别的命令插队。 7.2、Multi、Exec、discard 从输入Multi命令开始 阅读全文
posted @ 2022-04-27 13:24 程序员小明1024 阅读(75) 评论(0) 推荐(0) 编辑
摘要:6.1、引入redis的maven配置<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency> 6.2、a 阅读全文
posted @ 2022-04-27 11:22 程序员小明1024 阅读(126) 评论(0) 推荐(0) 编辑
摘要:5.1、介绍Jedis是java开发的操作redis的工具包。 5.2、Jedis的用法5.2.1、引入maven依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>4.2.1 阅读全文
posted @ 2022-04-27 11:15 程序员小明1024 阅读(77) 评论(0) 推荐(0) 编辑
摘要:4.1、Bitmaps:位操作字符串 4.1.1、简介 现代计算机使用二进制(位)作为信息的基本单位,1个字节等于8位,例如“abc”字符串是有3个字节组成,但实际在计算机内存储时将其使用二进制表示,“abc”分别对应的ASCII码是:97、98、99,对应的二进制分别是01100001、01100 阅读全文
posted @ 2022-04-27 11:02 程序员小明1024 阅读(84) 评论(0) 推荐(0) 编辑
摘要:3.1、什么是发布和订阅 redis发布订阅(pub/sub)是一种消息通信模式:发布者(pub)发布消息,订阅者(sub)接收消息。 redis客户端可以订阅任意数量的频道。 3.2、redis的发布和订阅 1、客户端可以订阅频道如下图 2、当给这个频道发布消息后,消息就会发送给订阅的客户端 3. 阅读全文
posted @ 2022-04-27 10:52 程序员小明1024 阅读(210) 评论(0) 推荐(0) 编辑
摘要:这里说的数据类型是value的数据类型,key的类型都是字符串。 5种数据类型: redis字符串(String) redis列表(List) redis集合(Set) redis哈希表(Hash) redis有序集合(Zset) 哪里去获取redis常用数据类型操作命令:http://redis. 阅读全文
posted @ 2022-04-27 10:43 程序员小明1024 阅读(103) 评论(0) 推荐(0) 编辑
摘要:1.1、安装redis (1)下载redis https://download.redis.io/releases/ (2)将redis安装包拷贝到/opt/目录 (3)解压 tar -zvxf redis-6.2.1.tar.gz (4)安装gcc yum install gcc (5)进入目录 阅读全文
posted @ 2022-04-27 09:47 程序员小明1024 阅读(34) 评论(0) 推荐(0) 编辑
摘要:一个队列配合一个消费者即可实现,就像火车站买票一样,只开一个窗口,然后让大家排队,即可按顺序购票,先确保顺序消费的消息被投递到同一个队列,消费端需要确保只能有一个消费者,拉取一个消费一个,消费完毕,再拉取另外一条消息。 但是,咱们的系统可能采用集群的方式部署,如果是集群的方式,代码相同,此时就相当于 阅读全文
posted @ 2022-04-27 09:44 程序员小明1024 阅读(46) 评论(0) 推荐(0) 编辑
摘要:目录什么是幂等性?对于同一笔业务操作,不管调用多少次,得到的结果都是一样的。 幂等性设计我们以对接支付宝充值为例,来分析支付回调接口如何设计? 如果我们系统中对接过支付宝充值功能的,我们需要给支付宝提供一个回调接口,支付宝回调信息中会携带(out_trade_no【商户订单号】,trade_no【支 阅读全文
posted @ 2022-04-27 09:42 程序员小明1024 阅读(84) 评论(0) 推荐(0) 编辑
摘要:目录消息消费的过程 step1、从mq中拉取消息 step2、执行本地业务 step3、将消息从队列中删除 step4、继续重复step1 消费失败出现死循环若step2执行失败,队列会被step2阻塞,step2消费会产生死循环。 采用衰减式消费+人工干预解决消息消费失败的问题当消息消费失败之后, 阅读全文
posted @ 2022-04-27 09:39 程序员小明1024 阅读(157) 评论(0) 推荐(0) 编辑
摘要:目录 消息消费通常有2种方式 push方式 pull方式 push方式 push方式的过程 mq接收到消息 mq主动将消息推送给消费者(消费者需提供一个消费接口) mq属于主动方,消费者属于一种被动消费,一旦有消息到达mq,会触发mq推送机制,将消息推送给消费者,不管消费者处于何种状态。 push方 阅读全文
posted @ 2022-04-27 09:37 程序员小明1024 阅读(200) 评论(0) 推荐(0) 编辑
摘要:目录 电商中有这样的一个场景 下单成功之后送积分的操作,我们使用mq来实现 下单成功之后,投递一条消息到mq,积分系统消费消息,给用户增加积分 我们主要讨论一下,下单及投递消息到mq的操作,如何实现?每种方式优缺点? 消息投递方式一:业务事务中投递消息 过程 step1:开启本地事务 step2:生 阅读全文
posted @ 2022-04-27 09:34 程序员小明1024 阅读(148) 评论(0) 推荐(0) 编辑
摘要:目录 前言 消息队列,即常说的MQ是经常用到的一个东西,本文并不是要个告诉你如何使用消息中间件,而是站更高的一个层次,思考当我们使用任何消息队列解决业务问题时,都需要面对的一些通用的问题,这些问题理解透彻了,MQ才能被你用的出神入化。 MQ常见5种使用场景:异步处理,应用解耦,流量削锋、日志处理、分 阅读全文
posted @ 2022-04-27 09:28 程序员小明1024 阅读(100) 评论(0) 推荐(0) 编辑
摘要:高清PDF版本 获取方式,扫描发送:zj1008 来源:专辑:正则表达式专题(JS版)_下载PDF版-Java充电社【公众号:Java充电社】 (itsoku.com) 阅读全文
posted @ 2022-04-27 09:24 程序员小明1024 阅读(19) 评论(0) 推荐(0) 编辑
摘要:什么叫知识,能指导我们实践的东西才叫知识。 学习一样东西,如果不能使用,最多只能算作纸上谈兵。正则表达式的学习,也不例外。 掌握了正则表达式的语法后,下一步,也是关键的一步,就是在真实世界中使用它。 那么如何使用正则表达式呢?有哪些关键的点呢?本章就解决这个问题。 内容包括 正则表达式的四种操作 相 阅读全文
posted @ 2022-04-27 09:16 程序员小明1024 阅读(38) 评论(0) 推荐(0) 编辑
摘要:对于一门语言的掌握程度怎么样,可以有两个角度来衡量:读和写。 不仅要看懂别人的解决方案,也要能独立地解决问题。代码是这样,正则表达式也是这样。 与“读”相比,“写”往往更为重要,这个道理是不言而喻的。 对正则的运用,首重就是:如何针对问题,构建一个合适的正则表达式?本章就解决该问题。 内容包括 平衡 阅读全文
posted @ 2022-04-27 09:10 程序员小明1024 阅读(45) 评论(0) 推荐(0) 编辑
摘要:对于一门语言的掌握程度怎么样,可以有两个角度来衡量:读和写。 不仅要求自己能解决问题,还要看懂别人的解决方案。代码是这样,正则表达式也是这样。 正则这门语言跟其他语言有一点不同,它通常就是一大堆字符,而没有所谓“语句”的概念。 如何能正确地把一大串正则拆分成一块一块的,成为了破解“天书”的关键,本章 阅读全文
posted @ 2022-04-27 09:06 程序员小明1024 阅读(231) 评论(0) 推荐(0) 编辑
摘要:学习正则表达式,是需要懂点儿匹配原理的。 而研究匹配原理时,有两个字出现的频率比较高:“回溯”。 听起来挺高大上,确实还有很多人对此不明不白的。 因此,本章就简单扼要地说清楚回溯到底是什么东西。 内容包括 没有回溯的匹配 有回溯的匹配 常见的回溯形式 1. 没有回溯的匹配 假设我们的正则是/ab{1 阅读全文
posted @ 2022-04-27 09:00 程序员小明1024 阅读(124) 评论(0) 推荐(0) 编辑
摘要:不管哪门语言中都有括号。正则表达式也是一门语言,而括号的存在使这门语言更为强大。 对括号的使用是否得心应手,是衡量对正则的掌握水平的一个侧面标准。 括号的作用,其实三言两语就能说明白,括号提供了分组,便于我们引用它。 引用某个分组,会有两种情形:在JavaScript里引用它,在正则表达式里引用它。 阅读全文
posted @ 2022-04-27 08:56 程序员小明1024 阅读(521) 评论(0) 推荐(1) 编辑
摘要:领取月薪4万的Java全栈学习线路图+视频【含50个核心技术栈】 正则表达式是匹配模式,要么匹配字符,要么匹配位置。请记住这句话。 然而大部分人学习正则时,对于匹配位置的重视程度没有那么高。 本章讲讲正则匹配位置的总总。 内容包括 什么是位置? 如何匹配位置? 位置的特性 几个应用实例分析 1. 什 阅读全文
posted @ 2022-04-27 08:54 程序员小明1024 阅读(180) 评论(0) 推荐(0) 编辑
摘要:领取月薪4万的Java全栈学习线路图+视频【含50个核心技术栈】 正则表达式是匹配模式,要么匹配字符,要么匹配位置。请记住这句话。 然而关于正则如何匹配字符的学习,大部分人都觉得这块比较杂乱。 毕竟元字符太多了,看起来没有系统性,不好记。本章就解决这个问题。 内容包括 两种模糊匹配字符组量词分支结构 阅读全文
posted @ 2022-04-27 08:50 程序员小明1024 阅读(562) 评论(0) 推荐(0) 编辑
摘要:领取月薪4万的Java全栈学习线路图+视频【含50个核心技术栈】 引言 亲爱的读者朋友,如果你点开了这篇文章,说明你对正则很感兴趣。 想必你也了解正则的重要性,在我看来正则表达式是衡量程序员水平的一个侧面标准。 关于正则表达式的教程,网上也有很多,相信你也看了一些。 与之不同的是,本文的目的是希望所 阅读全文
posted @ 2022-04-27 08:46 程序员小明1024 阅读(45) 评论(0) 推荐(0) 编辑
摘要:今天带领大家翻越一座大山:分布式事务,这绝对是块硬骨头,但是又必须要啃。 1、为什么要学分布式事务? 大厂面试必备,小公司可能用不到,但是大厂基本上都会用到 微服务近比较火,而微服务中分布式事务是必须要解决的一个问题,微服务你要玩么? 分布式事务涉及技术点比较多,这块掌握了,整体技术能力也会有一个大 阅读全文
posted @ 2022-04-26 16:30 程序员小明1024 阅读(38) 评论(0) 推荐(0) 编辑
摘要:目录 1. 支付宝充值案例 假如我们自己有一个电商系统,支持用户使用支付宝充值,流程如下: 2. 用户支付流程(是一个同步的过程) 用户在浏览器发起充值请求->电商服务 电商服务生成充值订单,状态为0:待支付(0:待支付、100:支付成功、200:支付失败) 电商服务携带订单信息请求支付宝,生成支付 阅读全文
posted @ 2022-04-26 16:25 程序员小明1024 阅读(107) 评论(0) 推荐(0) 编辑
摘要:目录 1. 什么是可靠消息最终一致性? 可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)一定能够接收消息并处理事务成功,此方案强调的是只要消息发给事务参与方最终事务要达到一致。 这里面有2个重点: 消息发送方本地事物执行成功之后,消息一定会投递成功 消 阅读全文
posted @ 2022-04-26 15:24 程序员小明1024 阅读(104) 评论(0) 推荐(0) 编辑
摘要:目录 1. 什么是TCC? 分布式事务中的几个角色 TM:事务管理器,可以理解为分布式事务的发起者 分支事务:事务中的多个参与者,可以理解为一个个独立的事务。 TCC是Try、Confirm、Cancel三个词语的缩写,TCC要求每个分支事务实现三个操作:预处理Try、确认Confirm、撤销Can 阅读全文
posted @ 2022-04-26 15:19 程序员小明1024 阅读(315) 评论(0) 推荐(0) 编辑
摘要:目录1. 回顾2PC举个例子,A邀请B、C一起打王者荣耀,2PC过程如下: A是协调者,B、C是参与者。 1.1. 阶段1(prepare阶段)(1)、step1-1:A微信Bstep1-1-1:A->B:有空么,我们约C一起王者荣耀step1-1-2:B->A:有空step1-1-3:A->B:那 阅读全文
posted @ 2022-04-26 14:27 程序员小明1024 阅读(119) 评论(0) 推荐(0) 编辑
摘要:1. 什么是2PC? 2PC即两阶段提交,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(commit phase),2是指两个阶段,P是指准备阶段,C是指提交阶段。 2PC中主要的2个角色: 事务协调者 事务参与者 1.1. 准备阶段(prepare) 事务协调者给 阅读全文
posted @ 2022-04-26 14:16 程序员小明1024 阅读(303) 评论(0) 推荐(0) 编辑
摘要:分布式事务常见的7种解决方案。 方案1:2PC(二阶段提交) 方案2:3PC(三阶段提交) 方案3:TCC 方案4:可靠消息 方案5:最大努力通知型 下面依次来介绍这5种方案。 来源:http://www.itsoku.com/course/7/163 阅读全文
posted @ 2022-04-26 14:14 程序员小明1024 阅读(98) 评论(0) 推荐(0) 编辑
摘要:目录1. 理解强一致性和最终一致性CAP理论告诉我们一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容忍性(Partition tolerance)这三项中的两项,其中AP在实际应用中较多,AP即舍弃一致性,保证可用性和分区容忍性,但是在实际生 阅读全文
posted @ 2022-04-26 14:13 程序员小明1024 阅读(73) 评论(0) 推荐(0) 编辑
摘要:1. 理解CAP概念 CAP是 Consistency、Availability、Partition tolerance三个词语的缩写,分别表示一致性、可用性、分区容忍性。 下边我们分别来解释: 为了方便对CAP理论的理解,我们结合电商系统中的一些业务场景来理解CAP。 如下图,是商品信息管理的执行 阅读全文
posted @ 2022-04-26 14:08 程序员小明1024 阅读(105) 评论(0) 推荐(0) 编辑
摘要:目录1. 前言什么是分布式事务?介绍这个之前,先来了解一下这几个问题 什么是事务?什么是本地事务?什么是分布式?什么是分布式事务? 2. 什么是事务?完成某件事情,可能有多个参与者需要执行多个步骤,最终多个步骤要么全部成功,要么全部失败。 举个例子:微信上A给B转账100元,A账户减少100,B账户 阅读全文
posted @ 2022-04-26 14:07 程序员小明1024 阅读(129) 评论(0) 推荐(0) 编辑
摘要:目录 本文主要讲解泛型类型的解析,泛型算是必须要掌握的一块硬核知识,在很多地方都会用到,这块如果理解了,在阅读其他框架源码的时候会让你更容易一些,看完本文之后大家对泛型也有一个新的认识。 关于泛型的解析上面,我们需要先了解一些类和接口,这些比较关键,这些都位于java.lang.reflect包中, 阅读全文
posted @ 2022-04-26 13:55 程序员小明1024 阅读(108) 评论(0) 推荐(0) 编辑
摘要:目录 1. 前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 2. 泛型带来的好处 在没有泛型的情况的下,通过对类型 Obje 阅读全文
posted @ 2022-04-26 13:50 程序员小明1024 阅读(200) 评论(0) 推荐(0) 编辑
摘要:大家好,我是路人,本文在给大家来一篇实战的,通过大量案例让大家掌握泛型常见的用法,建议所有案例敲一遍,一定要敲一遍,本文将让你重新认识泛型。 目录 1. 简介 1.1 泛型的优点 1、泛型的本质是为了参数化类型,也就是在在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型,很明显 阅读全文
posted @ 2022-04-26 13:46 程序员小明1024 阅读(83) 评论(0) 推荐(0) 编辑
摘要:<p><strong>这是aop最后一篇文章了,本文带你深入理解@EnableAspectJAutoProxy,这篇文章可能会颠覆你以前所掌握的一些知识,让你醍醐灌顶,欣喜若狂!</strong></p> 1、Aop相关阅读 阅读本文之前,需要先掌握下面几篇文章内容,不然会比较吃力。 代理详解(ja 阅读全文
posted @ 2022-04-26 13:42 程序员小明1024 阅读(191) 评论(0) 推荐(0) 编辑
摘要:本文内容:详解@Aspect中5中通知的使用。 Aop相关阅读 阅读本文之前,需要先掌握下面几篇文章内容,不然会比较吃力。 代理详解(java动态代理&CGLIB代理) jdk动态代理和cglib代理 Aop概念详解 AOP核心源码、原理详解 ProxyFactoryBean创建AOP代理 @Asp 阅读全文
posted @ 2022-04-26 13:33 程序员小明1024 阅读(164) 评论(0) 推荐(1) 编辑
摘要:本文主要内容:掌握@Pointcut的12种用法。 Aop相关阅读 阅读本文之前,需要先掌握下面几篇篇文章内容,不然会比较吃力。 代理详解(java动态代理&CGLIB代理) jdk动态代理和cglib代理 Aop概念详解 AOP核心源码、原理详解 ProxyFactoryBean创建AOP代理 本 阅读全文
posted @ 2022-04-26 13:25 程序员小明1024 阅读(160) 评论(0) 推荐(0) 编辑
摘要:Aop相关阅读 阅读本文之前,需要先掌握下面3篇文章内容,不然会比较吃力。 代理详解(java动态代理&CGLIB代理) jdk动态代理和cglib代理 Aop概念详解 AOP核心源码、原理详解 本文继续Aop。 AOP创建代理的方式主要分为2大类 手动方式 也称为手动的方式,需要通过硬编码一个个创 阅读全文
posted @ 2022-04-26 13:13 程序员小明1024 阅读(189) 评论(0) 推荐(0) 编辑
摘要:本文目标:带领大家阅读aop的源码,深入理解aop的原理,内容有点长,消化需要大概一周时间,做好准备 阅读本文之前,需要先掌握下面3篇文章内容,不然会比较吃力。 代理详解(java动态代理&CGLIB代理) jdk动态代理和cglib代理 Aop概念详解 目录 本文主要分4部分 Aop原理介绍 介绍 阅读全文
posted @ 2022-04-26 11:21 程序员小明1024 阅读(50) 评论(0) 推荐(0) 编辑
摘要:什么是Aop? Spring AOP中重要的一些概念详解 Spring AOP 硬编码实现 什么是AOP? 先看一下传统程序的流程,比如银行系统会有一个取款流程 我们可以把方框里的流程合为一个,另外系统还会有一个查询余额流程,我们先把这两个流程放到一起: 有没有发现,这个两者有一个相同的验证流程,我 阅读全文
posted @ 2022-04-26 11:13 程序员小明1024 阅读(66) 评论(0) 推荐(0) 编辑
摘要:Spring中有个非常重要的知识点,AOP,即面相切面编程,spring中提供的一些非常牛逼的功能都是通过aop实现的,比如下面这些大家比较熟悉的功能 spring事务管理:@Transactionalspring异步处理:@EnableAsyncspring缓存技术的使用:@EnableCachi 阅读全文
posted @ 2022-04-26 11:10 程序员小明1024 阅读(87) 评论(0) 推荐(0) 编辑
摘要:代理spring中用到的挺多的,比如上篇文章中的lookup-method和replaced-method,以及后面我们要学的aop、spring中的事务、spring中解析@configuration注解等等,这些都是依靠代理来实现的,所以我们先把代理拿出来讲讲,有利于我们理解其他内容。 本文内容 阅读全文
posted @ 2022-04-26 10:58 程序员小明1024 阅读(224) 评论(0) 推荐(0) 编辑
摘要:1、本文内容 本文主要介绍mybatis和spring集成的两种方式,对MyBatis不熟悉的,建议先看一下:MyBatis系列 目前注解的方式我们用的比较多,所以主要介绍注解的方式,xml的方式这里就暂时不介绍了。 注解的方式mybatis集成spring主要有2种方式: 1、方式1:mapper 阅读全文
posted @ 2022-04-26 10:51 程序员小明1024 阅读(189) 评论(0) 推荐(1) 编辑
摘要:1、背景 大多数系统都是读多写少,为了降低数据库的压力,可以对主库创建多个从库,从库自动从主库同步数据,程序中将写的操作发送到主库,将读的操作发送到从库去执行。 今天的主要目标:通过spring实现读写分离。 读写分离需实现下面2个功能: 1、读的方法,由调用者来控制具体是读从库还是主库 2、有事务 阅读全文
posted @ 2022-04-26 10:44 程序员小明1024 阅读(257) 评论(0) 推荐(0) 编辑
摘要:这算是spring事务第9篇文章了,花了这么多篇文章介绍事务这块的知识,说明事务这块的东西确实比较多、知识点比较细,也非常重要,希望大家能够重视起来,吃透这块的知识。 本文2个目的: 1、使用spring事务的过程中,哪些情况会导致事务失效? 2、遇到事务相关bug时,有哪些方法可以快速定位bug? 阅读全文
posted @ 2022-04-26 10:42 程序员小明1024 阅读(254) 评论(0) 推荐(0) 编辑
摘要:1、前言 咱们知道 Spring 事务是通过aop的方式添加了一个事务拦截器,事务拦截器会拦截目标方法的执行,在方法执行前后添加了事务控制。 那么spring事务拦截器的顺序如何控制呢,若我们自己也添加了一些拦截器,此时事务拦截器和自定义拦截器共存的时候,他们的顺序是怎么执行的?如何手动来控制他们的 阅读全文
posted @ 2022-04-26 10:38 程序员小明1024 阅读(287) 评论(0) 推荐(0) 编辑
摘要:1、本文2个目的 1、讨论一下消息投递的5种方式 2、带你手写代码,实现事务消息的投递 2、讨论一下消息投递的5种方式 2.1、业务场景 电商中有这样的一个场景:商品下单之后,需给用户送积分,订单表和积分表分别在不同的db中,涉及到分布式事务的问题。 我们通过可靠消息来解决这个问题: 商品下单成功之 阅读全文
posted @ 2022-04-26 10:34 程序员小明1024 阅读(146) 评论(0) 推荐(0) 编辑
摘要:大家好,今天咱们通过源码来了解一下spring中@Transaction事务的原理。 在这里插播两句,整个系列前后知识是有依赖的,大家最好按顺序阅读,这样不会出现无法理解的情况,若跳着读,可能会比较懵。。。 1、环境 jdk1.8Spring版本:5.2.3.RELEASEmysql5.7 2、@T 阅读全文
posted @ 2022-04-26 10:31 程序员小明1024 阅读(226) 评论(0) 推荐(0) 编辑
摘要:本文主要内容:Spring编程式事务源码深度解析,理解spring事务的本质 目录 环境 jdk1.8 Spring版本:5.2.3.RELEASE mysql5.7 回顾一下编程式事务用法 @Test public void test1() throws Exception { //定义一个数据源 阅读全文
posted @ 2022-04-26 10:26 程序员小明1024 阅读(330) 评论(0) 推荐(0) 编辑
摘要:本篇内容:通过原理和大量案例带大家吃透Spring多数据源事务。 Spring中通过事务管理器来控制事务,每个数据源都需要指定一个事务管理器,如果我们的项目中需要操作多个数据库,那么需要我们配置多个数据源,也就需要配置多个数据管理器。 多数据源事务使用2个步骤1、为每个数据源定义一个事务管理器如下面 阅读全文
posted @ 2022-04-26 10:06 程序员小明1024 阅读(726) 评论(1) 推荐(1) 编辑
摘要:spring事务有2种用法:编程式事务和声明式事务。 编程式事务上一篇文章中已经介绍了,不熟悉的建议先看一下编程式事务的用法。 这篇主要介绍声明式事务的用法,我们在工作中基本上用的都是声明式事务,所以这篇文章是比较重要的,建议各位打起精神,正式开始。 什么是声明式事务? 所谓声明式事务,就是通过配置 阅读全文
posted @ 2022-04-26 09:15 程序员小明1024 阅读(93) 评论(0) 推荐(0) 编辑
摘要:本文开始,大概用10篇左右的文章来详解spring中事务的使用,吃透spring事务。 本文内容 详解spring中编程式事务的使用。 spring中使用事务的2种方式 spring使事务操作变的异常容易了,spring中控制事务主要有2种方式 编程式事务:硬编码的方式 声明式事务:大家比较熟悉的注 阅读全文
posted @ 2022-04-26 09:10 程序员小明1024 阅读(324) 评论(0) 推荐(0) 编辑
摘要:本来这篇文章要写spring事务的,但是事务中大部分案例会用到JdbcTemplate相关的功能,所以先把JdbcTemplate拿出来说一下。 什么是JdbcTemplate?大家来回顾一下,java中操作db最原始的方式就是纯jdbc了,是不是每次操作db都需要加载数据库驱动、获取连接、获取Pr 阅读全文
posted @ 2022-04-26 09:09 程序员小明1024 阅读(84) 评论(0) 推荐(0) 编辑
摘要:Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 欢迎大家加我微信itsoku一起交流java、算法、数据库相关技术。 这是Mysql系列第27篇。 本篇文章我们先来看一下mysql是如何确保数据不丢失的,通过本文我们可以了解mysql内部确保数据不丢失的原理,学习 阅读全文
posted @ 2022-04-23 23:28 程序员小明1024 阅读(76) 评论(0) 推荐(0) 编辑
摘要:Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 欢迎大家加我微信itsoku一起交流java、算法、数据库相关技术。 这是Mysql系列第26篇。 本篇我们使用mysql实现一个分布式锁。 分布式锁的功能 分布式锁使用者位于不同的机器中,锁获取成功之后,才可以对共 阅读全文
posted @ 2022-04-23 23:27 程序员小明1024 阅读(122) 评论(0) 推荐(0) 编辑
摘要:Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 欢迎大家加我微信itsoku一起交流java、算法、数据库相关技术。 这是Mysql系列第25篇。 读本篇文章之前,需要先了解一些知识: 什么是索引? mysql索引原理详解 mysql索引管理详解 如何正确的使用索 阅读全文
posted @ 2022-04-23 23:22 程序员小明1024 阅读(163) 评论(0) 推荐(0) 编辑
摘要:Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 欢迎大家加我微信itsoku一起交流java、算法、数据库相关技术。 这是Mysql系列第24篇。 学习索引,主要是写出更快的sql,当我们写sql的时候,需要明确的知道sql为什么会走索引?为什么有些sql不走索引 阅读全文
posted @ 2022-04-23 23:20 程序员小明1024 阅读(218) 评论(0) 推荐(0) 编辑
摘要:Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 欢迎大家加我微信itsoku一起交流java、算法、数据库相关技术。 这是Mysql系列第23篇。 环境:mysql5.7.25,cmd命令中进行演示。 代码中被[]包含的表示可选,|符号分开的表示可选其一。 关于索 阅读全文
posted @ 2022-04-23 23:18 程序员小明1024 阅读(57) 评论(0) 推荐(0) 编辑
摘要:Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 欢迎大家加我微信itsoku一起交流java、算法、数据库相关技术。 这是Mysql系列第22篇。 背景 使用mysql最多的就是查询,我们迫切的希望mysql能查询的更快一些,我们经常用到的查询有: 按照id查询唯 阅读全文
posted @ 2022-04-23 23:16 程序员小明1024 阅读(170) 评论(0) 推荐(0) 编辑
摘要:Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 欢迎大家加我微信itsoku一起交流java、算法、数据库相关技术。 这是Mysql系列第21篇。 本文开始连续3篇详解mysql索引: 第1篇来说说什么是索引?第2篇详解Mysql中索引的原理第3篇结合索引详解关键 阅读全文
posted @ 2022-04-23 23:14 程序员小明1024 阅读(103) 评论(0) 推荐(0) 编辑
摘要:Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 欢迎大家加我微信itsoku一起交流java、算法、数据库相关技术。 这是Mysql系列第20篇。 环境:mysql5.7.25,cmd命令中进行演示。 代码中被[]包含的表示可选,|符号分开的表示可选其一。 需求背 阅读全文
posted @ 2022-04-23 23:12 程序员小明1024 阅读(266) 评论(0) 推荐(0) 编辑
摘要:Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 欢迎大家加我微信itsoku一起交流java、算法、数据库相关技术。 这是Mysql系列第19篇。 环境:mysql5.7.25,cmd命令中进行演示。 代码中被[]包含的表示可选,|符号分开的表示可选其一。 需求背 阅读全文
posted @ 2022-04-23 23:10 程序员小明1024 阅读(234) 评论(0) 推荐(0) 编辑
摘要:Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 欢迎大家加我微信itsoku一起交流java、算法、数据库相关技术。 这是Mysql系列第18篇。 环境:mysql5.7.25,cmd命令中进行演示。 代码中被[]包含的表示可选,|符号分开的表示可选其一。 上一篇 阅读全文
posted @ 2022-04-23 23:08 程序员小明1024 阅读(106) 评论(0) 推荐(0) 编辑
摘要:Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 欢迎大家加我微信itsoku一起交流java、算法、数据库相关技术。 这是Mysql系列第17篇。 环境:mysql5.7.25,cmd命令中进行演示。 代码中被[]包含的表示可选,|符号分开的表示可选其一。 需求背 阅读全文
posted @ 2022-04-23 22:23 程序员小明1024 阅读(111) 评论(0) 推荐(0) 编辑
摘要:Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。 欢迎大家加我微信itsoku一起交流java、算法、数据库相关技术。 这是Mysql系列第16篇。 环境:mysql5.7.25,cmd命令中进行演示。 代码中被[]包含的表示可选,|符号分开的表示可选其一。 我们在 阅读全文
posted @ 2022-04-23 22:20 程序员小明1024 阅读(235) 评论(0) 推荐(0) 编辑
摘要:打算提升sql技能的,可以加我微信itsoku,带你成为sql高手。 这是Mysql系列第14篇。 环境:mysql5.7.25,cmd命令中进行演示。 需求背景 电商公司领导说:给我统计一下:当月订单总金额、订单量、男女订单占比等信息,我们啪啦啪啦写了一堆很复杂的sql,然后发给领导。 这样一大片 阅读全文
posted @ 2022-04-23 22:18 程序员小明1024 阅读(208) 评论(0) 推荐(0) 编辑
摘要:打算提升sql技能的,可以加我微信itsoku,带你成为sql高手。 这是Mysql系列第14篇。 环境:mysql5.7.25,cmd命令中进行演示。 开发过程中,会经常用到数据库事务,所以本章非常重要。 本篇内容 什么是事务,它有什么用? 事务的几个特性 事务常见操作指令详解 事务的隔离级别详解 阅读全文
posted @ 2022-04-23 22:15 程序员小明1024 阅读(84) 评论(0) 推荐(0) 编辑
摘要:打算提升sql技能的,可以加我微信itsoku,带你成为sql高手。 这是Mysql系列第11篇。 环境:mysql5.7.25,cmd命令中进行演示。 当数据的值为NULL的时候,可能出现各种意想不到的效果,让人防不胜防,我们来看看NULL导致的各种神坑,如何避免? 比较运算符中使用NULL 认真 阅读全文
posted @ 2022-04-23 22:13 程序员小明1024 阅读(68) 评论(0) 推荐(0) 编辑
摘要:打算提升sql技能的,可以加我微信itsoku,带你成为sql高手。 这是Mysql系列第12篇。 环境:mysql5.7.25,cmd命令中进行演示。 本章节非常重要。 子查询 出现在select语句中的select语句,称为子查询或内查询。 外部的select查询语句,称为主查询或外查询。 子查 阅读全文
posted @ 2022-04-23 22:06 程序员小明1024 阅读(834) 评论(0) 推荐(0) 编辑
摘要:打算提升sql技能的,可以加我微信itsoku,带你成为sql高手。 这是Mysql系列第11篇。 环境:mysql5.7.25,cmd命令中进行演示。 当我们查询的数据来源于多张表的时候,我们需要用到连接查询,连接查询使用率非常高,希望大家都务必掌握。 本文内容 笛卡尔积内连接外连接左连接右连接表 阅读全文
posted @ 2022-04-23 22:03 程序员小明1024 阅读(47) 评论(0) 推荐(0) 编辑
摘要:打算提升sql技能的,可以加我微信itsoku,带你成为sql高手。 这是Mysql系列第10篇。 环境:mysql5.7.25,cmd命令中进行演示。 MySQL 数值型函数 函数名称作 用abs求绝对值sqrt求二次方根mod求余数ceil 和 ceiling两个函数功能相同,都是返回不小于参数 阅读全文
posted @ 2022-04-23 21:57 程序员小明1024 阅读(85) 评论(0) 推荐(0) 编辑
摘要:打算提升sql技能的,可以加我微信itsoku,带你成为sql高手。 这是Mysql系列第9篇。 环境:mysql5.7.25,cmd命令中进行演示。 本篇内容 分组查询语法 聚合函数 单字段分组 多字段分组 分组前筛选数据 分组后筛选数据 where和having的区别 分组后排序 where & 阅读全文
posted @ 2022-04-23 21:56 程序员小明1024 阅读(247) 评论(0) 推荐(0) 编辑
摘要:打算提升sql技能的,可以加我微信itsoku,带你成为sql高手。 这是Mysql系列第8篇。 环境:mysql5.7.25,cmd命令中进行演示。 代码中被[]包含的表示可选,|符号分开的表示可选其一。 本章内容 详解排序查询 详解limit limit存在的坑 分页查询中的坑 排序查询(ord 阅读全文
posted @ 2022-04-23 21:54 程序员小明1024 阅读(161) 评论(0) 推荐(0) 编辑
摘要:打算提升sql技能的,可以加我微信itsoku,带你成为sql高手。 这是Mysql系列第7篇。 环境:mysql5.7.25,cmd命令中进行演示。 电商中:我们想查看某个用户所有的订单,或者想查看某个用户在某个时间段内所有的订单,此时我们需要对订单表数据进行筛选,按照用户、时间进行过滤,得到我们 阅读全文
posted @ 2022-04-23 21:53 程序员小明1024 阅读(116) 评论(0) 推荐(0) 编辑
摘要:sql方面想提升的,加一下我的微信itsoku,拉你入群交流技术。 这是Mysql系列第6篇。 环境:mysql5.7.25,cmd命令中进行演示。 DQL(Data QueryLanguage):数据查询语言,通俗点讲就是从数据库获取数据的,按照DQL的语法给数据库发送一条指令,数据库将按需求返回 阅读全文
posted @ 2022-04-23 21:50 程序员小明1024 阅读(230) 评论(0) 推荐(0) 编辑
摘要:对mysql感兴趣的,加一下我的微信itsoku,拉你入群交流技术。 这是Mysql系列第5篇。 环境:mysql5.7.25,cmd命令中进行演示。 DML(Data Manipulation Language)数据操作语言,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、 阅读全文
posted @ 2022-04-23 21:48 程序员小明1024 阅读(68) 评论(0) 推荐(0) 编辑
摘要:对mysql感兴趣的,加一下我的微信itsoku,拉你入群交流技术。 这是Mysql系列第4篇。 环境:mysql5.7.25,cmd命令中进行演示。 DDL:Data Define Language数据定义语言,主要用来对数据库、表进行一些管理操作。 如:建库、删库、建表、修改表、删除表、对列的增 阅读全文
posted @ 2022-04-23 21:47 程序员小明1024 阅读(43) 评论(0) 推荐(0) 编辑
摘要:这是mysql系列第3篇文章。 环境:mysql5.7.25,cmd命令中进行演示。 在玩mysql的过程中,经常遇到有很多朋友在云上面玩mysql的时候,说我创建了一个用户为什么不能登录?为什么没有权限?等等各种问题,本文看完之后,这些都不是问题了。 本文主要内容 介绍Mysql权限工作原理 查看 阅读全文
posted @ 2022-04-23 21:41 程序员小明1024 阅读(44) 评论(0) 推荐(0) 编辑
摘要:这是mysql系列第2篇文章。 环境:mysql5.7.25,cmd命令中进行演示。 主要内容 介绍mysql中常用的数据类型 mysql类型和java类型对应关系 数据类型选择的一些建议 MySQL的数据类型 主要包括以下五大类 整数类型:bit、bool、tinyint、smallint、med 阅读全文
posted @ 2022-04-23 21:37 程序员小明1024 阅读(48) 评论(0) 推荐(0) 编辑
摘要:这是mysql系列第1篇。 本文主要内容 背景介绍 数据库基础知识介绍 mysql的安装 mysql常用的一些命令介绍 SQL分类 背景介绍 我们每天都在访问各种网站、APP,如微信、QQ、抖音、今日头条、腾讯新闻等,这些东西上面都存在大量的信息,这些信息都需要有地方存储,存储在哪呢?数据库。 所以 阅读全文
posted @ 2022-04-23 21:34 程序员小明1024 阅读(36) 评论(0) 推荐(0) 编辑
摘要:Mybatis系列目标:从入门开始开始掌握一个高级开发所需要的Mybatis技能。 这是mybatis系列第12篇,源码位于文章尾部! 什么是缓存? 缓存就是存储数据的一个地方(称作:Cache),当程序要读取数据时,会首先从缓存中获取,有则直接返回,否则从其他存储设备中获取,缓存最重要的一点就是从 阅读全文
posted @ 2022-04-23 03:19 程序员小明1024 阅读(98) 评论(0) 推荐(0) 编辑
摘要:Mybatis系列目标:从入门开始开始掌握一个高级开发所需要的Mybatis技能。 这是mybatis系列第11篇,源码位于文章尾部! mybatis内部参数设置和结果的处理 先来看一个案例: jdbc的方式插入用户信息,参数为UserModel: public class UserModel { 阅读全文
posted @ 2022-04-23 03:18 程序员小明1024 阅读(50) 评论(0) 推荐(0) 编辑
摘要:Mybatis系列目标:从入门开始开始掌握一个高级开发所需要的Mybatis技能。 这是mybatis系列第10篇,源码位于文章尾部! mybatis中一个比较强大的功能就是动态sql,记得在刚开始工作那会,当时使用jdbc开发系统,在java代码中搞了很多判断去拼接sql,代码看起来比较乱,也不方 阅读全文
posted @ 2022-04-23 03:16 程序员小明1024 阅读(537) 评论(0) 推荐(3) 编辑
摘要:Mybatis系列目标:从入门开始开始掌握一个高级开发所需要的Mybatis技能。 这是mybatis系列第9篇,源码位于文章尾部! 建库建表 创建一个db:javacode2018 4张表: t_user(用户表) t_goods(商品表) t_order(订单表) t_order_detail( 阅读全文
posted @ 2022-04-23 03:14 程序员小明1024 阅读(55) 评论(0) 推荐(0) 编辑
摘要:Mybatis系列目标:从入门开始开始掌握一个高级开发所需要的Mybatis技能。 这是mybatis系列第8篇。 案例代码 链接:https://pan.baidu.com/s/1vt-MAX3oJOu9gyxZAhKkbg 提取码:i8op 本文案例代码入口,配合源码看案例,效果更好。 myba 阅读全文
posted @ 2022-04-23 03:12 程序员小明1024 阅读(289) 评论(0) 推荐(0) 编辑
摘要:Mybatis系列目标:从入门开始开始掌握一个高级开发所需要的Mybatis技能。 这是mybatis系列第7篇。 主要内容 单表查询3种方式详解一对一关联查询(4种方式)详解一对多查询(2种方式)详解综合案例总结建议源码 建库建表 创建一个db:javacode2018 4张表: t_user(用 阅读全文
posted @ 2022-04-23 03:11 程序员小明1024 阅读(202) 评论(0) 推荐(0) 编辑
摘要:Mybatis系列目标:从入门开始开始掌握一个高级开发所需要的Mybatis技能。 这是mybatis系列第6篇。 主要内容 建库建表mybatis增删改返回值说明及源码解析jdbc获取自增值的3种方式详解mybatis获取自增值的3种方式详解 建库建表 /*创建数据库javacode2018*/D 阅读全文
posted @ 2022-04-23 03:09 程序员小明1024 阅读(170) 评论(0) 推荐(0) 编辑
摘要:Mybatis系列目标:从入门开始开始掌握一个高级开发所需要的Mybatis技能。 这是mybatis系列第5篇。 主要内容 本篇详解mapper接口传参的各种方式。 传递一个参数传递一个Map参数传递一个javabean参数多参数中用@param指定参数名称java编译中参数名称的处理mapper 阅读全文
posted @ 2022-04-23 03:08 程序员小明1024 阅读(450) 评论(0) 推荐(0) 编辑
摘要:Mybatis系列目标:从入门开始开始掌握一个高级开发所需要的Mybatis技能。 这是mybatis系列第3篇。 主要内容 1、 快速入门 准备数据库我们的需求使用idea创建项目pom.xml中引入mybatis依赖配置mybatis全局配置文件创建Mapper xml文件mybatis全局配置 阅读全文
posted @ 2022-04-23 02:59 程序员小明1024 阅读(34) 评论(0) 推荐(0) 编辑
摘要:Mybatis系列目标:从入门开始开始掌握一个高级开发所需要的Mybatis技能。 这是mybatis系列第2篇。 本篇技术栈 mysql5.7.25maven3.6.1jdk1.8idea 本篇主要内容 通过一个案例感受一下mybatis的强大之处mybatis开发项目的具体步骤介绍mybatis 阅读全文
posted @ 2022-04-23 02:57 程序员小明1024 阅读(29) 评论(0) 推荐(0) 编辑
摘要:Mybatis系列目标:从入门开始开始掌握一个高级开发所需要的Mybatis技能。 这是mybatis系列第4篇。 主要内容 1、idea创建本篇案例 建库建表创建项目 2、别名使用详解(typeAliases) 为什么需要使用别名别名3种用法详解方式1:使用typeAlias元素注册别名方式2:使 阅读全文
posted @ 2022-04-23 02:55 程序员小明1024 阅读(76) 评论(0) 推荐(0) 编辑
摘要:MyBatis系列目标:从入门开始开始掌握一个高级开发所需要的MyBatis技能。 这是MyBatis系列第1篇。 本篇内容 java操作数据库相关的各种技术介绍 这么多技术,如何选择? 这么多技术,为什么我们选择的是mybatis 不知道大家是否还记得使用jdbc如何操作数据库?加载驱动、获取连接 阅读全文
posted @ 2022-04-23 02:39 程序员小明1024 阅读(34) 评论(0) 推荐(0) 编辑
摘要:maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能。 这是maven系列第10篇。 整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部有maven完整系列的连接。 Maven默认提供了很多插件,功能也非常强大,但是如果我们想自己开发 阅读全文
posted @ 2022-04-22 01:19 程序员小明1024 阅读(384) 评论(0) 推荐(0) 编辑
摘要:maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能。 这是maven系列第9篇。 整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部有maven完整系列的连接。 如果你作为公司核心开发,打算使用maven来搭建项目骨架,这篇文章的内 阅读全文
posted @ 2022-04-22 01:16 程序员小明1024 阅读(123) 评论(0) 推荐(0) 编辑
摘要:maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能。 这是maven系列第8篇。 整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部有maven完整系列的连接。 本篇涉及到的内容属于神技能,多数使用maven的人都经常想要的一种功能 阅读全文
posted @ 2022-04-22 01:08 程序员小明1024 阅读(82) 评论(0) 推荐(0) 编辑
摘要:maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能。 这是maven系列第7篇。 整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部有maven完整系列的连接。 本篇内容 maven中聚合详解maven中继承详解pom.xml中pa 阅读全文
posted @ 2022-04-22 00:50 程序员小明1024 阅读(162) 评论(0) 推荐(1) 编辑
摘要:maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能。 这是maven系列第6篇。 整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部有maven完整系列的连接。 前面我们使用maven过程中,用到了一些命令,如下: mvn clea 阅读全文
posted @ 2022-04-22 00:46 程序员小明1024 阅读(154) 评论(0) 推荐(0) 编辑
摘要:maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能。 这是maven系列第5篇。 整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部有maven完整系列的连接。 环境 maven3.6.1开发工具ideajdk1.8 本篇内容 私服 阅读全文
posted @ 2022-04-22 00:38 程序员小明1024 阅读(869) 评论(0) 推荐(0) 编辑
摘要:maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能。 这是maven系列第4篇。 整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部有maven完整系列的连接。 环境 maven3.6.1 开发工具idea jdk1.8 本篇内容 阅读全文
posted @ 2022-04-22 00:24 程序员小明1024 阅读(731) 评论(0) 推荐(0) 编辑
摘要:maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能。** 这是maven系列第3篇。 我们先来回顾一下什么是maven? maven是apache软件基金会组织维护的一款自动化构件工具,专注服务于java平台的项目构件和依赖管理。 本文主要内容 感受一下maven的效果 mav 阅读全文
posted @ 2022-04-22 00:12 程序员小明1024 阅读(226) 评论(0) 推荐(0) 编辑
摘要:maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能。 这是maven系列第2篇。 本文主要内容 linux中安装maven window中安装maven mvn命令运行的原理 maven配置设置 本篇环境 jdk1.8 maven3.6.2 我们要写java代码,需要安装jdk 阅读全文
posted @ 2022-04-21 22:57 程序员小明1024 阅读(372) 评论(0) 推荐(0) 编辑
摘要:maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能。 这是maven系列第1篇。 为什么我们要学习maven? 学习某些技术,肯定是我们遇到了某些问题,而这些问题目前手头上没有很好的方案去解决,此时刚好有一种技术可以很好的解决这个问题,这样能够驱动我们愿意去学。所以我们学任何技 阅读全文
posted @ 2022-04-21 22:45 程序员小明1024 阅读(68) 评论(0) 推荐(0) 编辑
摘要:1、配置logback日志 <?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="10 seconds"> <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < 阅读全文
posted @ 2022-04-18 22:49 程序员小明1024 阅读(739) 评论(0) 推荐(0) 编辑
摘要:在创建完仓库之后,用户可以通过如下方式,可以向仓库提交第一行代码。 此处我们以用户账号下命名为 HelloGitee 的仓库为例。对应的仓库地址为:https://gitee.com/用户个性地址/HelloGitee.git,在实际实践中,你可以将用户个性地址替换为自己的地址。 方法1、先将仓库c 阅读全文
posted @ 2022-04-17 02:08 程序员小明1024 阅读(139) 评论(0) 推荐(0) 编辑
摘要:java的设计模式大体上分为三大类(个人理解): *创建型模式(4种):工厂模式,单例模式,建造者模式,原型模式 *结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式 *行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模 阅读全文
posted @ 2022-04-15 15:51 程序员小明1024 阅读(29) 评论(0) 推荐(0) 编辑
摘要:一、简介 Optional 是一个对象容器,具有以下两个特点: 1. 提示用户要注意该对象有可能为null 2. 简化if else代码 真正体现Optional“有效避免空指针异常”是其ifPresent()、orElse()、orElseGet()以及orElseThrow()这几个方法。 二、 阅读全文
posted @ 2022-04-15 14:30 程序员小明1024 阅读(1074) 评论(1) 推荐(0) 编辑
摘要:目录 1.尽量避免使用get()方法 2.尽量避免使用isPresent()方法 3.不要作为类的实例属性 Optional是容器 4.不要作为方法参数 5.正确使用举例 1、ifPresent()判断替换if 2、用orElse替换 if...else... 3、用orElseThrow替换 th 阅读全文
posted @ 2022-04-15 14:12 程序员小明1024 阅读(145) 评论(0) 推荐(0) 编辑
摘要:在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行一 些防御式的检查,所以在代码中常常可见if(obj != null) 这样的判断。幸好在JDK1.8中,java为我们提供了 一个Optional类,Optional类能让我们省掉繁琐的 阅读全文
posted @ 2022-04-15 14:05 程序员小明1024 阅读(133) 评论(0) 推荐(0) 编辑
摘要:Optional介绍 Optional是Jdk1.8提供的一个新类,希望可以通过该类的引入解决令人烦躁的null判断问题,非常好用。个人理解:这个类是一个包装类,将要操作的java bean封装到该类的对象里面,同时将一些常用的判断逻辑封装为成员方法,结合lambda语法,实现比较优雅的链式调用。现 阅读全文
posted @ 2022-04-15 13:57 程序员小明1024 阅读(255) 评论(0) 推荐(0) 编辑
摘要:来源:blog.csdn.net/zjhred/ article/details/84976734 引言 API介绍 实战使用 引言 在文章的开头,先说下NPE问题,NPE问题就是,我们在开发中经常碰到的NullPointerException.假设我们有两个类,他们的UML类图如下图所示 o_op 阅读全文
posted @ 2022-04-15 13:40 程序员小明1024 阅读(304) 评论(0) 推荐(0) 编辑
摘要:前言 在日常项目开发中,异常是常见的,但是如何更高效的处理好异常信息,让我们能快速定位到BUG,是很重要的,不仅能够提高我们的开发效率,还能让你代码看上去更舒服,SpringBoot的项目已经对有一定的异常处理了,但是对于我们开发者而言可能就不太合适了,因此我们需要对这些异常进行统一的捕获并处理。 阅读全文
posted @ 2022-04-15 09:14 程序员小明1024 阅读(388) 评论(0) 推荐(0) 编辑
摘要:一、IDEA自动添加文件头注释 1、 打开IDEA 2、 选择File-->settings-->Editor-->File and Code Templates-->Files 3、 选择Class文件(当然你要设置接口的还也可以选择Interface文件) 4、 进行配置 模板格式为: /*** 阅读全文
posted @ 2022-04-14 23:31 程序员小明1024 阅读(728) 评论(0) 推荐(0) 编辑
摘要:1. 前言 参加过社招的同学都了解,进入一家公司面试开发岗位时,填写完个人信息后,一般都会让先做一份笔试题,然后公司会根据笔试题的回答结果,确定要不要继续此次面试,如果答的不好,有些公司可能会直接说“技术经理或者总监在忙,你先回去等通知吧”,有些公司可能会继续面试,了解下你的项目经验等情况。 至少在 阅读全文
posted @ 2022-04-13 15:54 程序员小明1024 阅读(294) 评论(0) 推荐(0) 编辑
摘要:今天半夜写代码时,脑子一懵把@Repository注解写在了接口上,导致bean无法完成注入。 于是引发了一系列百度,看到了很多说的不错的答案。 这其实都是spring的内容,可能是半夜脑子不好使,一直没看出来哪里的问题。 关于上面的问题的解释: @Service注解是标注在实现类上的,因为@Ser 阅读全文
posted @ 2022-04-13 15:28 程序员小明1024 阅读(358) 评论(0) 推荐(0) 编辑
摘要:Java8 Lambda表达式详解手册及实例 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/wo541075754/article/details/102530810 先贩卖一下焦虑,J 阅读全文
posted @ 2022-04-12 16:07 程序员小明1024 阅读(287) 评论(0) 推荐(0) 编辑
摘要:来自:掘金,作者:前端阿飞 链接:https://juejin.cn/post/7048963605462515743 高手区别于普通人的重要一点是,他们善于利用工具,把更多的时间留给了规划和思考。写代码也是同样的道理,工具用好了,你就有更多的时间来规划架构和攻克难点。今天就给大家分享一下当前最流行 阅读全文
posted @ 2022-04-07 23:24 程序员小明1024 阅读(206) 评论(0) 推荐(0) 编辑
摘要:技巧一:提取方法,拆分逻辑 技巧二:分支逻辑提前return 技巧三:枚举 技巧四:函数式接口 技巧五:设计模式 其他技巧 写在最后 在实际的业务开发当中,经常会遇到复杂的业务逻辑,可能部分同学实现出来的代码并没有什么问题,但是代码的可读性很差。 本篇文章主要总结一下自己在实际开发中如何避免大面积的 阅读全文
posted @ 2022-04-07 23:15 程序员小明1024 阅读(56) 评论(0) 推荐(0) 编辑
摘要:记得去年我在往MySQL存入emoji表情😲😳时,一直出错,无法导入。后来找到办法 -- 通过把 utf8 改成 utf8mb4 就可以了,并没有深究。 一年后,我看到一篇文章讲到emoji文字占4个字节,通常要用utf-8去接收才行,其他编码可能会出错。我突然想到去年操作MySQL把utf8改 阅读全文
posted @ 2022-04-07 23:08 程序员小明1024 阅读(68) 评论(0) 推荐(0) 编辑
摘要:将bean放入Spring容器中有哪些方式? 我们知道平时在开发中使用Spring的时候,都是将对象交由Spring去管理,那么将一个对象加入到Spring容器中,有哪些方式呢,下面我就来总结一下 1、@Configuration + @Bean 这种方式其实,在上一篇文章已经介绍过了,也是我们最常 阅读全文
posted @ 2022-04-07 23:04 程序员小明1024 阅读(72) 评论(0) 推荐(0) 编辑
摘要:来源:酒香逢 地址:www.cnblogs.com/fnz0/p/15803011.html 当你遇到跨域问题,不要立刻就选择复制去尝试,请详细看完这篇文章再处理,我相信它能帮到你。 分析前准备: 前端网站地址:http://localhost:8080 服务端网址:http://localhost 阅读全文
posted @ 2022-04-07 22:10 程序员小明1024 阅读(957) 评论(0) 推荐(0) 编辑
摘要:上一篇好文:B站35岁女副总裁嫁给24岁男主播!厉害啊 大家好,我是后端架构师。 日常在做后台系统的时候会很频繁的遇到Excel导入导出的问题,正好这次在做一个后台系统,就想着写一个公用工具来进行Excel的导入导出。 一般我们在导出的时候都是导出的前端表格,而前端表格同时也会对应的在后台有一个映射 阅读全文
posted @ 2022-04-07 00:47 程序员小明1024 阅读(161) 评论(0) 推荐(0) 编辑
摘要:一、问题背景 现网出现慢查询,在500万数量级的情况下,单表查询速度在30多秒,需要对sql进行优化,sql如下: 我在测试环境构造了500万条数据,模拟了这个慢查询。 简单来说,就是查询一定条件下,都有哪些用户的。很简单的sql,可以看到,查询耗时为37秒。 说一下app_account字段的分布 阅读全文
posted @ 2022-04-07 00:30 程序员小明1024 阅读(104) 评论(0) 推荐(0) 编辑
摘要:git 对于大家应该都不太陌生,熟练使用git已经成为程序员的一项基本技能,尽管在工作中有诸如 Sourcetree这样牛X的客户端工具,使得合并代码变的很方便。但找工作面试和一些需彰显个人实力的场景,仍然需要我们掌握足够多的git命令。 下边我们整理了45个日常用git合代码的经典操作场景,基本覆 阅读全文
posted @ 2022-04-07 00:05 程序员小明1024 阅读(56) 评论(0) 推荐(0) 编辑
摘要:Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制。 Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。在有效使用异常的情况下,异常能清晰的回答what, where, why这3个问题:异常类型回答了“什么”被抛出,异常堆 阅读全文
posted @ 2022-04-06 23:50 程序员小明1024 阅读(115) 评论(0) 推荐(0) 编辑
摘要:一、为什么使用Maven这样的构建工具【why】 二、maven是什么【what】 三、安装maven 四、第一个maven 五、仓库和坐标 六、依赖 七、生命周期 八、Eclipse中使用maven 九、maven工程的依赖高级特性 十、build配置 图片 前言:目前所有的项目都在使用maven 阅读全文
posted @ 2022-04-06 23:41 程序员小明1024 阅读(477) 评论(0) 推荐(0) 编辑
摘要:Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好。Nginx 专为性能优化而开发,性能是其最重要的要求,十分注重效率,有报告 Nginx 能支持高达 50000 个并发连接数。 01Nginx 知识 阅读全文
posted @ 2022-04-06 23:22 程序员小明1024 阅读(49) 评论(0) 推荐(0) 编辑
摘要:往期热门文章: 1、Google 工作十年后,我选择离开! 2、推荐好用的 Spring Boot 内置工具类 3、面试官:内存耗尽后Redis会发生什么 ? 4、监控告警满飞天,运维在家睡到自然醒... 5、@Bean与@Component 同时作用同一个类,会怎么样? 来自:CSDN,作者:_L 阅读全文
posted @ 2022-04-06 22:43 程序员小明1024 阅读(21) 评论(0) 推荐(0) 编辑
摘要:业务同学抱怨业务开发没有技术含量,用不到设计模式、Java 高级特性、OOP,平时写代码都在堆 CRUD,个人成长无从谈起。 其实,我认为不是这样的。设计模式、OOP 是前辈们在大型项目中积累下来的经验,通过这些方法论来改善大型项目的可维护性。反射、注解、泛型等高级特性在框架中大量使用的原因是,框架 阅读全文
posted @ 2022-04-06 22:36 程序员小明1024 阅读(336) 评论(0) 推荐(0) 编辑
摘要:一、什么是单点登陆 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统 二、简单的运行机制 单点登录的机制其实是比较简单的,用一个现实中的例子做比较。某公园内部有许多 阅读全文
posted @ 2022-04-06 22:19 程序员小明1024 阅读(119) 评论(0) 推荐(0) 编辑
摘要:强烈推荐阅读:到底如何学好Java? 本文将介绍 POST 提交数据的常见的 4 种格式,比如你经常要为前端提供各种 http 接口,那么本文对你大有益处,这里所说的数据格式,也就是 Content-Type(用来指定提交数据的格式)常见的 4 种类型,大家注意下每种格式中 http 发送请求时 b 阅读全文
posted @ 2022-04-06 00:58 程序员小明1024 阅读(181) 评论(0) 推荐(0) 编辑
摘要:Transactional失效场景介绍 第一种 Transactional注解标注方法修饰符为非public时,@Transactional注解将会不起作用。例如以下代码。 定义一个错误的@Transactional标注实现,修饰一个默认访问符的方法 /** * @author zhoujy **/ 阅读全文
posted @ 2022-04-06 00:28 程序员小明1024 阅读(376) 评论(0) 推荐(0) 编辑
摘要:在应用开发的早期,数据量少,开发人员开发功能时更重视功能上的实现,随着生产数据的增长,很多 SQL 语句开始暴露出性能问题,对生产的影响也越来越大,有时可能这些有问题的 SQL 就是整个系统性能的瓶颈。 SQL 优化一般步骤 | 通过慢查日志等定位那些执行效率较低的 SQL 语句 | explain 阅读全文
posted @ 2022-04-06 00:23 程序员小明1024 阅读(48) 评论(0) 推荐(0) 编辑
摘要:作者:db匠 来源:yq.aliyun.com/articles/72501 sql语句的执行顺序: FROM <1>ON <2>JOIN <3>WHERE <4>GROUP BY <5>HAVING <6>SELECT <7>DISTINCT <8>ORDER BY <9>LIMIT <10><l 阅读全文
posted @ 2022-04-06 00:15 程序员小明1024 阅读(31) 评论(0) 推荐(0) 编辑
摘要:编辑:业余草 juejin.cn/post/6863668253898735629 推荐:https://www.xttblog.com/?p=5317 前言 面试官:来说说,一千万的数据,你是怎么查询的? 群友:直接分页查询,使用limit分页。 面试官:有实操过吗? 群友:肯定有呀 此刻献上一首 阅读全文
posted @ 2022-04-06 00:10 程序员小明1024 阅读(152) 评论(0) 推荐(0) 编辑
摘要:文章介绍了spring-boot中实现通用auth的四种方式,包括 传统AOP、拦截器、参数解析器和过滤器,并提供了对应的实例代码,最后简单总结了下他们的执行顺序。 前言 最近一直被无尽的业务需求淹没,没时间喘息,终于接到一个能让我突破代码舒适区的活儿,解决它的过程非常曲折,一度让我怀疑人生,不过收 阅读全文
posted @ 2022-04-06 00:01 程序员小明1024 阅读(317) 评论(0) 推荐(0) 编辑
摘要:程序员路人 专注Java相关技术:SSM、Spring全家桶、微服务、MySQL、MyCat、集群、分布式、中间件、Linux、网络、多线程,偶尔讲点运维Jenkins、Nexus、Docker、ELK,偶尔分享些技术干货,致力于Java全栈开发! 1篇原创内容 --> 公众号 强烈推荐阅读:到底如 阅读全文
posted @ 2022-04-05 23:48 程序员小明1024 阅读(118) 评论(0) 推荐(0) 编辑
摘要:虽然我们都知道有23个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。 Mybatis至少遇到了以下的设计模式的使用: Builder模式,例如SqlSessionFactoryBuilde 阅读全文
posted @ 2022-04-05 23:32 程序员小明1024 阅读(63) 评论(0) 推荐(0) 编辑
摘要:乐观锁和悲观锁 独占锁和共享锁 互斥锁和读写锁 公平锁和非公平锁 可重入锁 自旋锁 分段锁 锁升级(无锁|偏向锁|轻量级锁|重量级锁) 锁优化技术(锁粗化、锁消除) 乐观锁和悲观锁 悲观锁 悲观锁对应于生活中悲观的人,悲观的人总是想着事情往坏的方向发展。 举个生活中的例子,假设厕所只有一个坑位了,悲 阅读全文
posted @ 2022-04-05 23:17 程序员小明1024 阅读(40) 评论(0) 推荐(0) 编辑
摘要:1.简介 在使用spring完成项目的时候需要完成记录日志,开始以为Spring 的AOP功能,就可以轻松解决,半个小时都不用,可是经过一番了解过后,发现一般的日志记录,只能记录一些简单的操作,例如表名、表名称等记录不到。 这个时侯就用到了自定义注解,把想要记录的内容放在注解中,通过切入点来获取到注 阅读全文
posted @ 2022-04-05 22:49 程序员小明1024 阅读(154) 评论(0) 推荐(0) 编辑
摘要:Java8 中增加了 Stream 处理,可以配合 Lambda 表达式来使用,让操作集合非常便利。虽然我们平时经常使用 Stream,但用到的方法其实非常少,这篇文章就来完整的介绍 Stream 的使用。 Stream 提供的方法非常多,按照调用当前方法是否结束流处理,可以分为中间操作和结束操作。 阅读全文
posted @ 2022-04-05 22:42 程序员小明1024 阅读(118) 评论(0) 推荐(0) 编辑
摘要:统一结果返回 目前的前后端开发大部分数据的传输格式都是json,因此定义一个统一规范的数据格式有利于前后端的交互与UI的展示。 统一结果的一般形式 是否响应成功; 响应状态码; 状态码描述; 响应数据 其他标识符 结果类枚举 前三者可定义结果枚举,如:success,code,message @Ge 阅读全文
posted @ 2022-04-05 22:13 程序员小明1024 阅读(41) 评论(0) 推荐(0) 编辑
摘要:二维码在我们目前的生活工作中,随处可见,日常开发中难免会遇到需要生成二维码的场景,网上也有很多开源的平台可以使用,不过这里我们可以通过几个开源组件,自己来实现一下。 在动手之前我们先思考一下需要进行的操作,首先我们需要生成一个二维码,其次我们需要在这里二维码中间添加一个头像。 这里我们生成二维码使用 阅读全文
posted @ 2022-04-05 22:06 程序员小明1024 阅读(209) 评论(0) 推荐(0) 编辑
摘要:1.解决unknown: <!--引入spring cloud alibaba--> <dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring- 阅读全文
posted @ 2022-04-04 20:39 程序员小明1024 阅读(1738) 评论(0) 推荐(0) 编辑