自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 问答 (2)
  • 收藏
  • 关注

原创 线程池参数设置原则

一:线程池参数简介corePoolSize:核心线程数queueCapacity:阻塞队列参数合理设置为了说明合理设置的条件,我们首先确定有以下几个相关参数:1、tasks:系统每秒需要处理的最大任务数量(假设每秒任务数为100-1000);2、tasktime:单线程处理一个任务所需要的时间,0.1s;3、responsetime:系统允许任务最大的响应时间(每个响应时间不超过2s);corePoolSize:核心线程数每个任务需要tasktime

2022-05-24 14:44:45 4165

转载 ThreadLocal问题总结

前一段时间,有同事使用ThreadLocal踩坑了,正好引起了我的兴趣。所以近期,我抽空把ThreadLocal的源码再研究了一下,越看越有意思,发现里面的东西还真不少。我把精华浓缩了一下,汇集成了下面11个问题,看看你能顶住第几个?1. 为什么要用ThreadLocal?并发编程是一项非常重要的技术,它让我们的程序变得更加高效。但在并发的场景中,如果有多个线程同时修改公共变量,可能会出现线程安全问题,即该变量最终结果可能出现异常。为了解决线程安全问题,JDK出现了很多技术手段,

2022-05-19 18:01:42 1879 1

原创 一文读懂java中的Reference和引用类型

简介java中有值类型也有引用类型,引用类型一般是针对于java中对象来说的,今天介绍一下java中的引用类型。java为引用类型专门定义了一个类叫做Reference。Reference是跟java垃圾回收机制息息相关的类,通过探讨Reference的实现可以更加深入的理解java的垃圾回收是怎么工作的。本文先从java中的四种引用类型开始,一步一步揭开Reference的面纱。java中的四种引用类型分别是:强引用,软引用,弱引用和虚引用。强引用Strong Reference...

2022-04-13 15:44:05 1227

原创 Spring-Security登录密码验证过程(UsernamePasswordAuthenticationFilter)

Spring-Security主要是一个由一堆Filter组成的过滤器链,每个Filter做自己的事情。今天我跟一下登录的密码认证过程,主要是UsernamePasswordAuthenticationFilter这个类1.web.xml中配置security <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>o...

2021-07-22 15:52:20 1223

原创 spring-security权限认证

1、认证与授权 认证:系统中,用户需要登录才可以正常进行功能访问,登录时就需要进行认证,确保为合法用户再进行操作; 授权:app中的功能较多,有些账号不需要访问所有的功能。此时就需要根据账号对应的角色来进行访问不同的功能,此时就需要的时对账号进行授权访问;2、业务表结构 一般带认证授权的业务需要7张表来完成功能的实现。其中4张数据表,用户表t_user、权限表t_permission、角色表t_role、菜单表t_menu;3张数据表的关系表,用户角色关系表 t_use...

2021-03-24 23:31:26 462

转载 消息中间件学习第一天

一、消息中间件相关知识1、概述消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。2、消息中间件的组成 2.1 Broker消息服务器,作为server提供消息核心服务 2.2 Producer消息生产者,业务的发起方,负责生产...

2021-02-28 08:52:38 125

原创 MySQL从入门到应用 第十五天

基于MySQL主从复制实现读写分离1、概述 在Mysql主从复制的基础上,可以使用读写分离来降低单台Mysql节点的压力,从而来提高访问效率。对于读写分离的实现,可以通过Spring AOP 来进行动态的切换数据源。2. 读写分离的实现 2.1 配置多数据源# 主数据库信息jdbc.write.driver=com.mysql.jdbc.Driver jdbc.write.url=jdbc:mysql://***.***.***.***:3306/db_name...

2021-02-23 22:59:51 89

原创 MySQL从入门到应用 第十四天

MySQL复制1. 复制概述 复制是指将主数据库的DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状复制。2. 复制原理 MySQL 的主从复制原理如下: 从上层来看,复制分成三步: Master 主库在事务提交时,会把数据变更作为时间 Events 记录在二进...

2021-02-21 20:36:33 121

原创 MySQL从入门到应用 第十三天

MySQL日志1. 错误日志 log_error 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。该日志是默认开启的 ,文件名为hostname.err(hostname是主机名)。show variables like 'log_error%'; -- 查看错误日志文件存储路径;2. 二进制日志 binlog 二进制...

2021-02-05 00:02:57 103

原创 MySQL从入门到应用 第十二天

MySQL中的常用工具1. mysqlmysql [options] [database] [-e "sql语句"]; 1.1 连接选项mysql -h 127.0.0.1 -P 3306 -u root -p -- 服务端连接方式一mysql -h127.0.0.1 -P3306 -uroot -p2143 -- 服务端连接方式二参数注释: -h, --host=name 指定服务器IP或域名;-P, --port=# 指定连接端口;-u, ...

2021-02-04 23:29:58 66

原创 MySQL从入门到应用 第十一天

MySQL常用函数1. 数字函数函数名称 作用 ABS 求绝对值 SQRT 求二次方根 MOD 求余数 CEIL 和 CEILING 两个函数功能相同,都是返回不小于参数的最小整数,即向上取整 FLOOR 向下取整,返回值转化为一个BIGINT RAND 生成一个0~1之间的随机数,传入整数参数时,用来产生重复序列 ROUND 对所传参数进行四舍五入 SIGN 返回参数的符号 POW 和 POWER 两个

