自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 收藏
  • 关注

原创 十、MyBatis的缓存

一级缓存是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就 会从缓存中直接获取,不会从数据库重新访问。

2023-06-08 09:58:43 1199

原创 八、自定义映射resultMap

若字段名和实体类中的属性名不一致,则可以通过resultMap设置自定义映射

2023-06-08 09:57:37 1504

原创 七、特殊SQL的执行

/

2023-06-08 09:57:01 172

原创 九、动态SQL

Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是为了解决拼接SQL语句字符串时的痛点问题。if标签可通过test属性的表达式进行判断,若表达式的结果为true,则标签中的内容会执行;反之标签中 的内容不会执行2、where仔细观察会发现,这两种方式的区别在于第一if条件中的SQL语句是否有。这里就涉及到标签的两个特性:所以说,上面的两种写法都是可以了,Mybatis的标签会替我们做一些事情。但需要注意的是:标签只会 智能的去除(忽略)首个满足条件语句的前

2023-06-08 09:56:32 892

原创 六、MyBatis的各种查询功能

/

2023-06-08 09:56:27 121

原创 四、MyBatis的增删改查

/

2023-06-08 09:55:13 89

原创 三、核心配置文件详解

MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。

2023-06-08 09:54:34 732

原创 五、MyBatis获取参数值的两种方式(重点)

{}的本质就是字符串拼接,#{}的本质就是占位符赋值${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引 号;但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号。

2023-06-08 09:54:12 1399

原创 一、MyBatis简介

MyBatis最初是Apache的一个开源项目, 2010年6月这个项目由Apache Software Foundation迁 移到了Google Code。随着开发团队转投Google Code旗下, iBatis3.x正式更名为MyBatis。代码于 2013年11月迁移到Github。iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架 包括SQL Maps和Data Access Objects(DAO)。

2023-06-08 09:53:02 1419

原创 二、搭建MyBatis

构建工具:maven 3.5.4MySQL版本:MySQL 5.7MyBatis版本:MyBatis 3.5.7。

2023-06-08 09:52:21 549

原创 十、Java 17 新特性

JDK 17 在 2021 年 9 月 14 号正式发布了!根据发布的规划,这次发布的 JDK 17 是一个长期维护的版本(LTS)。Java 17 提供了数千个、和更新,以及(JDK 增强提案),进一步改进了 Java 语言和平台,以帮助开发人员提高工作效率。JDK 17 包括新的语言增强、库更新、对新 Apple (Mx CPU)计算机的支持、旧功能的删除和弃用,并努力确保今天编写的 Java 代码在未来的 JDK 版本中继续工作而不会发生变化。

2022-12-29 10:37:08 4498 1

原创 九、Java 16 新特性

JDK 16 在 2021 年 3 月 16 号发布!根据发布的规划,这次发布的 JDK 17 是一个长期维护的版本(LTS)。Java 16 提供了数千个、和更新,以及(JDK 增强提案),进一步改进了 Java 语言和平台,以帮助开发人员提高工作效率。

2022-12-29 09:02:06 1106

原创 八、Java 15 新特性

Text Blocks首次是在JDK 13中以预览功能出现的,然后在JDK 14中又预览了一次,终于在JDK 15中被确定下来,可放心使用了。运行程序,输出(可以看到展示为一行了):3、新功能和库的更新1、JEP 339: Edwards-Curve 数字签名算法 (EdDSA)与 JDK 中的现有签名方案相比,EdDSA 具有更高的安全性和性能,因此备受关注。它已经在OpenSSL和BoringSSL等加密库中得到支持,在区块链领域用的比较多。EdDSA是一种现代的椭圆曲线方案,具有JDK中现有

2022-12-27 09:26:02 1133

原创 七、Java 14 新特性

在这一版中,主要带来了 ZGC 增强、instanceof 增强、Switch 表达式更新为标准版等方面的改动、增强和新功能。本文主要介绍 Java 14 中的主要新特性,带您快速了解 Java 14 带来了哪些不一样的体验和便利。

2022-12-27 09:24:27 587

原创 六、Java 13 新特性

