自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis安全控制及解决方案

Redis安全控制一、缓存穿透?二、缓存击穿三、缓存雪崩一、缓存穿透?产生背景:缓存穿透使用不存在的key进行大量的高并发查询,导致缓存无法命中,每次缓存都要穿透到后端数据库查询,使得数据库的压力非常大,甚至导致数据库服务器压死。解决方案:1.接口层实现api限流、用户授权、id检查、黑名单和白名单等2.从缓存和数据库都获取不到数据的话,一样将数据库空值放入缓存中,设置30s有效期避免使用同一个id对数据库攻击压力大3.使用布隆过滤器二、缓存击穿产生背景:在高并发的情况下,当一个缓存key

2022-04-07 10:41:48 1254

原创 Java开发面试经验

Java开发面试两年经验一、反射是什么?二、Java如何遍历Map集合?一、反射是什么?很多人会说我直接new一个对象不就完了么,干嘛还用反射来获取对象。因为new属于静态编译,而反射属于动态编译,反射只有到运行时他才会去获得该对象的实例,从这点上可以看出反射的强大之处。Java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。用一句话总结就是反射可

2022-04-06 10:28:47 2298

原创 设计模式之策略模式讲解

策略模式讲解一、策略模式1.1 什么是策略模式?1.2 环境配置代码演示一、策略模式1.1 什么是策略模式?策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理,最终可以实现解决多重if判断问题。1.环境(Context)角色:持有一个Strategy的引用。2.抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。3.具体策略(ConcreteStrategy)角色:包装了相关的算法或行为。定义策

2022-03-25 10:23:24 259

原创 Java两年工作经验面试

Java两年工作经验面试题目和心得一、ArrayList和LinkedList的区别?二、ArrayList的底层扩容机制是如何实现的?三、spring的aop底层实现方式有哪些?四、HashMap的底层实现原理?4.1 HashMap的几个重要知识点4.2 JDK7与JDK8的HashMap区别4.3 HashMap的容量与扩容机制五、MySQL的事务隔离级别有哪些?一、ArrayList和LinkedList的区别?ArrayList是基于动态数组的数据结构实现的,LinkedList是基于链表的

2022-03-22 11:13:08 2843

原创 Java安全开发注意事项

互联网安全架构设计前言一、如何防御xss攻击?二、抓包如何防止篡改数据?三、对接口实现加密四、相关安全架构设计方案说明前言本文是对Java开发做安全的架构设计。一、如何防御xss攻击?攻击场景说明:在客户端发起请求时,如果URL的请求参数被篡改为网页脚本的话,而且后台没有对参数做处理的话,在当前页面中会受到恶意攻击。如何解决:在后台编写一个过滤器,对后台接收到的请求参数做过滤处理。代码说明:@Component@WebFilterpublic class XssFilter imple

2022-03-16 15:33:52 5271

原创 微服务知识(容易理解)

微服务基础知识前言一、微服务的特点是什么?二、微服务的优缺点是什么?三、说说微服务架构的优势?四、什么是幂等性?五、在使用微服务架构时,面临的挑战是什么?六、什么是熔断?什么是服务降级?前言单个轻量级服务一般为一个单独微服务,微服务讲究的是专注于某个功能的实现,比如登录模块只专注与登录功能的实现,职责单一,可以独立运行,微服务是一个分布式的系统,按照业务划分不同的模块服务,实现复杂需求。一、微服务的特点是什么?解耦:系统服务分离,整个应用可以轻松修改、扩展业务能力:服务简单,专注于单一功能自

2022-03-16 14:38:11 268

原创 Java实现冒泡排序

原理:1.比较 前后相邻的两个数据,如果前面的数据大于后面的数据,就将这两个数据交换;2.第一次遍历后,最大的元素会沉淀到最后的位置里,循环次数为N-1代码如下:public class maopao { public static void maoPao(){ int temp; int[] array = {2,5,4,6,1}; for (int i = 0; i < array.length-1; i++) {

2022-03-14 23:40:27 593

原创 TCP三次握手(白话文理解)

网络知识一、http响应码301和302的区别是什么?二、简述tcp和udp的区别?三、TCP三次握手过程四、TCP为什么要三次握手,两次不行吗?五、get和post请求的区别有哪些?六、TCP中粘包、拆包的问题一、http响应码301和302的区别是什么?301,302都代表着某个URL发生了转移区别:301:代表永久性转移302:代表暂时性转移二、简述tcp和udp的区别?tcp是面向连接的可靠协议,如打电话先拨号建立连接;udp是无连接的不可靠协议,发送数据前不需要建立连接。三、T

2022-03-14 17:30:55 373

原创 RabbitMQ基础

RabbitMQ面试题详解一、RabbitMQ的应用场景有哪些?二、消息的角色有哪些?三、RabbitMQ有哪些重要的组件?四、RabbitMQ中vhost的作用是什么?五、RabbitMQ如何发送消息?六、RabbitMQ怎样确保消息的稳定性?七、如何避免消息丢失?八、持久化有什么缺点?九、如何实现延迟消息队列?十、集群有什么用?十一、节点类型有哪些?十二、集群搭建需要注意什么?十三、集群中唯一的磁盘节点崩溃了会发生什么情况?十四、RabbitMQ 对集群节点的停止有顺序要求吗?十五、RabbitMQ 有

2022-03-14 11:53:47 84

原创 Mysql索引与优化

Mysql索引优化底层原理前言一、索引数据结构介绍二、MySQL索引优化原理1.慢查询2.执行计划EXPLAIN3. 索引优化实战(使用索引后失效情况说明)4. Order by 排序优化5. 分页查询优化6. Join关联查询优化7. in和exist优化8. count(*)查询优化总结前言Mysql官方定义索引:索引(Index)是帮助MySQL高效获取数据的数据结构,类似于书的目录结构一样。说明:为什么InnoDb引擎表必须有主键,并且推荐使用整型的自增方式?1.不建议使用uuid使用数据

2022-03-14 10:33:32 1515

原创 Redis快速安装

本文将介绍redis在Linux下如何安装与配置前言Redis 是完全开源免费的,是一个高性能的key-value的非关系型数据库。说明:关系型数据库:数据存在硬盘中来实现io操作,例如mysql,SqlServer非关系数据库:数据存在内存中,效率高,例如redis一、Redis的应用场景1. Token令牌的生成2. 短信验证码Code3. 缓存查询数据4. 网页计数器5. 分布式锁6. 延迟操作Redis如何存放一个java对象 直接存放json类型即可提示:以下是本篇

2022-03-12 15:27:18 138

原创 如何去管理Java项目

Java项目管理工具:1.代码版本管理,通过Git或SVN工具规范版本2.jar包管理,通过maven工具管理jar包3.Jenkins,项目自动部署4.Worktile,团队项目协作开发工具5.swagger,接口测试、文档管理

2022-03-11 15:41:03 8995

原创 Spring框架中对Ioc和Aop的理解

spring是一个企业级应用的轻量框架,具有Ioc(控制反转)和Aop(面向切面)的功能。在项目开发中,一个类可能会调用很多对象(service、dao层)去实现相关的功能,在没有使用spring框架的前提下,每次调用都去new,效率低且消耗资源,而spring的容器化技术可解决这个缺点。使用spring与否做对比:1.不使用spring框架:public void UserService{ private UserDao userDao; public void insert(Us

2022-03-11 11:25:32 758

空空如也

空空如也

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

TA关注的人

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