自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mybatis resultMap collection标签的介绍与使用

我们设计数据库的时候要严格遵循3NF设计,比如举例子:订单表(order),订单商品表(order_goods),一笔订单包含多件商品,订单信息保存在订单表里,其包含的商品包含在订单商品表中。订单表订单商品表查出订单对应的商品信息,我们的sql是select o.id, o.name, g.id as gid, g.order_id, g.goods_name from du_goods g inner join du_order o on g.order_id ...

2021-03-31 20:02:19 5436 3

原创 Redis的五种存储类型和其应用场景 Redis常用方法大全

String:存储简单的字符串,k v形式 list::存储集合数据 hash :存储对象 set:不重复的元素 zSet:不重复有序(根据元素得分排序)的数据 // String 字符串 普通的k v ValueOperations<String, Object> string = redisTemplate.opsForValue(); string.set("test:string:one", "dugt is handso..

2021-03-30 12:16:06 813 3

原创 Java一年两年工作经验面试题

一年经验与应届生的区别,基础少了,项目多了目录自我介绍项目Java基础进阶自我介绍不管是几年都会自我介绍吧。。项目说说项目吧,项目的整体架构你了解多少(我觉得这个比较重要,如果你连你负责的项目整体的架构都不清楚,每天盲目的就负责自己的模块,让你做什么你就做什么,从来不对整个项目关心,说明工作态度不太。。。) 说说你负责的模块 说说你遇到的问题以及如何解决的(多少得说几个,不出问题的项目你觉得???) 说说你负责得模块你认为比较好的地方 在你介...

2021-03-27 09:08:45 1501

转载 Redis使用注意点 Redis基本使用

看到一篇关于redis的文章讲的挺详细,记录一下分享给大家原文链接

2021-03-23 13:04:49 79

原创 JDK1.8 Stream Collectors常用方法 分组 平均值 去重 BigDecimal求和等

首先初始化一个集合,用于我们下方的操作Student stu1 = new Student(1, "dugt", 20);Student stu2 = new Student(1, "lym", 10);Student stu3 = new Student(3, "wbx", 18);Student stu4 = new Student(4, "cjl", 18);Student stu5 = new Student(4, "cjl", null);List<Student> .

2021-03-21 20:53:36 4649 2

原创 Java 保证接口的幂等性 接口唯一性 避免重复提交

举栗子:当网络延迟的情况下,用户多次点击,多条数据插入到数据库,或者造成数据的不一致性,如提交订单,扣钱等。简述一下前端解决思考 :按钮只让用户点击一次,重定向至友好页面,避免多次点击,此文主要介绍我的一些Java解决的思路及方法。直接上我所能想到的解决方法,就拿我所属的电商行业举例乐观锁机制用户下订单,下订单,就会走保存订单的接口,此时,就根据用户的id去查它积分的version的值,如1 支付时,带着version的值去更新,版本号匹配则更新,版本号不匹配则不更新,上代码 sele

2021-03-19 20:49:33 2551 3

原创 线程池的阻塞队列BlockingQueue 以及拒绝策略RejectedExecutionHandler

BlockingQueue的实现类有:ArrayBlockingQueue(有界队列):使用该对象时,若有新任务需要执行,如果线程池的实际线程数少于corePoolSize,则会优先创建新的线程,若大于,则会将新任务加入到等待队列。当队列满时,则在总线程数不大于maximumPoolSize的前提下,创建新的线程执行任务。 SynchronousQueue(同步移交队列):它是一个特殊的队列,它的名字其实就蕴含了它的特征 同步的队列。为什么说是同步的呢?这里说的并不是多线程的并发问题,而是因为当一个.

2021-03-16 11:27:48 1457

原创 mybatis之selectKey标签

保存数据后,获取得到自增长的主键id,用作其他业务处理可以使用mybatis为我们提供的 selectKey标签 <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> select LAST_INSERT_ID() </selectKey>...

2021-03-15 19:33:22 1115

原创 分治+映射:快速的从100w个无序元素中准确判断是否存在某元素

