
后端
文章平均质量分 84
公众号【Java大蜗牛】
这个作者很懒,什么都没留下…
展开
-
阿里面试题:如何解决缓存常见的坑?
为什么使用缓存在高并发请求时,我们会频繁提到使用缓存技术,最直接的原因是,磁盘IO及网络开销是直接请求内存IO的千百上千倍做个简单计算,如果我们需要某个数据,该数据从数据库磁盘读出来需要0.0045S,经过网络请求传输需要0.0005S,那么每个请求完成最少需要0.005S,该数据服务器每秒最多只能响应200个请求,而如果该数据存于本机内存里,读出来只需要100us,那么每秒能够响应10000个请求。通过将数据存储到离CPU更近的未位置,减少数据传输时间,提高处理效率,这就是缓存的意义。...原创 2021-05-27 13:49:33 · 351 阅读 · 1 评论 -
牛逼!从0到1用Java实现-Redis分布式锁。
1、为什么要使用分布式锁如果在一个分布式系统中,我们从数据库中读取一个数据,然后修改保存,这种情况很容易遇到并发问题。因为读取和更新保存不是一个原子操作,在并发时就会导致数据的不正确。这种场景其实并不少见,比如电商秒杀活动,库存数量的更新就会遇到。如果是单机应用,直接使用本地锁就可以避免。如果是分布式应用,本地锁派不上用场,这时就需要引入分布式锁来解决。由此可见分布式锁的目的其实很简单,就是为了保证多台服务器在执行某一段代码时保证只有一台服务器执行。2、为了保证分布式锁的可用性,至少要...原创 2021-05-26 15:25:49 · 289 阅读 · 0 评论 -
美团面试题:被问缓存一致性,我的这个回答直接让面试官刮目相看!
美团面试题:被问缓存一致性,我的这个回答直接让面试官刮目相看!文末附面试资料~方案分析更新缓存策略方式常见的有下面几种:先更新缓存,再更新数据库先更新数据库,再更新缓存先删除缓存,再更新数据库先更新数据库,再删除缓存下面一 一介绍!方案一:更新缓存,更新数据库这种方式可轻易排除,因为如果先更新缓存成功,但是数据库更新失败,则肯定会造成数据不一致。方案二:更新数据库,更新缓存这种缓存更新策略俗称双写,存在问题是:并发更新数据库场景下,会将脏数据刷到缓存updateDB();upda原创 2021-05-24 14:05:20 · 303 阅读 · 0 评论 -
用5年算法经验:来讲透什么是时间复杂度和空间复杂度?
养成阅读好习惯,从关注开始!文末附相关资料前言所谓算法,其实就是我们用来操作数据、解决程序问题的一组方法。针对同一个问题,我们可以采用不同的算法,然后实现相同的结果。但是针对不同的算法,对于时间和资源的消耗却有不同的差别。而为了分析不同算法的效率,我们常常从 时间 和 空间 两个方面来对比,然后从中挑出最适合我们的解决方案。本文主要从时间复杂度和空间复杂度的定义说起,然后介绍常见的时间复杂度和空间复杂度,最后则是对常见排序算法进行了总结。时间复杂度定义若存在函数 f(n)f(n)f(n),使原创 2021-05-20 20:04:10 · 295 阅读 · 0 评论 -
【最新】不负众望,成功拿下了阿里面试!岗位:Java高级工程师,附答案!
养成阅读好习惯,从关注开始!这是5月份最新出的Java高级面试题,题目覆盖面比较广,面试前还是需要好好去准备。除了这些技术上的问题之外,都是一些会问的常规性的问题了,比如为啥在前一家公司干的挺好的还是决定出来跳槽,喜欢安稳还是挑战,期待薪资是多少等等,相关答案文末自取!1.数据库· 使用mysq1索引都有哪些原则?· 索引什么数据结构?· B+tree和Btree什么区别?· mysq有哪些存储引擎啊?都有啥区别?要详细!!· 设计高并发系统数据库层面该怎么设计?· 数据库锁有哪些类型?如原创 2021-05-20 14:54:26 · 377 阅读 · 6 评论 -
我已迷失在MySQL的锁世界无法自拔~~~!
1.饮料这是一杯饮料。这是3杯饮料,每杯饮料的味道各不相同。但是人类并不称呼【饮料】为【饮料】,而是称呼【饮料】为【记录】。2.红章鱼这个红色的,长的像章鱼????的家伙,我们就叫它红章鱼~红章鱼分为头部和触手两个部分。红章鱼有触手,且可以有任意根触手。红章鱼爱喝饮料,把触手伸进杯子就能吸到饮料。红章鱼将不同的触手伸进不同的杯子,就可以同时喝多杯饮料。多只红章鱼可以同时出现。但是正在喝饮料的红触手会排...原创 2021-05-19 19:56:50 · 217 阅读 · 1 评论 -
问:高并发场景下,如何保证数据的一致性的?
面试的时候,总会遇到这么一个场景。1. 场景分析面试官:你们的服务的QPS是多少?我:我们的服务高峰期访问量还挺大的,大约是3万吧。面试官:这么大的访问量,你们的服务器能撑住吗?有加缓存吗?我:有的,我们使用了Redis做缓存,接口优先查询缓存,缓存不存在,才访问数据库。这样可以减少数据库访问压力,加快查询效率。面试官:一份数据存储在两个地方,更新数据的时候,你们是怎么保证数据的一致性的?看到了吧,好的面试官一般不直接问你数据一致性的解决方案,而是循循善诱,结合具体的使用场景,再问你解决方法.原创 2021-05-15 17:37:08 · 1785 阅读 · 0 评论 -
厉害了!阿里大佬把 HashMap 剖析得只剩渣渣了
前言HashMap是一个非常重要的集合,日常使用也非常的频繁,同时也是面试重点。本文并不打算讲解基础的使用api,而是深入HashMap的底层,讲解关于HashMap的重点知识。需要读者对散列表和HashMap有一定的认识。HashMap本质上是一个散列表,那么就离不开散列表的三大问题:散列函数、哈希冲突、扩容方案;同时作为一个数据结构,必须考虑多线程并发访问的问题,也就是线程安全。这四大重点则为学习HashMap的重点,也是HashMap设计的重点。HashMap属于Map集合体系的一..原创 2021-05-15 13:48:28 · 221 阅读 · 0 评论 -
【Java后端面经】2021-5月字节跳动热乎凉经!
一面:时间5月10号 20:00,1.项目相关(我是做支付交易相关的,刚好面的也是支付部门)其中有个问题:① 热点账户如何解决的;② 只出账户拆分成多个子账户,那某个子账户进行扣减的时候,该子账户钱不够了怎么办?2.如何解决资源竞争激烈问题,转换一下问题就是并发场景下如何提升性能。说我使用java,那就已java语言为例,说说你使用的说了:乐观锁、悲观锁(java各种锁相关,不过字节不是java,所以没有详细说,大概说了下思路),这个主要还是往如何在并发场景下提升处理性能,两个大方向:① 尽量实现原创 2021-05-13 21:03:25 · 1310 阅读 · 5 评论 -
【Java开发】5月最新美团Java实习面经!
1.自我介绍 , 能过来实习的时间?2.java的最大优势,跟golang相比?知道字节为什么选择golang?3.你说了解java编译和解释过程,class文件和动态链接库so文件有看过吗?会汇编吗?4. 你说你看过很多源码是吗?那你说说hashmap的底层实现?什么条件下会自动扩容的?为什么要有 红黑树 ?什么条件下会有?扩容因子为什么是0.75有研究过吗?5.jvm你说熟悉是吧? 源码了解吗?说说类加载过程?还有说说gc和内存分配机制?知道怎么优化吗?6. 熟悉 红黑树是...原创 2021-05-11 21:10:25 · 368 阅读 · 3 评论 -
4月面试,5月收获offer!美团后端开发实习面经真实分享!祝大家都拿到心仪的offer!
话不多说,直接进入主题:4月23日:美团一面(1h):前半小时忘记录音了QAQ,尽量写一些印象深的吧:1.MySQL;索引相关,mysql中都有哪些日志,讲一下mvcc的实现2.平衡二叉树与红黑树比较3.经典问题:地址栏输入一个网址到返回一个网页的过程4.看到简历上写了了解多线程基础及线程池相关,于是问了线程池七个参数,详细问了任务队列5.介绍ArrayBlockingQueue和LinkedBlockingQueue的底层区别,比较这两种任务队列高并发场景下谁效率高,为什么。6.计原创 2021-05-10 21:06:46 · 438 阅读 · 1 评论 -
笔试必备,8种排序算法的Java实现,附标准答案!
一、Java版希尔排序(缩小增量排序)复杂度 平均 O(n^1.3) 最好O(n) 最差O(n^s)[1内循环通过模拟并行的方式完成分组的内部直接插入排序,而不是一个一个分组分组的排,在10w的随机数据20w的随机数据均表现优异。public void shellSort(int[] a) { if (null == a || a.length < 2) { return; } for (int d = a.length/2; d > 0; d/=2) { // 从1原创 2021-05-08 20:53:49 · 383 阅读 · 1 评论 -
分布式session的几种解决方案,你中意哪种?
前言:我发现了一个商城,我还没有登录,就可以往购物车中添加商品,加了好几件后,我准备付款,需要我先去登录,登录完之后付款。现在很多商城,都会要求用户先去登录,登录之后再往购物车中添加商品,这样用户、购物车、商品,三个对象之间就有了绑定关系。而针对我最开始说的那种情况,其实就是基于session做的,客户端往购物车中添加第一个商品的时候,发送一个请求,服务器收到请求之后,创建session,然后返回当前session对应的一个JessionId,浏览器存储在cookie中,客户端往购物车...原创 2021-05-08 13:42:48 · 529 阅读 · 0 评论 -
最新最全35问:2021 - JVM面试题总结(附答案)自取!
最新最全35问:2021 - JVM面试题总结JVM作为后端开发的核心技术,必须得掌握!本篇文章JVM面试题总结,包含JVM类文件结构,JVM类加载工程,JVM类加载器,JVM垃圾回收请看题:1.请概述一下Java 类文件结构?2.请总结一下Class 文件结构?3.请谈谈你对JVM的理解?4.从 JVM 角度说进程和线程之间的关系5.JVM 配置常用参数有哪些?6.常用 GC 调优策略有哪些?7.虚拟机栈和本地方法栈为什么是私有的?8.一句话简单了解堆...原创 2021-05-07 14:17:26 · 447 阅读 · 0 评论 -
什么,你管这叫“线程安全”?
前言:1.什么叫线程安全?2.线程安全与变量的关系?变量又与堆/栈/静态存储区有密切关系什么叫线程安全?我们以常见的一行代码i++ ,i-- 为例, 计算机的操作姿势可能与你想象的不一样。在大多数计算机中, 给变量自增并不是原子操作, 需要下面三步:① 将变量值加载进寄存器② 寄存器自增/自减值③ 将寄存器值加载回原变量多线程环境下,如果你不使用一些原子锁操作:线程A ( i++ )可能只执行了前面两步后,之后CPU轮询切换到其他线程或者线程A被抢占CPU; 线程B ( i-- )欻.原创 2021-04-30 14:58:16 · 226 阅读 · 2 评论 -
万级并发!电商库存扣减如何设计,如何做到不超卖?
前言:随着中国消费认知的不断升级,网购走近千家万户,越来越被人们所接受。淘宝、唯品会、考拉、京东、拼多多等逐渐成为我们生活的重要组成部分。除了常规的购物下单外,这些电商平台还经常搞一些双十一活动,秒杀、大促、限时购,各种营销玩法,层出不穷!今天就来跟大家聊一聊电商技术里的库存扣减。当有很多人同时在买一件商品时(假设库存充足),每个人几乎同时下单成功,给人一种并行的感觉。但真实情况, 库存只是一个数值,无论是存在mysql数据库还是redis缓存,减值时都要控制顺序,只能串行...原创 2021-04-27 14:11:48 · 1386 阅读 · 1 评论 -
总是记不住Java的IO流用法?用N个问题教你掌握Java IO流
前言:Java IO 体系看起来类很多,感觉很复杂,但其实是 IO 涉及的因素太多了。在设计 IO 相关的类时,编写者也不是从同一个方面考虑的,所以会给人一种很乱的感觉,并且还有设计模式的使用,更加难以使用这些 IO 类,所以特地对 Java 的 IO 做一个总结。Java IO 体系看起来类很多,感觉很复杂,但其实是 IO 涉及的因素太多了。在设计 IO 相关的类时,编写者也不是从同一个方面考虑的,所以会给人一种很乱的感觉,并且还有设计模式的使用,更加难以使用这些 IO 类,所以特地对 Java 的原创 2021-04-23 16:29:07 · 308 阅读 · 0 评论 -
腾讯大佬把Redis进阶笔记分析的淋漓尽致!
一、Redis 基础数据结构StringRedis 里的字符串是动态字符串,会根据实际情况动态调整。类似于 Go 里面的切片-slice,如果长度不够则自动扩容。至于如何扩容,方法大致如下:当 length 小于 1M 的时候,扩容规则将目前的字符串翻倍;如果 length 大于 1M 的话,则每次只会扩容 1M,直到达到 512M。1. StringRedis 里的字符串是动态字符串,会根据实际情况动态调整。类似于 Go 里面的切片-slice,如果长度不够则自动扩容。至于如何扩容,方法大致如下原创 2021-04-22 17:14:45 · 253 阅读 · 0 评论 -
万字长篇,图文并茂!一篇与面试官和蔼交流的深入了解JVM(JDK8)果断收藏了!
文章目录面试系列1、类加载机制类加载过程分为 加载 >> 验证 >> 准备 >> 解析 >> 初始化 >> 使用 >> 卸载1、加载 在硬盘上查找并通过IO读入字节码文件,使用到类时才会加载,例如调用类的main()方法,new对象等等,在加载阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口2、验证 校验字节码文件的正确性3、准备 给类的静态变量分配内存,并赋予原创 2021-04-21 19:25:37 · 311 阅读 · 1 评论 -
架构大佬硬核解析 M1 上如何使用 Docker
前言出于开源项目的需要,我准备把之前在 Windows 下运行的开源项目移植到 Mac 上跑得试下,但是之前 Mac M1 芯片并不能很好地支持 Docker,这不,发现 Docker 也正式支持 Mac 了,M1 看了 Docker 的芳容,竟悄悄爱上了 Docker。本文主要内容如下:一、官宣1.1 官宣版之前 Docker 只支持在 Intel 芯片的 X86 架构上运行,Docker 已经正式支持苹果 M1 芯片了,而 M1 芯片是 ARM 架构的,所以说 D...原创 2021-04-21 16:25:08 · 1596 阅读 · 0 评论 -
Netty高级特性及源码详解
Netty的编码与解码编解码:出站消息会把Java对象转换成字节,入站消息则将字节转成Java对象Netty内部提供了一系列内置编解码API如StringEncoder和StringDecoder和编解码对象的ObjectEncoder和ObjectDecoder如果要实现高效的编解码可以用protobufprotobuf要维护大量proto文件,比较麻烦,一般可以使用protostuff,使用简单Netty粘包拆包Netty心跳检测机制断线重连Netty高并发高性能架构设计精髓原创 2021-04-19 21:11:10 · 198 阅读 · 0 评论 -
JVM 基础系列 - Java 内存模型引入
目录:JVM 基础 - Java 内存模型引入JMM引入 从堆栈说起 堆栈里面放了什么? 线程栈如何访问堆上对象? 线程栈访问堆示例 JMM与硬件内存结构关系 硬件内存结构简介 JMM与硬件内存连接 - 引入 JMM与硬件内存连接 - 对象共享后的可见性 JMM与硬件内存连接 - 竞态条件 JMM引入从堆栈说起JVM内部使用的Java内存模型在线程栈和堆之间划分内存。 此图从逻辑角度说明了Java内存模型:堆栈里面放了什么?线...原创 2021-04-16 20:55:50 · 1154 阅读 · 5 评论 -
超级详细的Spring Boot 注解总结,看过来
文章目录 1、@SpringBootApplication 2、@EnableAutoConfiguration 3、@Configuration 4、@SpringBootConfiguration 5、@ComponentScan 6、@Conditional 7、@ConditionalOnBean 8、@ConditionalOnMissingBean 9、@ConditionalOnClass 10、@Conditiona...原创 2021-02-22 22:05:06 · 314 阅读 · 0 评论 -
面试常问的HashMap底层实现原理详解,建议收藏!
文章目录一、快速入门 1.HashMap的常用方法 2.HashMap的几个重要知识点 二、JDK7与JDK8的HashMap区别 三、HashMap的容量与扩容机制 1.HashMap的默认负载因子 2.HashMap的扩容机制 3.HashMap中散列表数组初始长度 四、HashMap的结构 五、HashMap存储原理与存储流程 1.HashMap存储原理 2.HashMap存储流程 六、jdk8中HashMap为什么要引入红黑树? 七、扩容后...原创 2021-02-20 21:05:56 · 901 阅读 · 2 评论 -
为什么工厂模式可以解耦?下篇
1、回顾(一)上节我已经基本说明了耦合,以及在一些业务上是怎么发生的,实际上我们要理解一个思想,传统的EJB开发模式,因为受到了很多很多的框架硬性约束,web容器的约束导致了代码的可读性,可移植和可扩展性变得不好,所以有这些解耦的思想,我们才会在03年spring的广泛流行!回顾上节末尾:我们是不是遗留了一个问题,如果我们在工厂中,每次有一个新的对象,我们就需要手动的加一个对应的getBean方法,可重用性大大降低,所以我们称下面的代码,叫做-------------------...原创 2021-02-19 13:30:29 · 173 阅读 · 0 评论 -
为什么工厂模式可以解耦?why?
1、聊聊解耦?耦合:代码之间的关联关系称为耦合,具有强关联关系的称为强耦合。解耦:解除代码之间的关联关系,使每个业务代码职责单一,目的明确,通常我们在业务上称为解耦。2、代码示例我们以传统的EJB开发模式为例子,先不以框架展示,大家可以看看一些改代码难受的场景。业务来了:我需要把一段数据保存到mysql数据库中,按照分层逻辑实现(controller,service,dao)Dao接口层:publicinterfaceUserDao{/*** 保存的...原创 2021-02-18 21:06:15 · 545 阅读 · 0 评论 -
终于有人把Java异常处理方法给总结出来了,吃透这篇足够
推荐学习:这可能是全网Java学习路线最完整,最详细的版本了,没有之一文章目录一、前言 二、异常概述及异常体系结构 1.概述 2.异常体系结构 三、异常处理方式(两种) 1.方式一:try-catch-finally 2.方式二:throws 四、如何选择处理异常方式 五、手动抛出异常(throw) 六、自定义异常类 七、异常处理总结一、前言这篇文章是我之前学过的基础总结,希望对大家有所帮助!二、异常概述及异常体系结构1.概述我们在做程.原创 2021-02-07 16:12:42 · 222 阅读 · 0 评论 -
快手基于RocketMQ的在线消息系统建设实践
推荐学习:这可能是全网Java学习路线最完整,最详细的版本了,没有之一为什么建设在线消息系统在引入 RocketMQ 之前,快手已经在大量的使用 Kafka 了,但并非所有情况下 Kafka 都是最合适的,比如以下场景:业务希望个别消费失败以后可以重试,并且不堵塞后续其它消息的消费。 业务希望消息可以延迟一段时间再投递。 业务需要发送的时候保证数据库操作和消息发送是一致的(也就是事务发送)。 为了排查问题,有的时候业务需要一定的单个消息查询能力。为了应对以上这类场景,我们需要.原创 2021-02-06 21:52:38 · 224 阅读 · 0 评论 -
一个注解搞定 SpringBoot 接口防刷,还有谁不会?
说明:使用了注解的方式进行对接口防刷的功能,非常高大上,本文章仅供参考一,技术要点:springboot的基本知识,redis基本操作,首先是写一个注解类:importjava.lang.annotation.Retention;importjava.lang.annotation.Target;importstaticjava.lang.annotation.ElementType.METHOD;importstaticjava.lang.annotation.Re...原创 2021-01-31 14:57:50 · 177 阅读 · 0 评论 -
赞!SpringMVC中常用注解(案例讲解)
SpringMVC中常用注解RequestParam RequestBody PathVaribale 先了解下REST 风格 URL RequestHeader CookieValue ModelAttribute 修饰的方法有返回值 修饰的方法没有返回值 SessionAttributeRequestParam说明作用:把请求中指定名称的参数给控制器中的形参赋值。属性:value:请求参数中的名称。required:请求参数中是否必须提供此参...原创 2021-01-29 21:54:09 · 201 阅读 · 0 评论 -
史上硬核!Jar 包依赖冲突排查思路和解决方法
喜大普奔,本期发布中,我们的应用从 jdk7 升级到 jdk8,终于可以用上新特性的语法进行代码编写,通过几轮开发、测试和验证后,在上预发环境时,应用突然无法启动,查看 tomcat 报错原因,发现是「类转换失败 ClassCastException」报错原因分析报错原因①「Class path contains multiple SLF4J binding」23-May-201916:04:25.300INFO[localhost-startStop-1]org.ap...原创 2021-01-28 22:34:54 · 678 阅读 · 0 评论 -
面试题:JVM垃圾回收18问,知道这些的人月薪都25K了
GC 对于Java 来说重要性不言而喻,不论是平日里对 JVM 的调优还是面试中的无情轰炸。这篇文章会以一问一答的方式来展开有关 GC 的内容。本文章所说的 GC 实现没有特殊说明的话,默认指的是 HotSpot 的。我先将十八个问题都列出来,大家可以先思考下能答出几道。好了,开始表演。young gc、old gc、full gc、mixed gc 傻傻分不清?这个问题的前置条件是你得知道 GC 分代,为什么分代。这个在之前文章提了,不清楚的可以去看看。现在我们来回答.原创 2021-01-27 15:15:01 · 291 阅读 · 0 评论 -
肝了3个晚上,大佬把基于ssm框架实现的视频电影系统写出来了
项目介绍本系统使用Spring+SpringMVC+MyBatis架构,数据库使用MySQL,共分为以下四大模块:1、登录注册及用户管理提供登录注册以及个人基本资料的修改查询2、资源管理管理员从后端添加电影资源并赋予资源的信息如名称、图片、时长、电影上映时间、评分、导演、演员、类型、地区等信息,发布成功在后端以及用户页面军可查看播放。3、评论管理在增加互动性且维护良好环境的同时,对用户评论内置了敏感词汇过滤。4、收藏管理用户可以将喜欢的电影添加到收藏中心,便于随时观看影片原创 2021-01-26 15:36:51 · 1106 阅读 · 0 评论 -
操作系统并发三剑客:进程/线程/协程
进程线程协程进程和线程进程,平时我们打开一个播放器,开一个记事本,这些都是应用程序,一个软件的执行副本,这就是进程。从操作系统层面而言,进程是分配资源的基本单位,线程在很长时间被称为轻量级的进程,是程序执行的基本单位。这样看来一个分配资源的基本单位,一个是程序执行的基本单元。以前面试的时候,我经常也就这样背给面试官了,当自己成为了面试官才发现这些孩子答案为啥都是这个,原来网上大部分的资料也就说了这些呢,直接这样死记硬背当然不行,让我们回到最初的计算机时代。最初的计算机时代是什么样...原创 2021-01-25 14:19:46 · 313 阅读 · 0 评论 -
Swagger天天用,背后原理来一次深度解析
先说一说Springfox和Swagger的关系Swagger 是一种规范。springfox-swagger 是基于 Spring 生态系统的该规范的实现。springfox-swagger-ui 是对 swagger-ui 的封装,使得其可以使用 Spring 的服务。由于工作中遇到需要基于 Swagger Json 做一些处理,但 Swagger Json 的格式不是那么满足需求。本文springfox-swagger版本号:2.6.0本文从问题出发,探索涉及的源码。原创 2021-01-22 14:31:49 · 329 阅读 · 0 评论 -
厉害!基于SpringBoot和Vue的企业级中后台开源项目
简介SmartAdmin由河南·洛阳 1024创新实验室团队研发的一套互联网企业级的通用型中后台解决方案!使用最前沿的前后台技术栈SpringBoot和Vue,前后端分离,我们开源一套漂亮的代码和一套整洁的代码规范,让大家在这浮躁的代码世界里感受到一股把代码写好的清流!同时又让开发者节省大量的时间,减少加班,快乐工作,热爱生活。SmartAdmin 让你从认识到忘不了,绝对是你最想要的!技术体系前端:Vue + Vue-Router + Vuex + ViewUI + vue-enum...原创 2021-01-21 15:30:38 · 395 阅读 · 0 评论 -
面试官:说说什么是单点登录?什么是SSO?什么是CAS?
目录 单点登录简介 SSO&CAS是什么 单点登录适合什么场景 单点登录的三种实现方式 CAS的几个重要知识点 CAS的实现过程 单点登录简介单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录。当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任转载 2021-01-20 21:10:53 · 296 阅读 · 0 评论 -
2021最新互联网大厂面试题JVM+Tomcat+Mysql+Redis+spring助你顺利拿offer!
整体文章思路是围绕着【面试备战计划】来进行整理的,祝大家在金三银四拿到心仪的offer!主体内容包含:职业规划篇,跳槽篇,实操篇,一线大厂面试题篇,以及高频面试必备综合篇 等知识内容。总归一句话:养成一颗奋发的平常心!!目录:-------------------程序员职业规划篇职业分析及定位 职业生涯经验和建议跳槽篇跳槽是为了什么?不为什么? 什么时间 / 状态下跳槽最合适? 跳槽的节奏和路线图应该是怎样的? 造成面试不通过的核心原因,有哪些? 良好的心态和...原创 2021-01-20 14:34:44 · 323 阅读 · 0 评论 -
室友接连拿到3个offer,我难过了一宿
不得不说,今年找工作太太太南了。最近,和不少朋友一起交流,有大一到大四学生的,还有一些想转型做Java的,他们总是有这些疑问。毕业之后,应该找什么工作?现在是不是该系统学一些编程之类的,听说薪资很高?号主您是学Java的吗?是自学的吗?我现在学还来得及吗?字里行间能看出有些人有点担心,觉得:赶上特殊情况,有些公司缩招,找工作竞争增大; 对于学生,竞争人数增加,今年毕业生又增加了40万,达到了874万。不得不说,越是逆境,越不能自乱阵脚,反而需要明确目标,更加努...原创 2020-11-25 16:00:33 · 167 阅读 · 0 评论 -
注解,其实就是这么简单
深入理解注解1、基本介绍基本概念:注解,顾名思义,就是对某一事物进行添加注释说明,会存放一些信息,这些信息可能对以后某个时段来说是很有用处的。Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注(添加某些信息)。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以通过反射的方式获取到标注内容 。 当然它也支持自定义 的Java 标注。注解与注释...原创 2020-10-26 22:36:22 · 808 阅读 · 0 评论