skyyoung
LV.1
这个用户很懒,还没有个人简介
声望 76
关注 0
粉丝 0
私信
主帖 22
回帖
视频
提问
回答
资源
专栏
一、介绍每场后端面试,似乎都少不了关于redis的话题,比如项目使用过哪些分布式缓存服务,为什么要使用redis,有没有碰到过缓存失效、缓存穿透、缓存雪崩等问题。在前几篇关于redis的介绍文章中,我们说到项目中之所以会引入分布式缓存服务,主要是为了解决集群环境下,内存数据不共享的问题,比如session会话,以及一些字典缓存等等,在当前服务器的内存中存储,在另一台服务器中难以获取查询的问题,通过引入缓存服务,将缓...
2023-03-09 15:10:28 169浏览 0点赞 0回复 0收藏
一、摘要在前几篇文章中,我们详细介绍了redis的一些功能特性以及主流的java客户端api使用方法。在当前流行的微服务以及分布式集群环境下,Redis的使用场景可以说非常的广泛,能解决集群环境下系统中遇到的不少技术问题,在此列举几个使用redis经常用到的功能!分布式缓存:在分布式的集群架构中,将缓存存储在内存中会出现很多的问题,比如用户回话信息,因为这部分信息需要与其他机器共享,此时利用Redis可以很好的解决机器之...
2023-03-09 15:09:48 330浏览 0点赞 0回复 0收藏
一、摘要相对于其他的分布式中间件,Redis支持的客户端种类非常繁多,涵盖更加全面,除了支持比较流行的c、c++、java、C、php、Python等语言以外,还支持ObjectiveC、Swift、Node.js等等,以下是来自于Redis支持的按语言分类的客户端截图。站在java开发语言的角度,虽然可供选择的客户端非常多,但是官方主要推荐使用以下三种客户端,原因大概是它们对redis提供的支持更加全面、api操作更佳丰富。JedisLettuceRedisson在前几篇...
2023-03-09 15:07:06 442浏览 0点赞 0回复 0收藏
我们都知道,在日常开发中我们经常遇到在钉钉群或者在业务群中会出现各种各样的慢业务的接口,比如某个接口在钉钉群疯狂出现,然后就有某些领导艾特你来解决这个慢业务问题,今天阿粉就来说说如何通过各种手段来定位慢业务问题,以及如何解决慢业务的问题。定位慢业务问题首先我们先来说这么慢业务问题,一般的慢业务问题,总归就那么几种,SQL问题,代码业务问题,前端解析问题,前端的解析问题我们就不说了,为什么呢?因为如...
2023-03-09 15:02:21 107浏览 0点赞 0回复 0收藏
如果问你在日常开发中用到的最多的一个​​Java​​​类是什么,阿粉敢打赌绝对是​​String.class​​​。说到​​String​​​大家都知道​​String​​是一个不可变的类;虽然用的很多,那不知道小伙伴们有没有想过怎么样创建一个自己的不可变的类呢?这篇文章阿粉就带大家来实践一下,创建一个自己的不可变的类。特性在手动编写代码之前,我们先了解一下不可变类都有哪些特性,定义类的时候需要使用​​final​​​关键字进...
2023-01-16 16:57:32 246浏览 0点赞 0回复 0收藏
前面的文章给大家介绍了如何自定义一个不可变类,没看过的小伙伴建议去看一下,这节课给大家介绍一个​​Java​​​中的一个关键字​​Record​​​,那​​Record​​​关键字跟不可变类有什么关系呢?看完今天的文章你就知道了。友情提示​​Record​​​关键字在​​Java14​​​过后才支持的,所以是不是被阿粉说中了,还在使用​​Java8​​的你一定没用过!不可变类我们先看一下之前定义的不可变类,代码如下。packagecom...
2023-01-16 16:56:51 293浏览 0点赞 0回复 0收藏
大家都知道我们常用的​​SpringBoot​​​项目最终在线上运行的时候都是通过启动​​javajarxxx.jar​​命令来运行的。那你有没有想过一个问题,那就是当我们执行​​javajar​​​命令后,到底底层做了什么就启动了我们的​​SpringBoot​​应用呢?或者说一个​​SpringBoot​​的应用到底是如何运行起来的呢?今天阿粉就带大家来看下。认识jar在介绍​​javajar​​​运行原理之前我们先看一下​​jar​​​包里面都包含了...
2023-01-16 16:52:48 474浏览 0点赞 0回复 0收藏
一、摘要在上一篇文章中,我们详细的介绍了redis的安装和常见的操作命令,以及可视化工具的介绍。刚知道服务端的操作知识,还是远远不够的,如果想要真正在项目中得到应用,我们还需要一个redis的客户端,然后将其集成到项目中,让程序自动根据我们的业务需要自动处理。基于redis开放的通信协议,大神们纷纷开发了各种语言的redis客户端,有c、c++、java、python、php、nodeJs等等开发语言的客户端,准确来说其实这些客户端都是...
2023-01-16 16:52:04 573浏览 0点赞 0回复 0收藏
一、摘要Lettuce是Redis的一款高级Java客户端,与Jedis并列成为最热门的客户端之一,目前已成为SpringBoot2.0版本默认的redis客户端。相比老牌Jedis,Lettuce属于后起之秀,不仅功能丰富,而且提供了很多新的功能特性,比如异步操作、响应式编程等等,同时还解决了Jedis中线程不安全的问题。废话不多说了,如何使用呢?请看下文!二、Lettuce2.1、基本使用首先,创建一个maven项目,引入​​lettucecore​​包,就可以使用了。<...
2023-01-16 16:49:32 522浏览 0点赞 0回复 0收藏
用了这么多年的​​SpringBoot​​​那么你知道什么是​​SpringBoot​​​的​​web​​类型推断吗?估计很多小伙伴都不知道,毕竟平时开发做项目的时候做的都是普通的​​web​​​项目并不需要什么特别的了解,不过抱着学习的心态,阿粉今天带大家看一下什么是​​SpringBoot​​​的​​web​​类型推断。SpringBoot的web类型有哪些既然是​​web​​​类型推断,那我们肯定要知道​​SpringBoot​​支持哪些类型,然后才能...
2023-01-16 16:47:57 334浏览 0点赞 0回复 0收藏
一、摘要什么是Redisson?来自于官网上的描述内容如下!Redisson是一个在Redis的基础上实现的Java驻内存数据网格客户端(InMemoryDataGrid)。它不仅提供了一系列的redis常用数据结构命令服务,还提供了许多分布式服务,例如分布式锁、分布式对象、分布式集合、分布式远程服务、分布式调度任务服务等等。相比于Jedis、Lettuce等基于redis命令封装的客户端,Redisson提供的功能更加高端和抽象,逼格高!更多功能特性和开发文档说...
2023-01-16 16:47:03 1063浏览 0点赞 0回复 0收藏
前面的文章给大家介绍了​​SpringBoot​​​的应用​​web​​​类型推断,并且结合了​​Reactiveweb​​​类型给大家分析了一下​​SpringBoot​​​是如何进行​​web​​​类型推断和创建内置​​web​​服务器的。有小伙伴在后台留言就问了​​Servletweb​​​我们天天使用很熟悉,那什么是​​Reactiveweb​​呢?两者的区别是啥?今天阿粉就给大家介绍一下。Servlet与Reactive技术栈打开​​Spring​​​的官方文档我...
2023-01-16 16:45:43 460浏览 0点赞 0回复 0收藏
数据可以存放在变量里,每一个变量有一个名字,有一个类型,还有它的生存空间。如果我们需要保存一些相同类型、相似含义、相同生存空间的数据,我们可以用数组来保存这些数据,而不是用很多个独立的变量。数组是长度固定的数据结构,用来存放指定的类型的数据。一个数组里可以有很多个数据,所有的数据的类型都是相同的。①创建数组数组是一种容器(放东西的地方)特点是:其中所有的元素具有相同的数据类型;一旦创建,不能改...
2023-01-12 14:10:30 470浏览 0点赞 0回复 0收藏
JDK8发布到现在,已经过了8年的时间了,但是就是到现在,依然在面试的过程中,还有人问这个JDK8里面都优化了什么内容,对比JDK7来说,今天阿粉就再继续叨叨一次,真的是让面试官给整服气了。JDK8的StreamJDK8要说牛,那是真的牛,让你的代码变的更加的简洁,为什么这么说,那就是因为Stream流的存在。Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作...
2023-01-12 14:09:54 304浏览 0点赞 0回复 0收藏
我们都知道程序在运行的过程中经常需要进行服务间的通信和交互,特别是在当下微服务的架构下,每个系统都会庞大那么为了提高服务间的通信效率以及数据传输的性能,我们往往都会将需要传输的数据进行序列化,然后再进行传输。什么是序列化关于序列化相信大家都很了解,在Java中我们经常就可以看到很多实体类或者​​POJO​​​都会实现​​Serializable​​​接口,有了解过​​Serializable​​接口的小伙伴应该都知道,这个接...
2023-01-12 14:09:06 546浏览 0点赞 0回复 0收藏
一、摘要在项目开发过程中,我们经常需要将一些公共方法提取出来,然后单独封装成一个第三方公共​​jar​​​包,采用普通的方式打包后的​​jar​​,依赖的工程执行编译时,却提示找不到对应的依赖包,那么如何将工程打包为可执行​​jar​​包呢?下面向大家介绍三种通过​​maven​​将工程打包成可执行的打包方式。二、方法实践2.1、assembly插件2.1.1、pom.xml的相关配置文件如下<projectxmlns"http:maven.apache.orgPOM...
2023-01-12 14:08:38 458浏览 0点赞 0回复 0收藏
一、摘要很多时候,新开发的功能在上线之前,我们都会进行压力测试,以防上线之后,突然出现性能瓶颈或者出现线程安全问题。那么问题来了,如何进行压力测试呢?实践的手段有很多种,比如采用jmeter、fiddler、postman等第三方工具,可以快速实现性能压力测试。当然除此之外,其实我们也利用java的多线程特性,完全可以自行编写一套多线程的压力测试。下面我们以访问百度首页服务为例,向大家演示一下,采用java的多线程特性,...
2023-01-12 11:59:12 592浏览 0点赞 0回复 0收藏
前几天阿粉刚刚说了这个MD5加密的前世今生,因为MD5也确实用的人不是很多了,阿粉就不再继续的一一赘述了,今天阿粉想给大家分享的,是非对称加密中的一种,那就是RSA加密算法。对称加密和非对称加密在说RSA之前,我们得先来说说这个什么事对称加密,什么又是非对称加密?对称加密指的就是加密和解密使用同一个秘钥,所以叫对称加密。对称加密只有一个秘钥,作为私钥。非对称加密指的是:加密和解密使用不同的秘钥,一把作为公...
2023-01-12 11:56:52 554浏览 0点赞 0回复 0收藏
说到密码学,阿粉现在真的是非常的头大,为啥呢?因为密码学真的是有点难度呀,各种各样的加密手段,各种各样的解密手段,像MD5呀,还有RSA呀,还有DES呀,反正就是一大堆,接下来的几天,阿粉就来逐个的分析一下这个关于密码中的各种加密手段,以及他们是如何使用的。MD5的前世今生实际上,MD5由美国密码学家罗纳德·李维斯特(RonaldLinnRivest)设计,于1992年公开,用以取代MD4算法。也就是说,在他之前,还有MD4算法,而MD...
2023-01-12 11:56:20 649浏览 0点赞 0回复 0收藏
一、什么是责任链模式?责任链模式(ChainofResponsibilityPattern),顾名思义,为请求者和接受者之间创建一条对象处理链路,避免请求发送者与接收者耦合在一起!责任链模式,是一种实用性非常强的设计模式,比较典型的应用场景有:ApacheTomcat对Encoding编码处理的处理SpringBoot⾥⾯的拦截器、过滤器链netty中的处理链支付风控的机制⽇志处理级别尤其是当程序的处理流程很长的时候,采用责任链设计模式,不仅实现优雅,而且...
2023-01-12 11:55:06 451浏览 0点赞 0回复 0收藏