在 Java 10 中,为了改善应用启动时间和内存空间占用,通过使用 APP CDS,加大了 CDS 的使用范围,允许自定义的类加载器也可以加载自定义类给多个 JVM 共享使用,具体介绍可以参考 Java 10 新特性介绍一文详细介绍,在此就不再继续展开。Java 13 中对 Java 10 中引入的 应用程序类数据共享进行了进一步的简化、改进和扩展,即:允许在 Java 应用程序执行结束时动态进行类归档,具体能够被归档的类包括:所有已被加载,但不属于默认基层 CDS 的应用程序类和引用类库中的类。通过这种

2022-12-27 09:22:35 793

原创 五、Java 12 新特性概述

JDK12 在 2019 年 3 月 19 号正式发布,不同于JDK11,JDK12并不是一个LTS版本。作为一个中间版本,JDK12版本特性增加较少。2017年宣布的加速发布节奏要求每六个月发布一次功能,每季度更新一次,每三年发布一次长期支持(LTS)更新版本(或每六个版本一次)。

2022-12-27 09:21:50 622

原创 四、Java 11 新特性

Java 11 在 2018 年 9 月 25 日正式发布,之前在 Java 10 新特性介绍 中介绍过,为了加快的版本迭代、跟进社区反馈,Java 的版本发布周期调整为每六个月一次——即每半年发布一个大版本,每个季度发布一个中间特性版本,并且做出不会跳票的承诺。通过这样的方式,Java 开发团队能够将一些重要特性尽早的合并到 Java Release 版本中,以便快速得到开发者的反馈,避免出现类似 Java 9 发布时的两次延期的情况。

2022-12-27 09:20:57 209

原创 三、Java 10 新特性

作为当今使用最广泛的编程语言之一的 Java 在 2018 年 3 月 21 日发布了第十个大版本。为了更快地迭代、更好地跟进社区反馈,Java 语言版本发布周期调整为每隔 6 个月发布一次。Java 10 是这一新规则之后,采用新发布周期的第一个大版本。Java 10 版本带来了很多新特性,其中最备受广大开发者关注的莫过于局部变量类型推断。除此之外,还有其他包括垃圾收集器改善、GC 改进、性能提升、线程管控等一批新特性。

2022-12-27 09:19:39 256

原创 二、Java 9 新特性

Java 9 正式发布于 2017 年 9 月 21 日。作为 Java8 之后 3 年半才发布的新版本,Java 9 带来了很多重大的变化。其中最重要的改动是 Java 平台模块系统的引入。除此之外,还有一些新的特性。本文对 Java9 中包含的新特性做了概括性的介绍,可以帮助你快速了解 Java 9。

2022-12-27 09:14:03 267

原创 二、JDK8日期转换

JDK8日期类与其他各种日期类互转

2022-12-27 09:12:53 481

原创 一、JDK8新特性

速度更快代码更少(增加了新的语法 Lambda 表达式)强大的 Stream API便于并行最大化减少空指针异常 Optional只包含一个抽象方法的接口,称为函数式接口。你可以通过 Lambda 表达式来创建该接口的对象。(若 Lambda 表达式抛出一个受检异常,那么该异常需要在目标接口的抽象方法上进行声明)。我们可以在任意函数式接口上使用注解,这样做可以检查它是否是一个函数式接口,同时 javadoc 也会包含一条声明,说明这个接口是一个函数式接口。

2022-12-27 09:11:02 773

原创 二、Spring注解开发

Spring注解开发

2022-12-27 08:58:24 581

原创 十、Kubernetes 调度原理

https://kubernetes.io/zh/docs/concepts/policy/resource-quotas/https://kubernetes.io/zh/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/https://kubernetes.io/zh/docs/concepts/policy/resource-quotas/#%E5%AD%98%E5%82%A8%E8%B5%84%E6%B

2022-07-11 13:58:53 465

