自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 还花钱用XShell?我选择这款超牛逼的 SSH 客户端,完全免费

分享过FinallShell这款SSH客户端,也是xiaoz目前常用的SSH客户端工具,FinalShell使用起来方便顺手,但令我不爽的是tab数量变多的时候FinalShell越来越卡,而且内存占用也比较高。 最近发现一款使用使用C语言开发的跨平台SSH客户端WindTerm,完全免费用于商业和非商业用途,没有限制。 所有发布的源代码(第三方目录除外)均在 Apache-2.0 许可条款下提供。性能方面也比FinalShell和Electerm好很多。主要功能 以下内容为机器翻译: 实施了

2021-12-11 13:16:55 447

原创 面试官:在读多写少的情况下,如何优化MySQL的数据查询方案

面试官问:假设你负责的某业务在双十一期间要搞运营活动,公司投入了大量的营销费用进行推广,此举会带来巨大的流量,如果你作为架构师或者技术负责人,要如何设计方案来优化 MySQL,从而支持这种突发流量的读多写少的场景?旁白:首先,我们要知道,对于大部分 OLTP 系统来说,读流量都是远远高于写流量的,可能达到几个数量级的差距,例如微信朋友圈,大部分人都是看的多,但可能一个月都发不了一条消息,同理,你上京东,更多的情况下是搜索并浏览商品,真正下单的比例会低很多。其次,使用 Redis 作为 MySQL 的.

2021-12-10 20:33:08 330

原创 GitHub上出现了号称阿里面试手册「21版」的PDF,现已标星78.6k了

说到阿里,想必很多Java攻城狮都十分向往,不但薪资待遇高,里面的技术大牛也多,可以学到技术,还能接触到很多大的项目。下面就来分享一位朋友的阿里面试经历,刚刚上岸淘系,总包60W。文末送复习资料和笔记,记得收藏建议:一定要多刷题(打好技术基础)秋招即将开始,校招的朋友普遍是缺少项目经历的,所以底层逻辑,基础知识要掌握好!而一般的社招,更是神仙打架。特别强调,项目经历不可忽视;几乎简历上提到的项目都会被刨根问底,所以项目应用的技术要熟练,底层原理必须清楚。下面给大家提供一份阿里大厂

2021-12-10 19:49:16 343

原创 这个SpringBoot前后端分离后台管理系统太牛了

来源:https://mp.weixin.qq.com/s/TJwh1YrUmEDRCwYHcXl3Vg有很多读者都希望我出一些详细介绍 Java 实战类项目的文章,毕竟项目实战经验还是挺重要的,不论是对于找工作还是提高个人工程能力。我自己也发现很多读者不怎么会学习开源项目,不知道如何把开源项目的一些精华为自己所用。我们这里分析的是eladmin[1]这个基于 Spring Boot + Spring Security +JPA +Vue 的前后端分离的后台管理系统。荐过这个项目。...

2021-12-07 13:37:39 626 1

原创 太牛了,这份Github上堪称最全的面试题库(Java岗)真香

前言面试前都会有刷刷题的习惯。不过网上有太多的Java面试题库了,大部分都潦潦草草,没有知识储备的小伙伴一般很难看下去,看完后也不会留下印象。最近也是有粉丝私信我说求一份图文并茂,易于理解,代码讲解,题目高频?的面试题库。作为当代互联网雷锋,既然你们都开口问我要了,我肯定不能坐视不理!下面我就把我前段时间偶然得到的一份系统的面试题库分享给大家!题库内容涵盖:基础+JVM+多线程&并发+Spring+MyBatis+SpringBoot+MySQL+SpringCloud+Du.

2021-12-07 13:07:41 313

原创 全网最牛X的,MySQL两阶段提交串讲

一、吹个牛#面试官的一句:“了解MySQL的两阶段提交吗?” 不知道问凉了多少人!这篇文章白日梦就和大家分享什么是MySQL的两阶提交到底是怎么回事!不管你原来晓不晓得两阶段提交,相信我!这篇文章中你一定能get到新的知识!在说两阶段提交之前,大家要了解undo-log、redo-log、binlog。先了解它们,才能更好的理解什么是两阶段提交二、事务及它的特性#在说两阶段提交事物之前,我们先来说说事务。一般当我们的功能函数中有批量的增删改时,我们会添加一个事物包裹这一系列的