2021-02-02 00:01:24 117 1

原创 MySQL从入门到应用 第十天

1. MySQL锁 1.1 锁的分类 从对数据操作的粒度分 :1) 表锁:操作时,会锁定整个表。 2) 行锁:操作时,会锁定当前操作行。 从对数据操作的类型分: 1) 读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响。2) 写锁(排它锁):当前操作没有完成之前,它会阻断其他写锁和读锁。 1.2 各个存储引擎对锁的支持存储引擎 表级锁 行级锁 页面锁 MyISAM 支持 不支持 不支持...

2021-02-01 23:45:02 70

原创 MySQL从入门到应用 第九天

1. MySQL查询缓存优化 1.1 查询缓存的有关配置SHOW VARIABLES LIKE 'have_query_cache'; -- 查看当前mysql是否支持查询缓存;参数值 含义 OFF 或 0 查询缓存功能关闭 ON 或 1 查询缓存功能打开,SELECT的结果符合缓存条件即会缓存,否则,不予缓存,显式指定 SQL_NO_CACHE,不予缓存 DEMAND 或...

2021-02-01 22:43:16 124

原创 MySQL从入门到应用 第八天

1. SQL的优化步骤 1.1 查看SQL的执行频率 MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息。show [session|global] status 可以根据需要加上参数“session”或者“global”来显示 session 级(当前连接)的计结果和global 级(自数据库上次启动至今)的统计结果。如果不写,默认使用参数是“session”。 我们通常比较关心的是以下几个统计参数...

2021-01-30 23:35:35 132

转载 MySQL从入门到应用 第七天

读本篇文章之前,需要先了解一些知识: 什么是索引? mysql索引原理详解 mysql索引管理详解 如何正确的使用索引? 上面3篇文章没有读过的最好去读一下,不然后面的内容会难以理解。问题描述一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣。当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析、语法解析、权限检查、查询优化、SQL执行等一系列的步骤,简短的篇幅是绝对无能为力的。因此,本文挑选了其

2021-01-30 23:02:23 58

原创 MySQL从入门到应用 第六天

1. MySQL存储引擎 存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式 。存储引擎是基于表的,而不是基于库的。所以存储引擎也可被称为表类型。Oracle,SqlServer等数据库只有一种存储引擎。MySQL提供了插件式的存储引擎架构。所以MySQL存在多种存储引擎,可以根据需要使用相应引擎,或者编写存储引擎。MySQL5.0支持的存储引擎包含 : InnoDB 、MyISAM 、BDB、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE、CSV、B..

2021-01-30 22:49:51 279 4

原创 MySQL从入门到应用 第五天

1. 存储过程与函数 1.1 概念 存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程和函数的区别在于函数必须有返回值,而存储过程没有。 函数 : 是一个有返回值的过程 ; 过程 : 是一个没有返回值的函数 ,(out类型参数类似于一个C语言中的地址传递入参,函数内部对参数改变函数外部可以获取,...

2021-01-23 00:10:34 89

原创 MySQL从入门到应用 第四天

1. 索引 索引(index)是帮助MySQL高效获取数据的数据结构(有序)。类似与一本书的目录结构。 1.1.1 索引的特点 1) 优点:提高数据检索的效率,降低数据库的IO成本;通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗; 2) 缺点:实际上索引也是一张表,保存的时主键与索引的映射关系,占用了一定的内存资源;增加了查询的速度,但是降低了增删改的速度,因为数据改变也需要同步维护索引; 1.1.2 存储引擎对索引的支持...

2021-01-22 00:09:15 72

原创 MySQL从入门到应用 第三天

1、事务 1.1 什么是事务:在实际中,一个操作需要执行多条sql才能完成业务。此时需要保证多条执行的sql全部成功,其中一个失败都会导致业务失败。则称为这多条sql形成一个事务。 1.2 事务的操作 : 手动提交事务,自动提交事务 1.2.1 手动提交事务sql 1.2.2 自动提交事务:MYSQL认为每一条DML语句(增删改)即为一个事务,执行完毕后会自动提交事务; 1.2.3 自动提交事务参数查看与设置: ...

2021-01-20 23:06:23 83

原创 MySQL从入门到应用 第二天

1.数据库备份和还原 1.1 备份数据库表与数据:未登录状态下,执行 MYSQLDUMP -u账号 -p密码 数据库名称 > 文件路径 1.2 还原数据库表与数据:登录状态下,执行USE 数据库名;SOURCE 文件路径;即可导入备份的表与数据...

2021-01-19 23:12:02 103

原创 MySQL从入门到应用 第一天

1. SQL 的概念 1.1 SQL语句分类 1)Data Definition Language (DDL 数据定义语言) 如:建库,建表 2)Data Manipulation Language(DML 数据操纵语言),如:对表中的记录操作增删改 3)Data Query Language(DQL 数据查询语言),如:对表中的查询操作 4)Data Control Language(DCL 数据控制语言),如:对用户权限的设置...

2021-01-18 23:28:25 62

空空如也

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

TA关注的人

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