原创 九、Kubernetes-配置与存储

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jHfpsjHe-1657519068936)(images/8.Kubernetes-配置与存储/1620441979589.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k9YA2spQ-1657519068936)(images/8.Kubernetes-配置与存储/1620633822448.png)]Kubernetes 目前支持多达 28 种数据卷类型(其中大部分特定于具体的云

2022-07-11 13:58:01 317

原创 八、Kubernetes 网络和负载均衡

Kubernetes 网络解决四方面的问题:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vG284U51-1657518994168)(images/Kubernetes/1620208232664.png)]门面。所有的零散层上再抽取一个聚合层。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LEnpUE8y-1657518994169)(images/Kubernetes/1620106769755.png)][外链图片转存失败,源站可能有

2022-07-11 13:56:51 2718

原创 七、工作负载

工作负载是运行在 Kubernetes 上的一个应用程序。一个应用很复杂,可能由单个组件或者多个组件共同完成。无论怎样我们可以用一组Pod来表示一个应用,也就是一个工作负载Pod又是一组容器(Containers)所以关系又像是这样工作负载(Workloads)控制一组PodPod控制一组容器(Containers)​ 比如Deploy(工作负载) 3个副本的nginx(3个Pod),每个nginx里面是真正的nginx容器(container)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直

2022-07-11 13:55:24 2057

原创 六、万物基础-容器

k8s的Pod是最小单位,Pod中容器的配置需要注意以下常用的Pod里面的容器内容可以写的东西1、镜像在 Kubernetes 的 Pod 中使用容器镜像之前,我们必须将其推送到一个镜像仓库(或者使用仓库中已经有的容器镜像)。在 Kubernetes 的 Pod 定义中定义容器时,必须指定容器所使用的镜像,容器中的 字段支持与 命令一样的语法,包括私有镜像仓库和标签。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L7cUhD4v-1657518817633)(ima

2022-07-11 13:54:05 171

原创 五、kubernetes Objects(k8s对象)

https://kubernetes.io/zh/docs/concepts/overview/working-with-objects/kubernetes-objects/k8s里面操作的,就是,可以使用yaml来声明对象。然后让k8s根据yaml的声明创建出这个对象;kubectl create/run /expose…操作 Kubernetes 对象 —— 无论是创建、修改,或者删除 —— 需要使用 Kubernetes API。比如,当使用 命令行接口时,CLI 会执行必要的 Kubernete

2022-07-11 13:53:06 513

原创 四、部署dashboard

https://kubernetes.io/zh/docs/tasks/access-application-cluster/web-ui-dashboard/https://github.com/kubernetes/dashboard[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ICUlP6WR-1657518663640)(images/4.Kubernetes-基础入门/1619274681271.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保

2022-07-11 13:51:58 412

原创 三、Kubernetes基础入门

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zTg440FB-1657518623047)(https://xiaoxue-blog.oss-cn-shenzhen.aliyuncs.com/blog/202207111344206.svg?x-oss-process=style/style_one)]以上展示了一个master(主节点)和6个worker(工作节点)的k8s集群[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Md8Rv9u1

2022-07-11 13:50:40 344

原创 二、Kubernetes安装

集群:主从:分片(数据集群):11000台机器地主+奴隶地(机器)奴隶(在机器上干活)master:主节点(地主)。可能有很多(多人控股公司)node:work节点(工作节点)。 很多。真正干应用的活[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O6QqPSdq-1657518560601)(images/4.Kubernetes-基础入门/1619061915065.png)]程序员使用UI或者CLI操作k8s集群的master,就可以知道整个集群的状况。[外链图片转存失败

2022-07-11 13:49:40 448

原创 一、Kubernetes简介

例如,如果在物理服务器上运行多个应用程序,则可能会出现一个应用程序占用大部分资源的情况, 结果可能导致其他应用程序的性能下降。 一种解决方案是在不同的物理服务器上运行每个应用程序,但是由于资源利用不足而无法扩展, 并且维护许多物理服务器的成本很高。K8S之前:K8S之后:k8s管理10几台服务器。资源规划。​ 容器是打包和运行应用程序的好方式。在生产环境中,你需要管理运行应用程序的容器,并确保不会停机。 例如,如果一个容器发生故障,则需要启动另一个容器。如果系统处理此行为,会不会更容易?​ 这就是 Ku

2022-07-11 13:48:17 145

原创 一、Spring5概述与快速入门

​ Spring框架是一个开放源代码的J2EE应用程序框架,由[Rod Johnson](https://baike.baidu.com/item/Rod Johnson/1423612)发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框

2022-07-02 16:35:20 197

原创 十、Redis持久化

十、Redis持久化1、总体介绍2、RDB(Redis DataBase)1、RDB是什么2、备份是如何执行的3、Fork4、RDB持久化流程5、dump.rdb文件6、配置位置7、如何触发RDB快照;保持策略1、配置文件中默认的快照配置2、命令save VS bgsave3、flushall命令4、Save5、stop-writes-on-bgsave-error6、rdbcompression 压缩文件7、rdbchecksum 检查完整性8、rdb的备份8、优势9、劣势10、如何停止11、RDB小总结

2022-07-01 17:50:48 99

原创 九、Redis事务锁机制、连接池

九、Redis事务锁机制、连接池1、Redis的事务定义2、Multi、Exec、discard3、事务的错误处理4、事务冲突的问题1、示例2、悲观锁3、乐观锁4、WATCH key5、unwatch5、Redis事务三特性6、连接池更多内容:1、Redis的事务定义Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。Redis事务的主要作用就是串联多个命令防止别的命令插队。2、Multi、Exec、disc

2022-07-01 17:49:49 309

原创 十二、布隆过滤器BloomFilter

十二、布隆过滤器BloomFilter1、面试题2、介绍3、特点4、使用场景5、原理1、布隆过滤器实现原理和数据结构2、3步骤3、布隆过滤器误判率,为什么不要删除4、总结6、优缺点7、布谷鸟过滤器更多内容:1、面试题现有50亿个电话号码,现有10万个电话号码,如何要快速准确的判断这些电话号码是否已经存在?1、通过数据库查询-------实现快速有点难。2、数据预放到内存集合中:50亿*8字节大约40G,内存太大了。2、介绍由一个初值都为零的bit数组和多个哈希函数构成,用来快速判断某个数

2021-12-20 14:41:32 270

原创 十一、Redis集群

十一、Redis集群1、主从复制1、是什么2、能干嘛3、配置主从复制1、新建3个配置文件4、启动3台机器5、查看三台主机运行情况6、配从(库)不配主(库)7、自己测试8、复制原理9、哨兵模式(sentinel)1、是什么2、配置步骤3、复制延时10、故障恢复11、主从复制2、Redis集群1、什么是集群2、删除持久化数据3、制作6个实例4、redis cluster配置修改5、启动6个redis服务6、将六个节点合成一个集群1、合体7、什么是slots8、 查询集群中的值9、故障恢复更多内容:1、主从复

2021-12-20 14:41:09 136

原创 十三、缓存雪崩+缓存击穿+缓存穿透

十三、缓存雪崩+缓存击穿+缓存穿透1、缓存雪崩1、什么情况会发生雪崩2、雪崩解决方案2、缓存穿透1、是什么2、解决方案方案1:空对象缓存或者缺省值方案2:Google布隆过滤器Guava解决缓存穿透方案3:Redis布隆过滤器解决缓存穿透3、安装1、采用docker安装RedisBloom,推荐2、编译安装3、缓存击穿1、是什么2、解决方案4、实际案例更多内容:1、缓存雪崩1、什么情况会发生雪崩redis主机挂了,Redis 全盘崩溃比如缓存中有大量数据同时过期2、雪崩解决方案构建多级缓

2021-12-20 14:40:46 296

原创 十四、Redis分布式锁

十四、Redis分布式锁1、锁的种类2、一个靠谱分布式锁需要具备的条件和刚需1、独占性2、高可用3、防死锁4、不乱抢5、重入性3、分布式锁1、单个Redis节点实现分布式锁2、LUA脚本3、redisson实现分布式锁4、总结4、Redis分布式锁-Redlock算法Distributed locks with Redis1、使用场景2、RedLock Java的实现 Redisson3、单机案例1、三个重要元素4、多机案例1、基于setnx的分布式锁有什么缺点?2、redis之父提出了Redlock算法解

2021-12-20 14:40:33 236

原创 十五、Redisson源码解析

十五、Redisson源码解析1、code2、缓存续命3、watchdog4、源码解析1、分析1 - 通过redisson新建出来的锁key,默认是30秒2、分析23、分析34、分析4 - watch dog自动延期机制5、分析56、流程解释7、加锁查看8、可重入锁查看9、解锁5、常见异常情况更多内容:1、codepublic class WatchDogDemo{ public static final String LOCKKEY = "AAA"; private static

2021-12-20 14:40:20 1752 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除