2021-12-04 16:46:55 128

原创 太牛了,阿里“百万级”性能优化小册居然能让系统运行得这么快

Java性能优化Java一直是一种极其实用的语言。它一开始对性能的态度是,只要环境足够快并且能提升开发效率,就可以牺牲原始性能。所以直到近些年,随着诸如HotSpot之类的JVM日趋成熟和进步,Java环境才开始适合于高性能计算应用程序。但最真实的情况是当你们团队没那么重视性能,当系统已经陷入麻烦时,团队才会急急忙忙加以分析。这时候就需要性能“英雄”来救场了。不仅如此,性能优化这四个字无论是工作还是面试,都会高频出现在我们的视线中。作为一名当代Java程序员,可以说想要面试不挂,工作涨薪,你不会性能

2021-12-04 16:42:08 130

原创 阿里二面:为什么MySQL选择Repeatable Read作为默认隔离级别?

我们知道, ANSI/ISO SQL定义的标准隔离级别有四种,从高到底依次为:可序列化(Serializable)、可重复读(Repeatable Reads)、提交读(Read Committed)、未提交读(Read Uncommitted)。RU隔离级别下,可能发生脏读、幻读、不可重复读等问题。RC隔离级别下,解决了脏读的问题,存在幻读、不可重复读的问题。RR隔离级别下,解决了脏读、不可重复读的问题,存在幻读的问题。Serializable隔离级别下,解决了脏读、幻读、不可重复...

2021-12-04 14:43:36 124

原创 JUC同步框架详解

前言最近几个周末都在学习JUC有关的东西,在学习AQS时在网上发现了《The java.util.concurrent Synchronizer Framework》这篇论文的中文翻译,因此分享下。英文版地址:http://gee.cs.oswego.edu/dl/papers/aqs.pdf摘要在J2SE 1.5的java.util.concurrent包(下称j.u.c包)中,大部分的同步器(例如锁,屏障等等)都是基于AbstractQueuedSynchronizer类(下称AQS类

2021-11-30 15:13:31 205

原创 蚂蚁金服三面:请说说Redis分布式锁的原理和实现

对同一个资源进行操作,单一的缓存读取没问题了,但是存在并发的时候怎么办呢,为了避免数据不一致,我们需要在操作共享资源之前进行 加锁 操作。我们在开发很多业务场景会使用到锁,例如库存控制,抽奖,秒杀等。一般我们会使用内存锁的方式来保证线性的执行。但现在大多站点都会使用分布式部署,那多台服务器间的就必须使用同一个目标来判断锁。分布式与单机情况下最大的不同在于其不是多线程而是多进程。图1:分布式站点使用内存锁图2:分布式站点使用分布式锁当然我们暂时用不了这么复杂的场

2021-11-29 14:31:45 98

原创 阅读 redis 源码,学习缓存淘汰算法 W-TinyLFU

所有 IT 从业者都接触过缓存,一定了解基本工作原理,业界流行一句话:缓存就是万金油,哪里有问题哪里抹一下。那他的本质是什么呢?上图代表从 cpu 到底层硬盘不同层次,不同模块的运行速度,上层多加一层 cache, 就能解决下层的速度慢的问题,这里的慢是指两点:IO 慢和 cpu 重复计算缓存中间结果但是 cache 受限于成本,cache size 一般都是固定的,所以数据需要淘汰,由此引出一系列其它问题:缓存一致性、击穿、雪崩、污染等等,本文通过阅读 redis 源码,学习主流淘汰算..

2021-11-29 14:23:03 87

原创 惊讶,原来源码是这样理解的:百度强推Spring源码速成笔记

