- 博客(92)
- 收藏
- 关注
原创 Mybatis Plus
Mybatis Plus官网:MyBatis-Plus (baomidou.com) 在持久层框架中mybatis应用比较多,而且比重在逐渐的上升。通常项目的组合是SSM。mybatis 之所以火,是因为他的灵活,使用方便,优化比较容易。 mybatis的直接执行sql语句,sql语句是写在xml文件中,使用mybatis 需要多个xml配置文件,在一定程度上比较繁琐。一般数据库的操作都要涉及到CURD。 mybatis-plus是在mybatis 上的增强,减少了xml的配置,几乎不用编写x
2021-05-01 09:50:43
1201
1
原创 Fiddler
Fiddler初识Fiddler,深入理解HTTP协议shift+F5清除浏览器缓存Fiddler简介Fiddler是位于客户端和服务器端的HTTP代理目前最常用的http抓包工具之一功能非常强大,是web调试的利器监控浏览器所有的HTTP/HTTPS流量查看、分析请求内容细节伪造客户端请求和服务器响应测试网站的性能解密HTTPS的web会话全局、局部断点功能第三方插件场景使用场景接口调试、接口测试、线上环境调试、web性能分析判断前后端bug、开发环境host配置
2021-04-28 10:34:50
1302
转载 redis缓存预热、缓存雪崩、缓存击穿、缓存穿透、性能监控指标
企业级解决方案缓存预热“宕机”:服务器启动后迅速宕机问题排查请求数量较高主从之间数据吞吐量较大,数据同步操作频度较高解决方案前置准备工作:日常例行统计数据访问记录,统计访问频度较高的热点数据利用LRU数据删除策略,构建数据留存队列例如:storm与kafka配合准备工作:将统计结果中的数据分类,根据级别,redis优先加载级别较高的热点数据利用分布式多服务器同时进行数据读取,提速数据加载过程热点数据主从同时预热实施:使用脚本程序固定触发数据预热过程如果
2021-03-26 19:00:27
265
转载 redis集群
集群集群简介业务发展过程中遇到的峰值瓶颈redis提供的服务OPS可以达到10万/秒,当前业务OPS已经达到10万/秒内存单机容量达到256G,当前业务需求内存容量1T使用集群的方式可以快速解决上述问题集群架构集群就是使用网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果集群作用分散单台服务器的访问压力,实现负载均衡分散单台服务器的存储压力,实现可扩展性降低单台服务器宕机带来的业务灾难Redis集群结构设计数据存储设计通过算法设计,计算出
2021-03-26 18:58:29
144
原创 redis哨兵模式
哨兵模式哨兵简介主机“宕机”关闭master和所有slave找一个slave作为master修改其他slave的配置,连接新的主启动新的master与slave全量复制*N+部分复制 *N关闭期间的数据服务谁来承接?找一个主?怎么找法?修改配置后,原始的主恢复了怎么办?哨兵哨兵(sentinel) 是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的 master并将所有slave连接到新的master。哨
2021-03-26 18:57:13
142
原创 redis高级数据类型
高级数据类型Bitmaps如果一家电影公司想统计年度浏览量最低、月度浏览量最低、周浏览量最低的数据,我们该怎么办呢?存储需求我们可以使用bit(位)来完成,比如数据库内共有10000部电影。那么我们就可以利用10000位来,每个bit上数据如果为1,那么说明今天播放过,为0说明今天没用播放过。Bitmaps类型的基础操作获取指定key对应偏移量上的bit值getbit key offset (offset:第几位的)设置指定key对应偏移量上的bit值,value只能是1或0
2021-03-26 18:52:03
166
原创 SpringBoot整合Shiro
SpringBoot整合Shiro项目初始化新建项目,勾选MVC、thymeleaf新建一个controller测试是否能正常跳转搭建认证加入shiro整合spring的包<dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.7.0</versio
2021-03-26 18:50:05
102
原创 linux环境安装redis
linux环境安装redis基于Center OS7安装Redis下载安装包或者外面下好了拖进来wget http://download.redis.io/releases/redis-?.?.?.tar.gz解压tar –xvf 文件名.tar.gz进入文件夹cd 文件名安装make install注意:安装失败是因为缺少gcc。gcc需要在root权限下安装,我们可以使用su命令切换到root权限使用yum install gcc-c++安装gc
2021-03-25 22:41:33
95
原创 Jedis
JedisJava语言连接redis服务:Jedis。jedis就是集成了redis的一些命令操作,封装了redis的java客户端。提供了连接池管理。一般不直接使用jedis,而是在其上在封装一层,作为业务的使用。如果用spring的话,可以看看spring 封装的 redis Spring Data RedisJava语言连接redis服务 :JedisSpringData RedisLettuce可视化连接redis客户端:Redis Desktop ManagerRedis C
2021-03-25 22:41:13
176
原创 Redis通用指令
Redis通用指令key通用指令key 特征key是一个字符串,通过key获取redis中保存的数据key应该设计哪些操作?对于key自身状态的相关操作,例如:删除,判定存在,获取类型等对于key有效性控制相关操作,例如:有效期设定,判定是否有效,有效状态的切换等对于key快速查询操作,例如:按指定策略查询keykey基本操作删除指定keydel key获取key是否存在exists key获取key的类型type keykey 扩展操作(时效性
2021-03-25 22:39:59
97
转载 Redis 数据类型
Redis 数据类型数据存储类型介绍业务数据的特殊性作为缓存使用原始业务功能设计秒杀618活动双11活动排队购票运营平台监控到的突发高频访问数据突发时政要闻,被强势关注围观高频、复杂的统计数据在线人数投票排行榜附加功能系统功能优化或升级单服务器升级集群Session 管理Token 管理Redis 数据类型(5种常用)string Stringhash HashMaplist LinkedListset
2021-03-25 22:37:42
163
原创 Redis入门
Redis入门Redis简介我们常常遇到各种服务器宕机的情况。比如抢购啊等情况。问题现象海量用户高并发罪魁祸首——关系型数据库性能瓶颈:磁盘IO性能低下扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群解决思路降低磁盘IO次数,越低越好 —— 内存存储去除数据间关系,越简单越好—— 不存储关系,仅存储数据上述两个东西,可使用nosql来解决NoSQLNoSQL:即 Not-Only SQL( 泛指非关系型的数据库),作为关系型数据库的补充。作用:应对基于海量用户和
2021-03-25 22:35:25
108
1
原创 SpringBoot整合Mybatis
SpringBoot整合Mybatis官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/整合测试1、导入 MyBatis 所需要的依赖<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --><dependency> <gro
2021-03-19 08:25:56
93
原创 layui 后端人员的学习
文章目录layui1.图标方法1:字符实体方法2:使用样式2. 按钮颜色样式按钮尺寸图标按钮圆角按钮按钮组事件监听3. 导航栏菜单导航栏方向(水平)导航栏方向(垂直)导航栏内容:4. 选项卡默认风格简介风格卡片风格选项卡内容选项卡特殊属性动态tablay-filter5. 进度条(略)6. 面板 + 布局(重点)面板卡片面板折叠面板(默认)手风琴面板布局布局属性7.徽章8.时间线9.动画(略)10.颜色选择器(略)11. 滑块(略)12. 评分(略)13. 轮播14. 代码修饰器(略)15. 时间和日期选择
2021-01-26 10:17:15
1734
3
原创 idea操作Git、交互Github和码云
文章目录idea操作Git第一次使用本地库操作新建本地库版本间的切换创建分支合并分支解决分支合并冲突本地库交互GitHub上传本地库更新本地库GitHub 上克隆项目到本地本地库交互码云码云简介配置 SSH 免密登录idea通过SSH上传项目idea操作Git第一次使用创建一个新的工程在idea的设置中,搜索git,添加本地的git,最后测试连接在idea的设置中,搜索github,并添加账户本地库操作新建本地库新建项目完成对应的配置创建本地库选择当前
2021-01-22 17:24:48
355
原创 Git&GitHub
Git&GitHubGit结构Git 和代码托管中心代码托管中心的任务:维护远程库局域网环境下GitLab 服务器外网环境下GitHub码云Git操作本地库操作本地库初始化命令:git init效果: 在该文件下创建了一个叫.git的隐藏文件注意:.git 目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改设置签名形式:用户名:tom Email 地址:goodMorning@atguigu.com作用:区分不同开发人员的身份辨析
2021-01-22 17:21:17
651
原创 shiro快速搭建
文章目录shiro快速搭建导入依赖(固定)在web.xml文件中配置shiroFilter(固定)编写ehcache.xml(网上)配置spring的配置文件配置SecurityManager配置CacheManager配置realm配置authenticator配置lifecycleBeanPostProcessor配置DefaultAdvisorAutoProxyCreator配置shiroFilter编写拦截器类编写Controller编写realm编写前端页面shiro快速搭建在springmv
2021-01-20 23:01:56
474
原创 Shiro
文章目录shiro什么是shiro?功能简介shiro架构外部来看内部来看helloshirospring集成shiro简单测试shiro与web的集成shirofilter的工作原理shiro中默认的拦截器身份认证身份认证流程MD5加密普通MD5、SHA1加密MD5、SHA1盐值加密Realm多个realm认证策略AuthenticatorAuthenticationStrategy实例授权授权方式身份认证相关的拦截器授权相关的拦截器Permissions授权流程实例AuthorizingRealm类sh
2021-01-20 20:46:38
830
原创 JavaScript操作
文章目录JavaScript字符串常用方法数组常用方法对象流程控制if判断for循环while循环Map 和 SetIterable函数函数定义和调用方法DateJSON操作BOMwindownavigatorscreenlocationdocument操作DOM选择器更新DOM插入DOM删除DOM操作表单获取值设置值提交表单jQuery选择器操作DOM事件JavaScript字符串JavaScript的字符串就是用 '' 或""括起来的字符表示。如果'本身也是一个字符,那就可以用""括起来,比如
2021-01-14 22:52:55
699
原创 SpringMVC(JSON、Ajax、拦截器、文件上传和下载)
文章目录SpringMVCJSON@Controller和@RestControllerjackson在controller中的运用乱码问题fastjson在controller中的运用Ajax简介利用AJAX可以做入门简单测试根据集合动态打印数据(demo)注册提示效果(demo)拦截器概述过滤器和拦截器的区别自定义拦截器验证用户是否登录(demo)文件的上传和下载准备工作文件上传文件下载SpringMVCJSON回顾以往的文章JSON@Controller和@RestController@Co
2021-01-14 17:44:46
301
原创 SSM框架整合
文章目录SSM框架整合整合思路前驱准备mybatis层整合spring层整合springmvc层整合每次需要手写的部分实际操作前驱部分mybatis层整合spring层整合springmvc层整合每次需要手写的部分难点辨析SSM框架整合整合思路前驱准备新建项目检查是否含有web框架(没有添加上框架支持)导入依赖和Maven资源过滤设置建立基本结构和框架:java包(pojo、service、dao、controller、utils、filter文件夹)resources包(mapper文件夹
2021-01-13 15:59:23
450
原创 Spring整合Mybatis
文章目录Spring整合Mybatis什么是Mybatis-Spring?MyBatis-Spring 需要以下版本:入门导入对应的依赖快速上手流程spring配置文件数据源的配置:新建实体类Dao层和mapper.xml文件使用SqlSessionSqlSessionTemplateSqlSessionDaoSupport整合思路步骤一:导入依赖步骤二:mybatis配置文件(可选,看spring配置中是否需要)步骤三:spring配置文件:spring-dao.xml步骤四:编写实体类、dao层和map
2021-01-12 18:22:31
491
原创 SpringMVC(简介和基本操作)
SpringMVCSpringMVCMVC什么是mvc?Servlet回顾SpringMVC概述DispatcherServletSpringMVC的执行原理SpringMVC简易实现bean配置实现SpringMVC注解实现SpringMVC小结SpringMVCMVC什么是mvc?MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向耦合。
2021-01-10 21:07:43
521
原创 Mybatis(二)
MybatisMybatis多对一的处理(association)按查询嵌套处理按结果嵌套处理一对多的处理(collection)按查询嵌套处理按结果嵌套处理小结Mybatis多个学生,对应一个老师对于学生这边而言, 关联 多个学生,关联一个老师 【多对一】对于老师而言, 集合 , 一个老师,有很多学生 【一对多】多对一的处理(association)查询嵌套处理类似于子查询结果嵌套处理类似于联表查询例如:查询一个关联,多个学生对应一个老师按查询嵌套处理 <sel
2020-12-28 20:41:45
617
原创 Lombok
Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注释实现这一目的。通过在开发环境中实现 Lombok,开发人员可以节省构建诸如 hashCode() 和 equals() 这样的方法以及以往用来分类各种 accessor 和 mutator 的大量时间。使用方法:在idea的设置中,安装lombok插件在项目中导入jar包 <!-- https://mvnrepository.com/
2020-12-28 20:09:51
120
原创 Mybatis(一)
文章目录Mybatis什么是 MyBatis?MyBatis的优点持久化持久层入门导入依赖编写MyBatis核心配置文件从 XML 中构建不使用 XML 构建编写Mybatis工具类创建数据库对应的实体类编写Mapper接口类编写Mapper.xml配置文件(sql语句)测试Mybatis详细的可以参考mybatis官方文档什么是 MyBatis?MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果
2020-10-25 23:54:21
1350
原创 maven
文章目录maven传统项目的问题maven的好处项目的构建maven工具的安装和配置maven核心概念pom约定的目录结构坐标仓库maven的生命周期maven的常用命令idea中的配置和创建maven项目配置创建maven项目依赖范围属性设置和全局变量资源插件maven传统项目的问题传统开发项目的问题(没有使用maven管理的项目)1)很多模块,模块之间有关系,手工管理关系,比较繁琐。2)需要很多第三方功能,需要很多jar文件,需要手工从网络中获取各个jar包3)需要管理jar的版本,你需要的
2020-10-25 00:39:22
510
原创 Spring框架用到的依赖
基本框架和日志包 <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>
2020-10-24 16:22:57
1377
原创 Spring5.0新特性(日志封装、@Nullable注解、函数式风格 、整合JUnit5、Webflux)
整个 Spring5 框架的代码基于 Java8,运行时兼容 JDK9,许多不建议使用的类和方法在代码库中删除日志封装Spring 5.0 框架自带了通用的日志封装(1)Spring5 已经移除 Log4jConfigListener,官方建议使用 Log4j2(2)Spring5 框架整合 Log4j2第一步 引入依赖 <!-- 日志相关--> <!-- https://mvnrepository.com/artifact/org.apache.logging
2020-10-24 15:13:15
467
1
原创 Spring5.0(AOP、JdbcTemplate、事务)
文章目录AOP什么是 AOP底层原理JDK动态代理AOP术语AOP操作相关依赖和切入点表达式AspectJ 注解实现AspectJ 配置文件AOP什么是 AOP(1)面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。(2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能(3)使用登录例子说明 AOP底层原理AOP 底层使用动态代理(1)有两种情况动态代理第一种 有接口情况,使用
2020-10-18 17:10:11
797
原创 druid
druid连接池Druid是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、Proxool等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池,可以说是目前最好的连接池之一导入依赖druid连接池的: <!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> <groupId
2020-10-15 14:35:12
108
原创 Spring5.0(IOC基于xml和注解)
文章目录Spring5.0Spring5 框架概述Spring入门案例IOC(概念和原理)什么是iocioc底层原理BeanFactory 接口和ApplicationContext接口Spring5.0Spring5 框架概述1、Spring 是轻量级的开源的 JavaEE 框架2、Spring 可以解决企业应用开发的复杂性3、Spring 有两个核心部分:IOC 和 Aop(1)IOC:控制反转,把创建对象过程交给 Spring 进行管理(2)Aop:面向切面,不修改源代码进行功能增强4
2020-10-13 11:52:33
1118
原创 servlet3.0
文章目录Servlet3.0Servlet 3.0的注解Servlet注解Filter注解Listener注解servlet3.0的web.xmlServlet3.0的文件上传Servlet3.0的异步处理Servlet3.0的组件可插性Servlet3.0的文件三大组件动态注册Servlet3.0Servlet 3.0的注解Servlet3.0规范中允许Servlet、Filter与Listener三大组件时使用注解,而不用在web.xml进行注册了。Servlet3.0规范允许Web项目没有web
2020-10-12 16:46:33
219
原创 javaweb用到的常见依赖
文章目录servlet和jspjsp标准标签库(jstl)文件的上传下载图片验证码两种jsonservlet和jsptomcat和http协议和servletjsp <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId&
2020-10-11 23:07:35
1023
原创 Filter过滤器使用以及和ThreadLocal的搭配使用
Filter过滤器什么是Filter过滤器?1、Filter 过滤器它是 JavaWeb 的三大组件之一。三大组件分别是:Servlet 程序、Listener 监听器、Filter 过滤器2、Filter 过滤器它是 JavaEE 的规范。也就是接口3、Filter 过滤器它的作用是:拦截请求,过滤响应。拦截请求常见的应用场景有:1、权限检查2、日记操作3、事务管理……等等初始Filter过滤器要求:在你的 web 工程下,有一个 admin 目录。这个 admin 目录下的所有资源
2020-10-10 19:00:19
1990
1
原创 谷歌kaptcha图片验证码
谷歌kaptcha图片验证码的使用1.导入jar包<!-- https://mvnrepository.com/artifact/com.github.penggle/kaptcha --><dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</v
2020-10-08 21:02:31
937
原创 Cookie和Session
Cookie什么是Cookie?1、Cookie 是服务器通知客户端保存键值对的一种技术。2、客户端有了 Cookie 后,每次请求都发送给服务器。3、每个 Cookie 的大小不能超过 4kb创建Cookie @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //1 创建
2020-10-07 23:26:08
221
原创 文件上传和下载
文章目录文件的上传和下载文件的上传文件上传的http协议的说明需要的包和其常用的apifileupload类库的使用文件的下载中文乱码问题的解决方案文件的上传和下载文件的上传和下载,是非常常见的功能。很多的系统中,或者软件中都经常使用文件的上传和下载。比如:QQ 头像,就使用了上传。邮箱中也有附件的上传和下载功能。文件的上传1、要有一个 form 标签,method=post 请求2、form 标签的 encType 属性值必须为 multipart/form-data 值3、在 form
2020-10-07 21:31:04
466
原创 EL 表达式 & JSTL 标签库& 案例
EL 表达式什么是EL表达式,EL表达式的作用?EL 表达式的全称是:Expression Language。是表达式语言。EL 表达式的什么作用:EL 表达式主要是代替 jsp 页面中的表达式脚本在 jsp 页面中进行数据的输出。因为 EL 表达式在输出数据的时候,要比 jsp 的表达式脚本要简洁很多。注意:如果EL表达式不起作用记得加上<%@page isELIgnored=“false” %> ,不然EL表达式被默认忽略<% request.setAttribut
2020-10-06 22:39:26
370
原创 jsp
文章目录jsp是什么?有什么用?jsp的本质是什么jsp的三种语法语法一:jsp头部的page命令语法二:jsp中常用脚本①声明脚本(很少使用)②表达式脚本(常用)③代码脚本语法三:jsp中的注释html注释java注释jsp注释jsp九大内置对象jsp四大域对象jsp中out输出和response.getWriter 输出的区别jsp常用标签①jsp静态包含(include file)②jsp动态包含(jsp:include page)③jsp 标签转发(jsp:forward page)jsp是什么?
2020-10-06 00:20:06
519
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人