自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1087)
  • 资源 (14)
  • 问答 (4)
  • 收藏
  • 关注

原创 学习总结.

Java 内容聚合分布式、微服务内容聚合C/C++ 内容集合Linux 内容聚合前端内容聚合网络内容聚合数据库内容聚合Docker内容聚合Git 内容聚合IntelliJIDEA 内容聚合Windows 内容聚合资源

2021-05-06 22:59:04 520

原创 Java字符串整齐输出

【代码】Java字符串整齐输出。

2023-10-30 15:22:18 406

原创 查看python pip安装的包存放路径(site-packages目录的位置)

通常安装在python目录下的lib/site-packages目录下。没有pip的情况下,Python中列出所有已安装的软件包。输入具体的模块名,获取这个模块的帮助信息。启动python命令行,输入以下两行命令。在python的交互界面,输入。包名,就可以看到安装到哪了。

2023-09-23 10:01:07 4983

原创 Python内容聚合

Python3 教程 Python 标准库概览

2023-06-01 09:28:03 992

原创 Java使用Hibernate-Validator验证API接口参数

Target({/*** 是否必填 默认是必填的* @return/*** 验证失败的消息* @return*/ String message() default "枚举的验证失败";/*** 分组的内容* @return*/ Class

2023-04-27 16:26:14 342 1

原创 Maven打包生成源码包和Javadoc包

Maven打包生成源码包和Javadoc包。

2023-04-06 14:11:04 652

原创 Java 终止线程的几种方式

一般run()方法执行完,线程就会正常结束,然而,常常有些线程是伺服线程。他们需要长时间的运行,只有在外部某些条件满足的情况下,才能关闭这些线程。我们可以直接使用thread.stop()来强行终止线程,但是stop()方法是很危险的,就想突然关闭电源一样。所谓正常运行结束,就是程序正常运行结束,线程自动结束。

2023-04-06 10:08:15 8229 2

原创 Java 强制类型转化

【代码】Java 强制类型转化。

2023-04-03 16:15:01 828

原创 IDEA设置todo快捷键

6.在编辑器内,输入td,然后按下tab键,则会出现你自己设置todo的内容模板。4.user–点击右上角添加。5.添加命名和描述后点击ok。1.打开setting。

2023-04-03 11:36:13 1690

原创 SpringBoot IOC初始化流程

11、根据用户是否明确设置了applicationContextClass 类型以及初始化阶段的推断结果,决定该为当前 SpringBoot 应用创建什么类型的 ApplicationContext 并创建完成,然后根据条件决定是否添加 ShutdownHook,决定是否使用自定义的 BeanNameGenerator,决定是否使用自定义的 ResourceLoader,当然,最重要的,将之前准备好的 Environment 设置给创建好的 ApplicationContext 使用。

2023-02-07 16:27:14 316

原创 Spring 事务管理

一、声明式事务声明式事务实现方式主要有2种,一种为通过使用Spring的定义事务通知与AOP相关配置实现,另为一种通过实现事务管理实现。

2023-02-01 15:59:54 219

原创 Java获取客户端IP地址

Java获取客户端IP地址

2023-01-11 21:00:00 425

原创 Java <? extends T>和<? super T>

java extedns super

2022-12-19 18:09:25 243

原创 Java <? extends T>和<? super T>

java extedns super

2022-12-19 18:08:08 171

转载 Java 用POI设置Excel的列宽

JAVApoi

2022-12-19 18:05:38 3882

原创 Vue.js 事件处理器

一、Vue.js 事件处理器事件监听可以使用 v-on 指令:<div id="app"> <button v-on:click="counter += 1">增加 1</button> <p>这个按钮被点击了 {{ counter }} 次。</p></div> <script>new Vue({ el: '#app', data: { counter: 0 }})</

2022-12-19 17:07:59 333

转载 MySQL 表结构优化

mysql

2022-12-19 16:43:30 172

转载 MySQL SQL优化与索引优化

mysql

2022-12-19 16:42:24 91

原创 MySQL 的主从复制

10.1、MySQL主从复制的原理:Slave从Master获取binlog二进制日志文件,然后再将日志文件解析成相应的SQL语句在从服务器上重新执行一遍主服务器的操作,通过这种方式来保证数据的一致性。由于主从复制的过程是异步复制的,因此Slave和Master之间的数据有可能存在延迟的现象,只能保证数据最终的一致性。在master和slave之间实现整个复制过程主要由三个线程来完成:(1)Slave SQL thread线程:创建用于读取relay log中继日志并执行日志中包含的更新,位于slav

2022-12-19 16:35:44 459

原创 MySql 分区

分区就是将表的数据按照特定规则存放在不同的区域,也就是将表的数据文件分割成多个小块,在查询数据的时候,只要知道数据数据存储在哪些区域,然后直接在对应的区域进行查询,不需要对表数据进行全部的查询,提高查询的性能。同时,如果表数据特别大,一个磁盘磁盘放不下时,我们也可以将数据分配到不同的磁盘去,解决存储瓶颈的问题,利用多个磁盘,也能够提高磁盘的IO效率,提高数据库的性能。在使用分区表时,需要注意分区字段必须放在主键或者唯一索引中、每个表最大分区数为1024;常见的分区类型有:Range分区、List分区、Has

2022-12-19 16:34:07 179

原创 IDEA自定义项目显示名称

IDEA .name

2022-12-19 16:31:42 496

原创 MySQL 索引的实现原理

索引本质上就是一种通过减少查询需要遍历行数,加快查询性能的数据结构,避免数据库进行全表扫描,好比书的目录,让你更快的找到内容。(一个表最多16个索引)6.1、索引的优缺点:(1)索引的优点:减少查询需要检索的行数,加快查询速度,避免进行全表扫描,这也是创建索引的最主要的原因。如果索引的数据结构是B+树,在使用分组和排序时,可以显著减少查询中分组和排序的时间。通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。(2)索引的缺点:当对表中的数据进行增加、删除和修改时,索引也要进行更新,

2022-12-15 23:31:25 660

原创 MySql 主键一般用自增ID还是UUID

14、主键一般用自增ID还是UUID?(1)自增ID:使用自增ID的好处:字段长度较 UUID 会小很多。数据库自动编号,按顺序存放,利于检索无需担心主键重复问题使用自增ID的缺点:因为是自增,在某些业务场景下,容易被其他人查到业务量。发生数据迁移时,或者表合并时会非常麻烦在高并发的场景下,竞争自增锁会降低数据库的吞吐能力(2)UUID:通用唯一标识码,UUID是基于当前时间、计数器和硬件标识等数据计算生成的。使用UUID的优点:唯一标识,不用考虑重复问题,在数据拆分

2022-12-15 23:30:11 4010

原创 MySql 分库分表:垂直分表、垂直分库、水平分表、水平分库

读写分离解决的是数据库读写操作的压力,但是没有分散数据库的存储压力,利用分库分表可以解决数据库的储存瓶颈,并提升数据库的查询效率。12.1、垂直拆分:(1)垂直分表:将一个表按照字段分成多个表,每个表存储其中一部分字段。一般会将常用的字段放到一个表中,将不常用的字段放到另一个表中。优点:(1)避免IO竞争减少锁表的概率。因为大的字段效率更低,第一,大字段占用的空间更大,单页内存储的行数变少,会使得IO操作增多;第二数据量大,需要的读取时间长。(2)可以更好地提升热门数据的查询效率。(2)

2022-12-15 23:29:41 2557

原创 MySql 读写分离

11.1、实现原理:读写分离解决的是,数据库的写操作,影响了查询的效率,适用于读远大于写的场景。读写分离的实现基础是主从复制,主数据库利用主从复制将自身数据的改变同步到从数据库集群中,然后主数据库负责处理写操作(当然也可以执行读操作),从数据库负责处理读操作,不能执行写操作。并可以根据压力情况,部署多个从数据库提高读操作的速度,减少主数据库的压力,提高系统总体的性能。11.2、读写分离提高性能的原因:(1)增加物理服务器,负荷分摊;(2)主从只负责各自的写和读,极大程度的缓解X锁和S锁争用;(3

2022-12-15 23:28:27 138

原创 MySql explain

执行计划是SQL语句经过查询分析器后得到的 抽象语法树 和 相关表的统计信息 作出的一个查询方案,这个方案是由查询优化器自动分析产生的。由于是动态数据采样统计分析出来的结果,所以可能会存在分析错误的情况,也就是存在执行计划并不是最优的情况。通过explain关键字知道MySQL是如何执行SQL查询语句的,分析select 语句的性能瓶颈,从而改进我们的查询,explain的结果如下:重要的有id、type、key、key_len、rows、extra:(1)id:id列可以理解为SQL执行顺序的标识,

2022-12-15 23:27:09 193

原创 MySql 数据库中的锁机制

当数据库中多个事务并发存取同一数据的时候,若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。MySQL锁机制的基本工作原理就是,事务在修改数据库之前,需要先获得相应的锁,获得锁的事务才可以修改数据;在该事务操作期间,这部分的数据是锁定,其他事务如果需要修改数据,需要等待当前事务提交或回滚后释放锁。按照不同的分类方式,锁的种类可以分为以下几种:按锁的粒度划分:表级锁、行级锁、页级锁;按锁的类型划分:共享(锁S锁)、排他锁(X锁);按锁的使用策略划分:乐观锁、悲观锁;5.1、

2022-12-15 23:24:55 248

原创 MySql SQL语句的执行过程

2.1、客户端的数据库驱动与数据库连接池:(1)客户端与数据库进行通信前,通过数据库驱动与MySQL建立连接,建立完成之后,就发送SQL语句(2)为了减少频繁创建和销毁连接造成系统性能的下降,通过数据库连接池维护一定数量的连接线程,当需要进行连接时,就直接从连接池中获取,使用完毕之后,再归还给连接池。常见的数据库连接池有 Druid、C3P0、DBCP2.2、MySQL架构的Server层的执行过程:(1)连接器:主要负责跟客户端建立连接、获取权限、维持和管理连接(2)查询缓存:优先在缓存中进行查

2022-12-15 23:23:16 352

原创 MySql 事务的ACID与实现原理

数据库的事务是并发控制的基本单位,是指逻辑上的一组操作,要么全部执行,要么全部不执行。4.1、事务的ACID:(1)原子性:事务是一个不可分割的工作单元,事务里的操作要么都成功,要么都失败,如果事务执行失败,则需要进行回滚。(2)隔离性:事务的所操作的数据在提交之前,对其他事务的可见程度。(3)持久性:一旦事务提交,它对数据库中数据的改变就是永久的。(4)一致性:事务不能破坏数据的完整性和业务的一致性。例如在转账时,不管事务成功还是失败,双方钱的总额不变。4.2、ACID的实现原理:原

2022-12-15 23:22:04 587

原创 MySql InnoDB与MyISAM的区别

常用的存储引擎?InnoDB与MyISAM的区别?存储引擎是对底层物理数据执行实际操作的组件,为Server服务层提供各种操作数据的API。常用的存储引擎有InnoDB、MyISAM、Memory。这里我们主要介绍InnoDB 与 MyISAM 的区别:(1)事务:MyISAM不支持事务,InnoDB支持事务(2)锁级别:MyISAM只支持表级锁,InnoDB支持行级锁和表级锁,默认使用行级锁,但是行锁只有通过索引查询数据才会使用,否则将使用表锁。行级锁在每次获取锁和释放锁的操作需要消耗比表锁更多

2022-12-15 23:20:33 1047

原创 MySql 数据库的常用范式

数据库的常用范式:第一范式(1NF):指表的列不可再分,数据库中表的每一列都是不可分割的基本数据项,同一列中不能有多个值;第二范式(2NF):在 1NF 的基础上,还包含两部分的内容:一是表必须有一个主键;二是表中非主键列必须完全依赖于主键,不能只依赖于主键的一部分;第三范式(3NF):在 2NF 的基础上,消除非主键列对主键的传递依赖,非主键列必须直接依赖于主键。BC范式(BCNF):在 3NF 的基础上,消除主属性对于码部分的传递依赖...

2022-12-15 23:17:49 379

原创 MySql 聚簇索引和非聚簇索引的区别

mysql索引

2022-12-11 21:56:19 123

原创 MySql 如何优化大表

MySql

2022-12-07 10:05:35 227

原创 MyBatis 分页方式

RowBounds 表面是在“所有”数据中检索数据,其实并非是一次性查询出所有数据,因为 MyBatis 是对 jdbc 的封装,在 jdbc 驱动中有一个 Fetch Size 的配置,它规定了每次最多从数据库查询多少条数据,假如你要查询更多数据,它会在你执行 next()的时候,去查询更多的数据。逻辑分页是一次性查询很多数据,然后再在结果中检索分页的数据。物理分页是从数据库查询指定条数的数据,弥补了一次性全部查出的所有数据的种种缺点,比如需要大量的内存,对数据库查询压力较大等问题。

2022-10-25 10:00:48 1383

原创 MyBatis 执行器(Executor)

八、MyBatis 有哪些执行器(Executor)?MyBatis 有三种基本的Executor执行器:SimpleExecutor:每执行一次 update 或 select 就开启一个 Statement 对象,用完立刻关闭 Statement 对象;ReuseExecutor:执行 update 或 select,以 SQL 作为 key 查找 Statement 对象,存在就使用,不存在就创建,用完后不关闭 Statement 对象,而是放置于 Map 内供下一次使用。简言之,就是重

2022-10-24 11:56:47 572

原创 MyBatis 自定义插件

7、简述Mybatis的插件运行原理,以及如何编写一个插件。答:Mybatis仅可以编写针对ParameterHandler、ResultSetHandler、StatementHandler、Executor这4种接口的插件,Mybatis使用JDK的动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能,每当执行这4种接口对象的方法时,就会进入拦截方法,具体就是InvocationHandler的invoke()方法,当然,只会拦截那些你指定需要拦截的方法。编写插件:实现Mybatis的Int

2022-10-24 10:38:01 2743

原创 MyBatis 解决实体类中的属性名和表中的字段名不一样

第1种: 通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致。 <select id=”selectorder” parametertype=”int” resultetype=”me.gacl.domain.order”> select order_id id, order_no orderno ,order_price price form orders where order_id=#{id}; </select>.

2022-10-20 15:58:25 507

原创 MyBatis 接口绑定

22、什么是MyBatis的接口绑定?有哪些实现方式?接口绑定,就是在MyBatis中任意定义接口,然后把接口里面的方法和SQL语句绑定, 我们直接调用接口方法就可以,这样比起原来了SqlSession提供的方法我们可以有更加灵活的选择和设置。接口绑定有两种实现方式,一种是通过注解绑定,就是在接口的方法上面加上 @Select、@Update等注解,里面包含Sql语句来绑定;另外一种就是通过xml里面写SQL来绑定, 在这种情况下,要指定xml映射文件里面的namespace必须为接口的全路径名。当Sq

2022-10-20 15:42:07 852

原创 MyBatis 一级缓存和二级缓存

9、Mybatis的一级、二级缓存:(1)一级缓存: 基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该 Session 中的所有 Cache 就将清空,默认打开一级缓存。(2)二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap 存储,不同在于其存储作用域为 Mapper(Namespace),并且可自定义存储源,如 Ehcache。默认不打开二级缓存,要开启二级

2022-10-20 09:56:17 2349

原创 MyBatis 模糊查询like语句

MyBatis 模糊查询like语句

2022-10-19 17:50:54 929

sqlyog.rar

Administrate MySQL Databases With Ease Using a Graphical Interface MySQL is probably the world's most popular open source database engine but it can b

2019-10-11

mysql__5.5.rar

mysql是一个多线程的,结构化查询语言(sql)数据库服务器。sql 在世界上是最流行的数据库语言。mysql 的执行性能非常高,运行速度非常快,并非常容易使用。是一个非常捧的数据库。 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

2019-09-25

makefile.zip

在软件开发中,make是一个工具程序(Utility software),经由读取叫做“makefile”的文件,自动化建构软件。它是一种转化文件形式的工具,转换的目标称为“target”;与此同时,它也检查文件的依赖关系,如果需要的话,它会调用一些外部软件来完成任务。它的依赖关系检查系统非常简单,

2019-08-28

CMake中文手册.rar

CMake CMake附图 1 CMake 就是针对上面问题所设计的工具:它首先允许开发者编写一种平台无关的 CMakeList.txt 文件来定制整个编译流程,然后再根据目标用户的平台进一步生成所需的本地化 Makefile 和工程文件,如 Unix 的 Makefile 或 Windows 的 Visual Studio 工程。从而做到“Write once, run everywhere”。显然,CMake 是一个比上述几种 make 更高级的编译配置工具。一些使用 CMake 作为项目架构系统的知名开源项目有 VTK、ITK、KDE、OpenCV、OSG 等 [1]。

2019-08-17

Git教程By廖雪峰.rar

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

2019-07-30

GifCam.rar

一款非常简单好用的gif录制编辑软件【GifCam】汉化单文件。相比LICEcap有过之而无不及 单文件 软件大小也就几百KB 可录制可编辑。具有精确录制、可剪辑等特色。我们常常会看到微博或论坛上的一些人的头像和签名有些 GIF 动画图片非常搞笑有趣,这些动态图片到底是怎么制作的呢?其实有了 GifCam 软件你也能轻松制作出来。

2019-07-29

Git-2.22.0-64-bit.rar

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

2019-07-29

bootstrap4

Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的。

2019-07-25

bootstrap.rar

Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的。

2019-07-18

MobaXterm.rar

MobaXterm是您远程计算的终极工具箱。在单个Windows应用程序中,它提供了大量功能,这些功能是为程序员,网站管理员,IT管理员以及需要以更简单的方式处理远程作业的所有用户量身定制的。

2019-07-07

Mybatis指南

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

2019-02-28

ASM4使用指南

ASM是一个通用的Java字节码操作和分析框架。它可以用于修改现有类或直接以二进制形式动态生成类。ASM提供了一些常见的字节码转换和分析算法,可以从中构建自定义复杂转换和代码分析工具。ASM提供与其他Java字节码框架类似的功能,但专注于 性能。因为它的设计和实现尽可能小而且快,所以它非常适合在动态系统中使用(但当然也可以以静态方式使用,例如在编译器中)。

2019-02-23

Postman-win64-7.3.4-Setup.rar

用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一。

2008-08-15

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

TA关注的人

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