一定不要放弃阅读源码“源码”这两个字想必大家一看到是有人爱有人恨。后者在于:费时费力还复杂太考验耐心!但优秀的源码中有着多年积淀下来的精华,可以说阅读源码小到对源码所提供的功能上的使用更加熟练,大到使我们的程序设计更加完美优秀。身为程序员的我们为了不被时代淘汰,为了在同级中脱颖而出,肯定是不能停止学习的!为什么我们就不能做到通读源码?让多数人的短处成为我们的长处!如何学?想要掌握阅读源码的方法,看书站在巨人的肩膀上学习肯定是很好的一个途径,但光看书肯定枯燥无味,看书结合视频才是快速掌握阅读源码的

2021-11-29 14:11:26 79

原创 百度甩出SpringSecurity笔记,源码实战齐下

Spring SecuritySpring Security想必大家也在网上也看到过许多博客讨论,对于它的概念我就不再细说了。由于Spring Security是Spring生态系统中的一员,它伴随着整个Spring生态系统不断修正、升级,所以使用Spring Security 能最大程度减少企业系统安全控制编写大量重复代码的工作。但据有关数据表示,现在大多数开发人员对于Spring Security仅仅停留在会用的阶段,对于其核心原理却不知其所以然。所以今天互联网雷锋(小编我)就把前段时间从百度一

2021-11-29 13:51:40 97

原创 使用Spring特性优雅书写业务代码

大家在日常业务开发工作中相信多多少少遇到过下面这样的几个场景:当某一个特定事件或动作发生以后,需要执行很多联动动作,如果串行去执行的话太耗时,如果引入消息中间件的话又太重了; 想要针对不同的传参执行不同的策略,也就是我们常说的策略模式,但10个人可能有10种不同的写法,夹杂在一起总感觉不那么优雅; 自己的系统想要调用其他系统提供的能力,但其他系统总是偶尔给你一点“小惊喜”,可能因网络问题报超时异常或被调用的某一台分布式应用机器突然宕机,我们想要优雅无侵入式地引入重试机制。其实上面提到的几个典型业务

2021-11-29 13:40:38 109

原创 终于有人把JDK源码精髓收录成册,全网开源了

为什么我们要阅读源码?大家都知道,我们做这行的基本每天都要和代码打交道,但其实大部分程序员都会‘写’代码,或者至少会抄代码和改代码。但是,会读代码的并不在多数,会读会写代码又真正读懂一些大项目的源码的,少之又少。如何提升自己的读/写代码能力?其实写代码就像写作,我们的写作能力,是建立在大量基础阅读的基础上的,而我们现在写代码一般是直接CV人家的,跳过了大量阅读名家作品的过程,前辈们踩过的坑,总结的经验教训,我们很少有人去吸收,也就不能自己的技术水平得到全面提升。这样无疑对我们自己的发展是很受限的

2021-11-29 13:32:45 109

原创 你真的懂 Order By吗?看完这篇MySQL排序的艺术你就明白了

前言业务中的各种查询通常对应了用户所看到的各项列表,列表一般是根据某个维度进行排序。换句话说,业务中使用SELECT语句的时候除了不可避免的搭配WHERE以外,还会配合ORDER BY进行使用。今天来好好聊聊 MySQL 的ORDER BY排序。排序算法说到排序算法,有插入排序、选择排序、归并排序、堆排序、快速排序、计数排序、桶排序、基数排序、冒泡排序、希尔排序、梳排序 ...关于各种排序算法的排序流程和具体实现,不是本篇博客的重点,不作详细说明。这里直接贴各类...

2021-11-29 13:26:30 109

原创 有了阿里人的并发图册+JDK源码速成笔记,我终于不慌内卷了

并发编程Java并发在近几年的面试里面可以说是面试热点,每个面试官面试的时候都会跟你扯一下并发,甚至是高并发。面试前你不仅得需要弄清楚的是什么是并发,还得搞清什么是高并发!在这里很多小白朋友就会很疑惑:我工作又不用,为啥面试总是问?真就内卷卷我呗!(手动狗头)互联网内卷已经是现在的行业趋势,而且是不可逆的,这个大家也知道;但LZ要说的是,虽然简单地增删改查并不需要并发的知识,但是业务稍微复杂一点,你的技术水平稍微提升一点的话你就会知道,并发是我们Java程序员绕不开的一道坎。如何打开并发世界的大

