- 博客(45)
- 收藏
- 关注
原创 Spring Security和Shiro的异同?OAuth 2是什么?
1. Spring Security 和 Shiro都是Java安全框架,它们有什么异同点?2. OAuth 2是什么?3. springBoot的自动配置和自动装配
2023-10-07 04:16:41 972
原创 单点登录的四种方式
单点登录在现在的系统架构中广泛存在,他将多个子系统的认证体系打通,实现了一个入口多处使用,而在架构单点登录时,也会遇到一些小问题,在不同的应用环境中可以采用不同的单点登录实现方案来满足需求。
2022-11-21 10:00:37 4838
原创 事务
事务你可以去看概念,我给你说下简单理解。你去斗鱼送礼物,扣了你的鱼丸给主播送了礼物,这俩操作必须是绑定在一起的,不然单个任何一个完成了另外一个没完成都会出问题。对到数据库的操作就是,你花钱,买了礼物,礼物送出去。前面两个步骤就是一个事物,花钱买-礼物发到你库存。然后这东西肯定要写到库里。这么说明白了吧,同样送礼物这个,从你的库存拿走,送给主播,也必须是一致的,必须一起完成。面试时候就照着这个意思大概的发挥吧。 亦或是你去取钱,事务就是保证在你的钱取出来的同时,你的卡里面扣除了相应的钱。要么你取不出来
2021-04-05 22:36:41 146
原创 Redis雪崩和Redis穿透
Redis雪崩:查询时Redis没有数据本来先从Redis里面查某个数据但是Redis中这个数据刚好被删除了,还没来得及更新一瞬间很多请求直接进入了Mysql进行查询而mysql承受不了太大压力,就会出现雪崩Redis穿透:跳过我们预想的数据本来先从Redis里面查某个数据但是Redis中没有这个数据那么请求就会始终从mysql中查询Redis没有起到作用Redis雪崩和Redis穿透的根本原因是:开发时,开发人员并未考虑到这些问题。Redis雪崩和Redis穿透的性质:大量
2021-03-29 17:11:16 193
原创 结合场景使用Redis缓存与数据库同步
什么场景用到了Redis缓存?1.广告数据2.搜索时,分类品牌名称,分类名称和规格数据3.购物车4.支付问题:如何实现?1.广告数据先查询Redis——>Redis中没有数据——>查询数据库,并将数据放入Redis中不要忘了,数据库数据进行更新后,要把Redis中的数据清空然后再重新开始:查询Redis——>Redis中没有数据——>查询数据库,并将数据放入Redis中2.搜索时,分类品牌名称,分类名称和规格数据在Redis中缓存:每个分类名称对应的品牌列表
2021-03-29 17:09:41 463
原创 单例多例
单例多例单例多例需要搞明白两个问题:1.什么是单例多例? 所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理,比如action; 2.如何产生单例多例? 在通用的SSH中,单例在spring中是默认的,如果要产生多例,则在配置文件的bean中添加scope="prototype"; 3.为什么用单例多例: 之所以用单例,是因为没必要每个请求都新建一个对象,这样子既浪费CPU又浪费内存;
2021-03-28 18:48:43 156
原创 MySQL数据库优化(2)
MySQL优化大批量插入数据优化1.将数据按照id有序排列2.使用load关键字(100万条:有序20s,无序1分50秒)3.插入之前,关闭唯一性校验(SET UNIQUE_CHECKS=0),插完再打开(SET UNIQUE_CHECKS=1)唯一性校验。4.关闭自动提交事务(SET AUTOCOMMIT=0),使用手动提交(SET AUTOCOMMIT=1)。insert优化原始方法:#频繁的连接和关闭连接insert into tb_test values(1,'Tom');ins
2021-03-28 00:11:56 150
原创 多线程和网络编程(网络编程)
网络编程网络编程入门UDP通信程序TCP通信程序计算机网络网络编程概述在网络通信协议下,实现网络互连的不同计算机上运行的程序间可以进行数据交换。
2021-03-24 21:27:56 259
原创 几个常见问题
1、Spring Bean的生命周期实例化 -> 属性赋值 -> 初始化 -> 销毁2、MySQL循环插入使用最简单的方式直接循环单条插入1W条,语法如下:drop procedure if exists my_procedure; delimiter //create procedure my_procedure()begin DECLARE n int DEFAULT 1; WHILE n < 10001 DO insert into t_model (uid
2021-03-23 12:40:48 125
原创 解决java种mysql中文乱码问题
乱码问题原因有多种,其中有一种是由于MySQL默认使用 ISO-8859-1 ( 即Latin1 ) 字符集,而JAVA内部使用Unicode编码,因此在JAVA中向MYSQL数据库插入数据时,或者读取数据时,都需要先转换一下编码方式。当然,如果可以直接修改配置文件的话,也可以解决乱码问题,然而某些情况下,我们并不能直接接触到配置文件(例如你是买的网上的空间),此时,我们可以采取编码格式转换的方法。插入数据:如:…String str=“中文”;String sql = “insert into
2021-03-16 16:51:04 1086
原创 MySQL常用函数
MySQL数据库中提供了很丰富的函数。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。例如,字符串连接函数可以很方便的将多个字符串连接在一起。在这一讲中将讲解的内容包括:数学函数字符串函数日期和时间函数条件判断函数系统信息函数加密函数格式化函数MySQL提供了众多功能强大、方便易用的函数,使用这些函数,可以极大地提高用户对于数据库的管理效率,从而更加灵活地满足不同用户的需求。本文将MySQL的函数分
2021-03-16 13:03:44 79
原创 高并发-秒杀(1)
秒杀就是抢购的功能,会有很多人抢购,所以要求扛得住高并发秒杀的商品信息存入Redis缓存(因为访问数据量大,所以不直接对数据库进行操作)秒杀商品存入Redis来提升访问速度。1.秒杀列表数据2.秒杀详情页数据spring定时任务-定时将秒杀商品存入Redis中。定时将秒杀商品存入Redis缓存秒杀商品频道页实现-秒杀商品列表页。(从Redis里面查数据)秒杀商品详情页实现(从Redis里面取数据)下单实现(普通下单,订单添加到数据库,对并发支持不好,容易造成雪崩..
2021-02-23 01:00:33 243
原创 微信二维码支付
一、创建微服务1、导入依赖<!--微信支付--><dependency> <groupId>com.github.wxpay</groupId> <artifactId>wxpay-sdk</artifactId> <version>0.0.3</version></dependency><!--httpclient支持--> <depend
2021-02-02 02:10:20 4782 11
原创 HttpClient工具类
一、概念 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目Cactus和HTMLUnit都使用了HttpClient。 HttpClient通俗的讲就是模拟了浏览器的行为,如果我们需要在后端向某一地址提交数据获取结果,就可以使用HttpClien
2021-02-01 05:50:32 1430 2
原创 Java中的形式参数和实际参数
一、概念1、形式参数:就是在定义函数或过程的时候命名的参数。通俗讲就是一个记号。2、实际参数:就是在执行时,调用函数或过程时,传递给函数或过程的参数。通俗讲就是实际值。3、参数:就是一个变量,它随着使用者的不同而发生变化。举个例子,在中学的时候学过sin(x)函数,这里的x就是形式参数,当你需要求1的正弦值时,你会使用sin(1),这里的1就是实际参数。4、形参和实参间的关系:两者是在调用的时候进行结合的,通常实参会将取值传递给形参,形参去之后进行函数过程运算,然后可能将某些值经
2021-02-01 05:49:49 2090 4
原创 微信SDK的使用
一、导入依赖<!--微信支付--><dependency> <groupId>com.github.wxpay</groupId> <artifactId>wxpay-sdk</artifactId> <version>0.0.3</version></dependency>二、创建测试类/** * @Author TeaBowl * @Date 2021/1/
2021-02-01 05:49:01 489
原创 MySQL数据库优化(1)
1、尽量不要留nullselect id from t where num is null,可以,但尽量不要留null,null也占空间;使用not null填充数据库,像varchar(100)这种变长字段可以设置默认值为0,确保列中没有null值,查询select id from where num=0。意思就是数据表中一个字段的长度不要设置成null;即便没有值,值的长度可以设置成0。2、以小查大如:select * from admin left join lo
2021-02-01 05:46:34 224
原创 Java数据类型
1、基本数据类型(4类8种)基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型。它们是我们编程中使用最频繁的类型。java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化。类型数据类型整数类型byte、short、int、long浮点类型float、double字符类型char布尔类型boolean2、表示范围byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。short:16
2021-02-01 05:44:06 200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人