如何从10w无序元素中快速找出某元素是否存在呢?看到这种题,我会想到这几种算法来实现二分查找 是一个无序集合,首先淘汰二分查找,二分查找的前提是链表必须是有序的,才能从中间比较是大是小,从而缩小查找空间 bitmap bitmap(位图), 是由一组0 1 组成,当元素经过hashcode会找到其存在的位置,将0 变成 1,布隆过滤器其实底层就是一个比较长的位图,它在查找元素的位置时,不止一次hashcode,多次hashcode可以避免发生碰撞。当时,也...

2021-03-11 10:11:21 814 7

原创 创建HashMap指定多大的初始值合适

举栗子 我们要创建一个hashmap 存储7个对象 如何指定map的初始大小呢?张三: 我来, 这么简单, 存多少指定多少啊 new HashMap<>(7)李老师: 呵呵, 出去!当然不是, 首先创建hashMap时, 首先会根据指定的值进行位运算, 得到最终的数值看源码 /** * Returns a power of two size for the given target capacity. */ static final.

2021-03-10 16:40:09 2915 1

原创 redis过期策略,内存淘汰机制,高并发和高可用,持久化方式,缓存雪崩等

redis中有哪些过期策略定期删除 + 惰性删除定期删除:是指redis默认每100ms就随机检查设置了过期时间的key,如果过期就删除。假设redis中有10w条key设置了过期时间,每隔几百毫秒就检查这10w个key,cpu负载太高了,redis可能就会挂掉。实际上是随机抽取这10w个中的某些key进行检查删除。 惰性删除:若这10w条数据中有的过期了,而没被redis删除,那么当下次获取这个key的时候,redis会先检查这个key是否过期,若过期就删除该key,返回null当要过期

2021-03-07 13:14:22 412 2

原创 聊聊RabbitMQ RabbitMQ相关面试题

目录为什么要使用消息队列消息队列的缺点各大消息队列的优缺点如何保证RabbitMQ的高可用如何保证消息的幂等性如何保证消息不被丢失如何保证消息的顺序性为什么要使用消息队列目前我所在的公司是一家电商医药,是一款电商小程序,我们订单的模块就用到了RabbitMQ,那为什么我们要使用RabbitMQ呢?无需担心订单接口是否异常,用户下订单直接把订单发送到消息队列去,返回下单成功,订单接口订阅消息队列,消费消息,保存订单~ 解耦:多个系统(B,C,...

2021-03-06 16:19:58 486

原创 布隆过滤器应用场景 : 搜索框恶意搜索 缓存穿透等

布隆过滤器的概念这里就不赘述了参考链接如何在海量元素中(例如 10 亿无序、不定长、不重复)快速判断一个元素是否存在?很简单嘛, 把所有的数据都添加到数据结构里去, 如list或map等, get判断不就完了嘛. emmm... 面试官可能会问这么简单的问题吗?数据量小的话, 完全可以的, 那么上亿上百亿呢?引入一个节省空间的数据结构:位图,他是一个有序的数组,只有两个值,0 和 1。0代表不存在,1代表存在。如何确定某一元素在哪个位置是0还是1,怎么解决这个问题呢,那就要用到..

2021-03-03 10:50:50 311

原创 element ui的气泡确认框 点击确定没反应的问题

官网解释但是我们加上此点击事件后, 点击确定并没有执行相对应的方式解决办法:@onConfirm

2021-03-02 15:25:21 1653

原创 Mysql优化 索引优化 优化技术

Mysql数据库的优化技术分析SqlSql优化什么情况下避免使用索引Mysql数据库的优化技术表的设计合理化(符合3NF) 添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引] 分表技术(水平分割、垂直分割) 读写[写: update/delete/add]分离 存储过程 [模块化编程,可以提高速度] 对mysql配置优化 [配置最大并发数my.ini, 调整缓存大小 ] mysql服务器硬件升级...

2021-03-02 14:32:20 329

空空如也

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

TA关注的人

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