2021-11-29 13:16:25 91

原创 「HttpClient」在 SpringBoot 中使用 HttpClient 实现 HTTP 请求

越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。新建一个SpringBoot工程,引入httpclient的 POM...

2021-11-29 13:02:31 1136

原创 大厂总结:蚂蚁金服+滴滴+美团+拼多多+腾讯15万字Java面试题

项目经历怎么写的?简历上有一两个项目经历很正常,但是真正能把项目经历很好地展示给面试官的非常少。对于项目经历大家可以考虑从如下几点来写:1. 对项目整体设计的一个感受2. 在这个项目中你负责了什么、做了什么,担任了什么角色?3. 从这个项目中你学会了那些东西,使用到了那些技术,学会了那些新技术的使用4. 另外项目描述中,最好可以体现自己的综合素质,比如你是如何协调项目组成员协同开发的或者在遇到某一个棘手的问题的时候你是如何解决的又或者说你在这个项目用了什么技术实现了什么功能,比如:用redi

2021-11-29 13:01:31 121

原创 2937收藏分享15款Spring开源项目脚手架,全面&给力(收藏款)

❝不管是工作还是学习,很多时候我们都不需要自己再造轮子,并且如果有一个足够可用的轮子,在工作或者学习上,都会帮我们节省很多时间,这个真的哦。有的公司的管理框架就是用开源项目改的。 今天在这边给大家推荐15个,优质开源Spring Boot & Spring Cloud 的比较多,包括权限管理类、支付类、商城类,博客管理、CRM、ERP等。还是比较全面的,感谢这些作者的贡献,ღ( ´・ᴗ・` )比心。文章被收录在:www.javaxks.com/❞文章持续更新中...微人事.

2021-11-28 14:46:53 252

原创 高并发系统简单玩,Alibaba全新出品亿级并发设计速成笔记真香

前言如何提升系统性能,设计出一个靠谱的系统是每一个架构师或者正在往架构师方向进阶的同僚们都需要考虑的问题。公司所处的行业,业务场景决定了你设计的系统演进过程,不过万变不离其宗,系统设计和优化的思想都是相通的(当然如果你刚入行没多久,目前肯定还不需要苦恼这种问题,但是工作用不到,不代表面试不问)。如何设计一个高并发系统?这个问题想必有些出去面试的好兄弟肯定被问到过,现在公司招聘的需求也大都是:有高并发系统经验者优先。如果你没有,他问了你就挂了。如果你确实在互联网公司里干过高并发系统,是个“大佬”或者“

2021-11-28 14:33:43 67

原创 太牛了,一键生成数据库文档,堪称数据库界的Swagger

最近部门订单业务调整,收拢其他业务线的下单入口,做个统一大订单平台。需要梳理各业务线的数据表,但每个业务线库都有近百张和订单相关的表,挨个表一个一个字段的弄脑瓜子嗡嗡的。为了不重复 CV 操作,抱着一丝希望开始在GitHub里找,看看有没有什么工具可以用,结果就真的发现了宝藏,screw(螺丝钉),居然可以生成数据库文档,优秀啊~。数据库支持MySQL MariaDB TIDB Oracle SqlServer PostgreSQL Cache DB配置1、pom文.

2021-11-28 14:25:56 211

原创 11场面试无一被拒,阿里巴巴面试参考指南(Java版)真香

Java面试今年时间属实过得挺快的,眼瞅着就要到12月了!想必有很多小伙伴这会已经在为面试跳槽做准备了。临近面试肯定是要想办法提升自己的面试能力,这个时候如果还去一昧地提升自己的代码能力对面试是毫无帮助的。大多数人在面试的时候都会遇到以下几种情况(大家可以看看自己中了几个):1、自我感觉自己的Java的技术不错,但是面试往往不如人意;2、对面试官提出的问题很懵,不知道他问的是什么?3、面试才开始,有些面试官就疯狂地从知识基础的开始询问;4、一些面试官一直在问有关业务场景的问题,完全不知

2021-11-28 14:04:17 134

原创 如何轻松给Spring Boot配置文件加个密

在实践中,项目的某些配置信息是需要进行加密处理的,以减少敏感信息泄露的风险。比如,在使用Druid时,就可以基于它提供的公私钥加密方式对数据库的密码进行加密。但更多时候,比如Redis密码、MQ密码等敏感信息,也需要进行加密,此时就没那么方便了。本篇文章给大家介绍一款Java类库Jasypt,同时基于Spring Boot项目来演示一下如何对配置文件信息进行加密。一个简单的SpringBoot项目我们先来创建一个简单的Spring Boot项目,构建一个加密数据运用的场景。无论通过Idea或

2021-11-28 13:49:04 216

原创 MySQL沉浸式面试:隔离级别、锁、索引原理连环炮你能扛住吗

今天我们来聊聊MySQL原理基础篇主要是侧重基础知识,原理篇是有一定基础后的递进,通过学习本篇,不仅可以进一步了解MySQL的各项特性,还能为接下来的容灾调优打下坚实的基础。现在,就让我们继续跟随阿柴进行这场沉浸式面试吧。ACID与隔离级别那你先来说说MySQL的四种隔离级别吧。SQL标准定义了4类隔离级别,包括一些具体规则,用来限定事务之间的隔离性。这四种级别分别是读未提交、读已提交、可重复读、串型化。读未提交,顾名思义,就是可以读到还没有提交的数据;读已提交会读到其它

2021-11-28 13:30:09 96

原创 阿里技术官甩出的内部首推分布式系统开发笔记太顶了

分布式系统提到分布式系统,我们常常会需要分布式系统来解决系统容量不足和系统高可用问题。一方面随着业务越来越复杂,服务也会变得越来越复杂,单台机器的CPU、内存已经无法满足部署一个庞大系统的性能要求,这个时候系统的高性能显得尤为重要。另外一方面在单台机器上部署服务,如果机器出现故障导致服务挂了,那么整个系统就会崩溃了,这个时候就要提高系统的可用性。然而现实是:有些小伙伴甚至都还没有接触到分布式系统的设计这一领域。然而分布式系统设计是你从一个初级程序员向高级程序员甚至是架构师必须要迈过的一道槛。分布

2021-11-28 13:08:04 53

原创 Github限时开放,阿里内部强推微服务容器化参考指南我粉了

微服务容器化如今,无论是开发人员、运维人员还是技术管理者,言系统架构必谈微服务和容器化,必谈分布式和互联网架构。但是对于大多数IT从业者来说,微服务、容器化、Kubernetes 等涉及很多新技术,如果完全摸索着去学习,无形中会增加学习时间,并延长系统的新架构改造周期,而且其他人遇到的问题还要重新解决。这无疑会给我们的开发效率造成很大的影响。本着好东西就是要拿出来分享的原则:互联网雷锋(LZ我)为了能让大家少走弯路,并且给予你们一些系统架构、技术栈选型等方面的参考。借此机会,特地把从阿里的一位老哥手

2021-11-28 13:02:40 62

原创 12 款 yyds 的 IDEA插件,配上18条使用技巧,绝了

工欲善其事,必先利其器。想要提升编程开发效率,必须选择一款顺手的开发工具。JetBrains 公司提供了一系列功能强大、风格统一的开发工具,深受开发者喜爱。其中,IDEA 是面向 Java 开发的专业 IDE(集成开发环境),90% 以上的企业都在使用 IDEA 进行 Java 开发,而不是用其他的工具如 Eclipse。但是,想要开发效率最大化,仅有好的开发工具是不够的,还要能够熟练地使用它。对于 IDEA 的新用户来说,面对功能如此丰富的开发工具可能会有些迷茫,但又不想花时间去学习如何使

2021-11-28 13:02:00 770

原创 一年时间,从小白到进入阿里核心部门,“他”的逆袭之路

注明:这是一个励志老哥给我分享的个人经历,发本文的目的是为了让大家可以参考他的学习经历,提高自己的能力!当然人外有人天外有天,大神也别打我!再次说明,我只是为了能够帮助迷茫的兄弟们!接下来以他的第一视角为大家讲述他的经历。可能故事有点长,大家是想听故事还是直接听我讲我学了什么,怎么学习的。好吧,进入实验室的过程我就不细说了,最后选了两个人,一个就是我!!进去的第一个项目是做一个javase的桌面项目,我和同伴负责的是写界面。当时就觉得有机会写真正项目就已经很开心了,根本不考虑写什么,

2021-11-27 14:57:36 221

原创 工作四年,分享50个让你代码更好的小建议

前言工作了四年,看过很多思考不够深入的代码,因此写一下总结吧,50个让你代码更好的建议。其中的一些点,我以前的文章也写过啦,这次主要汇总一下。希望大家日常写代码多点思考,多点总结,加油!同时哪里有不对的,也望指出,感谢哈~1. 仅是判断是否存在时,select count 比 select 具体的列,更好。我们经常遇到类似的业务场景,如,判断某个用户userId是否是会员。(反例):一些小伙伴会这样实现,先查从用户信息表查出用户记录,然后再去判断是否是会员:<select id.

2021-11-27 14:44:54 230

原创 15款Spring开源项目脚手架,全面&给力(收藏款)

❝不管是工作还是学习,很多时候我们都不需要自己再造轮子,并且如果有一个足够可用的轮子,在工作或者学习上,都会帮我们节省很多时间,这个真的哦。有的公司的管理框架就是用开源项目改的。 今天在这边给大家推荐15个,优质开源Spring Boot & Spring Cloud 的比较多,包括权限管理类、支付类、商城类,博客管理、CRM、ERP等。还是比较全面的,感谢这些作者的贡献,ღ( ´・ᴗ・` )比心。文章被收录在:www.javaxks.com/❞文章持续更新中...微人事.

