自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小渣渣的博客

希望分享的东西能对各位有用

  • 博客(19)
  • 收藏
  • 关注

原创 hexo d上传报错鉴权失败

原因:github在2021年8月13日将密码验证更换成了token验证,必须使用个人访问令牌(personal access token)。设置个人访问令牌可以参考这篇文章设置完之后再执行hexo d,输入密码的时候将你的个人访问令牌输进去即可上传!...

2021-11-28 16:58:28 1013

原创 自己面试被问到的Redis面试题

本文为整理出来的面试题,大部分是本人面试遇到的,文章内参考的文章都标明原网址了(有些课外知识也标记了网址),有兴趣的可以去帮各位点个赞!1 Redis常用数据结构String:是以一种纯字符串作为value的形式存在的,使用场景一般是存储简单的键值类型。比如用户信息,登录信息,配置信息等。还有一种用得比较多的是string的incr/decr操作,即自减/自增操作。调用它是原子性的,无论调用多少次,都一一计算成功,例如需要增减库存的操作。Hash:在redis中,hash因为是一个集合,分为大key、

2021-11-28 15:48:23 447

原创 Redis常用api大全(下)

接上文.....5、Set类型常用api Long add(K var1, V... var2):向变量中批量添加值    @Override    public void run(String... args) throws Exception {        Long&nbs.

2021-01-24 18:52:35 637 1

原创 Redis常用api大全(上)

本篇文章会记录一下redis常用api!因为字数超过了限制,所以不得不拆为两部分发出来.....1、小问题 使用redis的时候发现了一个问题:redisTemplate.opsForValue().set("test", 22);Integer test = (Integer) redisTemplate.opsForValue().get("test");System.out.println(test);上面代码我增加了一个缓存key:test.

2021-01-24 18:52:02 1666 3

原创 Java保真组合图片以及生成缩略图

业务需求:在推送商品给买家的时候,可能会推送多个商品,每个商品对应一张图片,现在只需要发送一条消息,那么就需要将多张图片组合成一张自定义大小的图片。1、举例 尺寸:648*300尺寸:1080*454尺寸:600*300尺寸:800*500如果传进来了两张图片,那么合成自定义大小的二宫格图片,如果传进来四张图片,合成自定义大小的四宫格图片(九宫格等等的可以再自己增加一下)2、尝试先等比缩小或放大图片,然后组合(测试后发现好像不太行) 1、先尝试生成图片自定义大小的缩略图/**&n

2020-11-08 14:00:54 241

原创 Springboot集成Shardingsphere实现分库分表

shardingsphere当公司业务量上去之后,单表支撑不了的时候,分库分表就是一个绕不开的话题,小弟最近新入职一家公司,发现这边公司在用ShardingSphere来进行分库分表,之前没接触过这方面,所以就写了个demo学习一下,下面文章就记录一下如何用ShardingSphere来进行分库分表!(能力有限,本章不会讲原理奥,只是记录如何分库分表,原理方面后面我学习了再写,现在先会用先0.0,)1、官网文档地址 这是ShardingSphere官网文档的地址,有需要的可以点进去看一下。2、技术及

2020-10-15 22:41:58 1282 3

原创 面试加分项:如何防止序列化和反射破坏单例模式

大家应该都知道反射和序列化会破坏单例模式,但是一部分人可能不知道,如何防止这种破坏,下面文章就记录一下,如何防止单例模式被反射和序列化破坏!1、单例模式 单例模式:顾名思义就是只有一个实例,并且它自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。实现方式:单例模式的实现方式有很多种,比如懒汉式,饿汉式,双重校验锁,静态内部类,枚举等等,这里就不一一贴出来代码看了,不熟悉或者感兴趣的同学可以点后面链接去自己查看。单例模式我们这里先写一个饿汉式的,方便

2020-09-12 15:22:02 391

原创 面试资料汇总

最近准备去面试,这篇文章推荐一份面试题汇总给各位,关注下方公众号拿就行,也不用解压码什么的,资料有面试题、算法、数据结构、源码分析、多线程讲解、各种java相关书籍pdf、简历模板等等(里面有很多实战视频),主要内容会在下面展示(某些没有pdf的,我会找比较好的文章链接放在里面),链接失效的话请在公众号获取我的微信,加了提示我一下,我会更新的,谢谢。1、内容 想学习数据库相关知识点的,MySQL实战45讲可以多看几遍,信我,你绝对能学到。也没啥好写的了,再给几个网站给大家吧,看了人家的文章记得给人

2020-08-12 14:55:54 119

原创 你知道Mybatis的一级、二级缓存吗?

mybatis的一级、二级缓存这也是一个面试大概率会问到的一个问题,一般简历上面都有写熟悉SQL优化什么的,不知道怎么优化的可以看下面这篇文章。而Mybaits作为大多数公司用的持久层框架,一级二级缓存概念也是经常被问到的,下面就结合概念和实战来写一下什么是Mybaits的一级、二级缓存!1、什么是缓存? 什么是缓存:所谓的缓存,就是将程序或系统经常要调用的对象存在内存中,以便其使用时可以快速调用,不必再去创建新的重复的实例。为什么使用缓存:使用缓存可以减少和数据库的交互次数,提高执行效率,并且

2020-08-08 12:02:29 208

原创 Spring Boot面试必问(亲测)

springboot面试大概率会问到的问题:什么是Spring Boot?Spring Boot与Spring cloud的区别Spring Boot有哪些特性Spring Boot配置文件的优先级1、什么是Spring Boot? Spring Boot是spring的脚手架,使用Spring Boot可以做到专注于Spring应用的开发,而无需过多关注XML的配置。能够使开发者在极短的时间内开发出单个微服务。Spring Boot使用“习惯优于配置”的理念,简单来说,它提供了一堆依赖打包,.

2020-07-27 16:47:33 8543 1

原创 你知道Java中的流操作么?

1、同步、异步、阻塞、非阻塞 同步与异步:同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。要么成功都成功,失败都失败,两个任务的状态可以保持一致。而异步是不需要等待被依赖的任务完成,只是通知被依赖的任务要完成什么工作,依赖的任务也立即执行,只要自己完成了整个任务就算完成了。至于被依赖的任务最终是否真正完成,依赖它的任务无法确定,所以它是不可靠的任务序列。我们可以用打电话和发短信来很好的比喻同步与异步操作。阻塞与非阻塞:阻塞与非.

2020-07-14 10:55:20 306

原创 SQL优化如何才能hold住

1、吹吹水 前几天老大问我怎么进行sql优化的,我回答了新建索引。哈哈哈,然后老大就出去找棍子了,进来之后跟我说你知道门在哪边吧,自己出去还是我请你出去?然后被迫出去挨打,回来之后老大说去看下什么是Explain,然后交一份5000字检讨上来。。。。。。以下内容以MySQL 8.0进行描述2、基础内容 既然想优化sql,那么新建索引也确实没错,只不过不能看见一个字段就建一个索引,这样就确实容易挨打,那先说下新建索引到底mysql做了什么操作:首先InnoDB的索引模型是B+树,在InnoDB.

2020-06-21 10:45:15 256

原创 面试必问:多线程与线程池

前言 前几章都在讲一些锁的使用和原理,主要是为了保证多线程情况下变量的原子性,但这并不是说多线程不好,合理利用还是有好处的。至于什么好处,看下面内容就懂了,先打个比方吧(谁叫比方,上来挨打):假如你体育考试,要跑1000米,你现在有两个选择:一个人跑完1000米。找三个人陪你一起跑,每个人跑250米就好两种方案你选哪个?今天写一下面试必问的内容:多线程与线程池。主要从以下几方面来说:什么是线程(什么是多线程)线程状态多线程的优点和弊端线程池的好处线程池的新建线程池状态线程池执行任务线程池异常.

2020-06-07 20:54:54 861

原创 面试必问:乐观锁与悲观锁

前言 小孩子才做选择,我全都要,今天写一下面试必问的内容:乐观锁与悲观锁。主要从以下几方面来说:何为乐观锁何为悲观锁乐观锁常用实现方式悲观锁常用实现方式乐观锁的缺点悲观锁的缺点写文章的时候突然收到朋友发来的消息,说乌兹退役了,LPL0006号选手断开连接。愿你鲜衣怒马,一日看尽长安花,历尽山河万里,归来仍是曾经那个少年。来,跟我一起喊一句:大道至简-唯我自豪1、何为乐观锁 乐观锁总是假设事情向着好的方向发展,就比如有些人天生乐观,向阳而生!乐观锁总是假设最好的情况,每次去拿数据的时候都认.

2020-06-03 20:03:13 1046 1

原创 AQS(AbstractQueuedSynchronizer)的实现原理

前言 前一篇文章讲了一下AQS是什么以及AQS可重写的方法、提供的模板方法,本篇就从以下几点来写一下同步器的实现原理。同步队列独占式同步状态获取与释放共享式式同步状态获取与释放超时获取同步状态同步队列实现原理 同步器依赖内部的同步队列(一个FIFO双向队列)来完成同步状态的管理,当前线程获取同步状态失败时,同步器会将当前线程以及等待状态等信息构建为一个节点(Node)并将其加入同步队列,同步会阻塞当前线程,当同步状态释放时,会将首节点中的线程唤醒,使其再次尝试获取同步状态。节点的主要属性有以.

2020-05-30 18:25:58 229

原创 项目中有用过锁吗?能解释一下什么是AQS(AbstractQueuedSynchronizer)吗?

1 前言 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发的访问共享资源,如读写锁)。在以前,Java程序是靠synchronized来实现锁功能的,而在Java SE 5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁功能,他提供了与synchronized关键字类似的同步功能,只是在使用时需要显式的获取锁和释放锁,虽然它缺少了synchronized提供的隐式获取释放锁的便捷性,但是却拥有了锁获取和释放的可操作性、可中.

2020-05-28 19:17:18 915

原创 Redis分布式锁的实现以及原理

1 前言 在程序中,我们想要保证一个变量的可见性及原子性,我们可以用volatile(对任意单个volatile变量的读/写具有原子性,但类似于volatile++这种复合操作不具有原子性)、synchronized、乐观锁、悲观锁等等来控制。单体应用内可以这样做,而现在随着时代的发展,大多项目都已经告别的单机时代,拥抱微服务时代,这样的情况下很多服务需要做集群,一个应用需要部署到几台机器上然后做负载均衡,在并发情况下使用上面说的机制来保证变量的可见性及原子性就不可行了(如下图),从而产生了很多分布式机.

2020-05-26 11:11:40 7293

原创 一文学会使用RabbitMQ

前言消息队列(Message Queue,简称MQ)现在在很多公司都有使用,而MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka,以及阿里开源的RocketMQ,巧了,我们公司使用的是RabbitMq,所以本文主要介绍一下RabbitMq([捂脸]其实是我不会其他MQ,日后学了会再发的),主要从以下几点来讲:1、RabbitMq的安装 2、Spri...

2020-04-24 14:23:58 358

原创 MYSQL相关内容(引擎、隔离级别、实现原理)

前言前不久碰到了个mysql隔离级别相关的问题,后来就打算写一篇文章,记录一下mysql相关知识,以后复习也不用辛辛苦苦去找资料了,本文主要从以下几个方面来记录:存储引擎存储引擎是MySQL有别于其他数据库管理系统的最大特色,我们知道关系型数据库的数据是存在表里的,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式,每个表格就是一个数据,表是在存储数据的同时,还要组织...

2020-04-24 14:20:56 451

空空如也

空空如也

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

TA关注的人

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