2021-11-27 14:35:20 464

原创 字节跳动面试官:你会怎么处理SpringBoot统一接口返回和全局异常

现在大多数公司项目框架,基本都是属于前后端分离模式,这种模式会涉及到一个前后端对接问题,无论是对前端或者是后台服务,维护一套完善且规范的接口是非常有必要的,这样不仅能够提高对接效率,也可以让我的代码看起来更加简洁优雅。修改前后最大的区别是我们不用在每个接口单独捕获异常,也不用在每个接口都要组装一遍返回参数,可以参考下面这张对比图:一、SpringBoot不使用统一返回格式默认情况下,SpringBoot会有如下三种返回情况。1.1 字符串@GetMapping("/getUse

2021-11-27 14:18:17 237

原创 赶紧收藏,月薪5万的程序员必备软件清单

1、idea业界排名第一的java开发工具,非常非常好用,如果还在用eclipse的朋友,赶紧来体验一把,你一定会爱上她的。2、navicat玩mysql的同学,这个工具应该很熟悉了吧,算是玩mysql必备的管理工具。3、dbeaver万能数据库管理工具,navicat收费了,建议同学们可以体验一下这个工具,比navicat更优秀。4、submine非常强大的一款文本编辑器,特别好用。http://www.sublimetext.cn/5

2021-11-27 14:03:32 115

原创 世界级运维专家巨作:793页Linux实战手记,GitHub点击量已超千万

前言:我们知道Linux这玩意儿是在计算机上面运行的,所以说Linux就是一组软件。问题是这个软件是操作系统还是应用程序? Linux可以在哪些种类的计算机硬件上面运行?而Linux源自哪里?为什么使用Linux还不用花钱?这些我们都得先来谈—谈! 免得下次人家问你,为什么复制软件不会违法时,你会答不出来!下面大家一起来看一下:这本书是颇具知名度的 Linux书籍最新版,全面且详细地介绍了Linux操作系统。内容丰富全面,基本概念的讲解非常细致,深入浅出。各种功能和命令的介绍,都配以大量的实例操

2021-11-27 13:48:23 88

原创 开箱即用,看看别人的微服务权限解决方案,那叫一个优雅

前置知识我们将采用Nacos作为注册中心,Gateway作为网关,使用Sa-Token提供的微服务权限解决方案,此方案是基于之前的解决方案改造的应用架构还是和之前方案差不多的思路,认证服务负责登录处理,网关负责登录认证和权限认证,其他API服务负责处理自己的业务逻辑。为了能在多个服务中共享Sa-Token的Session,所有服务都需要集成Sa-Token和Redis。micro-sa-token-common:通用工具包,其他服务公用的用户类UserDTO和通用返回结果类Commo

2021-11-27 13:38:53 193

原创 火爆全网的Spring Security手册及源码笔记,在Github上标星103K

Spring Security 是一个基于 Spring AOP 和 Servlet 过滤器的安全框架,它提供了安全性方面的解决方案Spring Security作为非常强大的框架,作为程序员是非常热爱的,我这里整理了四份Spring Security手写笔记及实战手册分享给大家目录内容SpringSecurity笔记(一)SpringSecurity笔记(二)SpringSecurity笔记(三)SpringSecurity笔记(四)Sprin.

2021-11-27 13:28:04 3708

原创 “他”靠这份GitHub star过万的1121页图解算法成功杀进字节跳动

前两天收到读者喜报,说是进字节了和他交流了一下他的学习心得,发现他看的资料也是我之前推荐过的算法进阶指南,这里推荐给大家,github star 可是过万哦!质量非常高!这份算法笔记与其他的不同,均是用图解,gif 的方式来针对常见的题型进行详细的说明,非常的浅显易懂!有了这份笔记的总结,对校招和社招的算法刷题帮助之大不言而喻,果断收藏了简单介绍一下这份笔记比如判断环的入口位置,画了一张图,配以简单的文字描述让大家看完瞬间豁然开朗!比如很多读者表示不了解递归的概念,结果文

2021-11-27 13:10:06 48

原创 情景再现,Java面试老大难问题:缓存雪崩,穿透,击穿,一文道明

正文提到Redis我相信各位在面试,或者实际开发过程中对缓存雪崩,穿透,击穿也不陌生吧,就算没遇到过但是你肯定听过,那三者到底有什么区别,我们又应该怎么去防止这样的情况发生呢,我们有请下一位受害者。面试开始一个大腹便便,穿着格子衬衣的中年男子,拿着一个满是划痕的mac向你走来,看着快秃顶的头发,心想着肯定是尼玛顶级架构师吧!但是我们腹有诗书气自华,说虚都不虚。小伙子我看你的简历上写到了Redis,那么我们直接开门见山,直接怼常见的几个大问题,Redis雪崩了解么?帅气迷人的面试官您.

2021-11-27 13:09:11 102

原创 聊聊消息队列高性能的秘密——零拷贝技术

前言RocketMQ为什么这么快、Kafka为什么这么快?用了零拷贝技术?什么是零拷贝技术,它们二者的零拷贝技术有不同吗?为什么需要零拷贝在计算机产业中,I/O的速度相较CPU,总是太慢的。SSD硬盘的IOPS可以达到2W、4W,但是我们CPU的主频有2GHz以上,也就意味着每秒会有20亿次的操作。如果对于I/O操作,都是由CPU发出对应的指令,然后等待I/O设备完成操作之后返回,那CPU有大量的时间其实都是在等待I/O设备完成操作。但是,这个 CPU 的等待,在很多时候,其实并没有太多的实际意

2021-11-26 15:00:08 4718

原创 怎么实现IDEA 的 debug ,我是这样做的

对 Debug 的好奇初学 Java 时,我对 IDEA 的 Debug 非常好奇,不止是它能查看断点的上下文环境,更神奇的是我可以在断点处使用它的 Evaluate 功能直接执行某些命令,进行一些计算或改变当前变量。刚开始语法不熟经常写错代码,重新打包部署一次代码耗时很长,我就直接面向 Debug 开发。在要编写的方法开始处打一个断点,在 Evaluate 框内一次次地执行方法函数不停地调整代码,没问题后再将代码复制出来放到 IDEA 里,再进行下一个方法的编写,这样就跟写 PHP 类似的解释性语

2021-11-26 14:38:55 318

空空如也

空空如也

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

TA关注的人

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